马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ; by 小甲鱼, http://www.fishc.com
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ; 功能:高级语法while-endw的使用,累加1到100的和。
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- .386
- .model flat,stdcall
- option casemap:none
- include windows.inc
- include user32.inc
- include kernel32.inc
- includelib user32.lib
- includelib kernel32.lib
- .data
- a db 100 dup(0)
- buffer db 100 dup(0)
- CapMsg db '输出', 0
- szFmt db '结果是:%d', 0
- i db 1
- sum db 0
- .code
- start:
- mov edi, 0
- .while( i <= 100 )
- mov al, i
- mov a[edi], al
- inc i
- inc edi
- .endw
-
- mov i, 0
- mov edi, 0
- .while( i < 100 )
- mov al, a[edi]
- add sum, al
- inc i
- inc edi
- .endw
-
- xor eax, eax
- mov al, sum
-
- invoke wsprintf, ; 格式化字符串输出函数,有点类似 printf
- addr buffer, ; 存放字符串的缓冲区
- addr szFmt, ; 格式化输出的格式
- eax
-
- invoke MessageBox,
- NULL,
- offset buffer,
- offset CapMsg,
- MB_OK
-
- invoke ExitProcess, 0 ; 结束进程
-
- end start
复制代码
以上代码计划求从1加到100的和,但实现后确实这样的结果:
请思考后改正并校对回复校对正确答案:
|