1-200求和.asm

来自「1~200连加」· 汇编 代码 · 共 53 行

ASM
53
字号
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
Cap db '1-200之和为:',0
Res db 6 dup(0)
.code
Trans proc p1:DWORD,p2:DWORD
   local  Num
   local  Tem
   local  Temp[265]:BYTE
mov    eax,p1;
mov    Num,eax;
mov    Tem,10
lea    ebx,Temp
xor    ecx,ecx
.while Num
       xor edx,edx
       mov eax,Num
       div Tem
       mov Num,eax
       add dl,48
       mov BYTE PTR[ebx],dl
       inc ebx
       inc ecx
.endw
mov eax,p2
mov BYTE PTR [eax+ecx],0
lea ebx,Temp
.repeat
       mov dl,BYTE PTR [ebx]
       mov BYTE PTR [eax+ecx-1],dl
       inc ebx
.untilcxz
ret              
Trans endp
.code
start:
mov eax,200		;求1-200之和
mov ebx,0		;清零
.while eax
add ebx ,eax		;累加
sub eax,1		;递减
.endw
   invoke Trans,ebx,offset Res
   invoke MessageBox,NULL,offset Res,offset Cap, MB_OK
   invoke ExitProcess,0
end start     

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?