首页 > 编程语言 >汇编延时输出随机数

汇编延时输出随机数

时间:2023-04-03 17:37:43浏览次数:40  
标签:汇编 20 延时 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

;***********************************************************************

 ;TITLE 生成20个随机数

 ;***********************************************************************



 ;***********************************************************************

 ;程序运行平台 

 .386

 .MODEL FLAT,STDCALL

 option casemap:none

 ;***********************************************************************


 ;***********************************************************************

 ;文件包含

 INCLUDE Irvine32.inc

 ;***********************************************************************



 ;***********************************************************************

 ;宏定义

 RANDOM_COUNT=20

 ;***********************************************************************



 ;***********************************************************************

 ;数据段定义

 .data

 rVal dword RANDOM_COUNT dup(0)

 strEnter byte 0dh,0ah,0

 ;***********************************************************************


 ;***********************************************************************

 ;代码段定义

 .code



 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 ;函数定义:生成0-40之间的随机数,然后减去20,变成-20~20之间的随机数,而后

 ;          输出随机数,同时输出换行

 GenerateRandom proc uses ecx eax edx

    mov eax,40      

    call RandomRange

    sub eax,20

    call WriteInt

    ;输出换行

    mov edx, offset strEnter

    call WriteString;

    ret;

 GenerateRandom endp

 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 ;函数定义:延时过程ffff*ffff

 DelayProc proc uses ecx

 mov ecx,0ffffh;

  D2:    

     push ecx

  D1: loopd D1;

     pop ecx;

  loopd D2;

   ret;

 DelayProc endp

 ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++




 main proc

    ;生成随机数种子

    call Randomize 

    ;设置范围

    mov ecx,RANDOM_COUNT

    LProc:    

      call DelayProc; 

      call GenerateRandom

    loopw LProc

    exit

 main endp

 end main

标签:汇编,20,延时,+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: https://blog.51cto.com/u_15995156/6166910

相关文章

  • win32汇编语言学习之二
        对于汇编语言来说win32环境中只有一种类型,那就是32位整数,例如MessageBoxA的四个参数HWND,LPCTSTR,LPCTSTR,UINT之所以定义成不同的摸样主要是为了说明其用途,我们在汇编环境下调用MessageBoxA时,DOS状态下会是这样的:  pushuType  pushlpCaption  pushlpText ......
  • 逆向——C语言的汇编表示之堆栈图 手把手示例 可以考虑在函数内部加一个局部变量来综
    课程概要来自:https://gh0st.cn/Binary-Learning/C%E8%AF%AD%E8%A8%80.html写得非常详细本章课程需要具备汇编语言基础,若无汇编语言基础是无法去理解课程中所讲的一些知识点和技术细节的;同时也表示本课程是以汇编语言来理解C语言,透过本质理解高级语言。关于本节课的环境:VC6,VC6......
  • C语言逆向分析——IF条件语句的反汇编,要熟悉各种if的姿势以及与或非表达式组合
    第四课IF语句的反汇编判断  第四课练习1intplus(intY,intX){intN=t;if(X<Y)t=t+Y;//t=N+yC}voidmain(){plus(5,4);}第五课IF...ELSE...语句的反汇编判断IF…ELSE…语句的反汇编判断:  ......
  • 16 同步与互斥(二) 内联汇编
    汇编参考GCC工具链使用1引入内联汇编即在C函数中使用汇编去实现某些功能。为什么需要在C代码中引入汇编?C语言在大多数的时候效率都很高,但在某些情况下直接使用汇编效率会更加高效部分功能通过C语言很难实现,这部分代码就需要使用汇编去实现(实现某些功能)在C文件中使用汇编......
  • C语言逆向——如何寻找main入口,一个反汇编成C的实战练习
    第二节2.3找程序的入口原文:https://www.showdoc.com.cn/fengxin1225/7054696489361869控制台应用程序的main函数入口在OD中找到以上其他中的函数,然后跟着3个参数的CALL就是main例:———————————————————- 第二节2.4.1逆向并还原为C代码(网上解答)......
  • 11、随机数
    /***@authorly(个人博客:https://www.cnblogs.com/qbbit)*@date2023/4/115:51*@tags喜欢就去努力的争取*/packagemainimport( "fmt" "math/rand" "time")funcmain(){ //随机数 i:=rand.Int() fmt.Println("i:"......
  • 8086汇编计算次方,模块化设计
    就是把dw那一行的每个字的数据,求三次方,然后存到dd那一行assumecs:code,ds:datadatasegment dw1,2,3,4,5,6,7,8 dd0,0,0,0,0,0,0,0;;双字,32位dataendscodesegmentmain: movax,data movds,ax callcul;;放到子程序里计算 movax,4c00h int21hcul:......
  • C语言逆向汇编——参数局部变量、函数堆栈、调用约定和内嵌汇编码
    第一节1.1C语言1、注意参数和局部变量在堆栈中的存储方式2、参数在调用函数前就已经存入堆栈,从[EBP+8]、[EBP+C]、……开始。3、局部变量是在调用函数后,存入缓冲区里,从[EBP-4]、[EBP-8]、……开始4、函数运算得到的结果,通常存在EAX里。        第一......
  • 生产不会重复的随机数
    importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;importjava.util.Random;publicclassMyRandom{......
  • python不借助第三方异步框架如何做异步、定时、延时任务?
    问题python不借助第三方异步框架如何做异步、定时、延时任务?回答在Python中,可以使用标准库中的asyncio模块来实现异步任务、定时任务和延时任务。异步任务:使用asyncio......