读书人

编译语言的简单入门

发布时间: 2013-10-08 17:08:58 作者: rapoo

汇编语言的简单入门

程序的目的:将13个随机数[0-100)存储在数组里面,翻转,输出。

TITLE Write a programINCLUDE Irvien32.inc.dataARRAY_SIZE = 13RAND_MAX = 100HALF_ARRAY_SIZE = ARRAY_SIZE/2rands DWORD ARRAY_SIZE dup(0).codemainPROCmov esi,offset rands       ;address to the randsmov ecx,lengthof rands     ;calculate the size of arrayL1:mov eax,RAND_MAX           ;for random the maxinum numbercall RandomRange           ;call this functionmov [esi],eax    ;set the element that is saved in EAX to [esi]add esi,TYPE rands         ;point to next elementloop L1mov esi,offset rands       ;address to the randsmov ecs,lengthof rands     ;calculate the size of arrayL2:mov eax,[esi]              ;put the [esi] to eax for outputing call writeint              ;outputmov eax,' '                ;output the space call writecharadd esi,TYPE rands         ;point to next pointerloop L2call crlf                  ;next linemov esi,offset rands + 48  ;address to the last elementmov ebx,offset rands       ;address to the first elementmov ecx,HALF_ARRAY_SIZE    ;execute for HALF_ARRAY_SIZE timesL3:mov ebp,[esi]              ;use esp to save the last elementmov esp,[ebx]              ;use esp to save the first elementmov [esi],esp              ;reverse the elememtmov [ebx],ebp              ;sub esi,TYPE rands         ;pointer point the next pointer from the last oneadd ebx,TYPE rands         ;pointer point the next pointer from the first oneloop L3mov esi,offset randsmov ecx,ARRAY_SIZEL4:mov eax,[esi]cal writeintmov eax,' 'call writecharadd esi,TYPE randsloop L4call crlfcall waitmsg              ;output "Press any key to continue..."exitmain ENDPEND main
编译语言的简单入门

读书人网 >汇编语言

热点推荐