永发信息网

大家帮忙看看这段汇编程序

答案:2  悬赏:10  手机版
解决时间 2021-04-22 16:45
  • 提问者网友:锁深秋
  • 2021-04-21 18:41

.386
.model flat,stdcall
option casemap:none
includelib msvcrt.lib

printf proto c:dword,:vararg


.data
sum DWORD 0
szFmt byte '1+2+3+...+100 = %d', 0ah,0

.code
start:
mov ecx,100
mov eax,1
d10:
ADD sum,eax
inc eax
loop d10
invoke printf,offset szFmt,sum ; 参考 此处调用printf函数
invoke Getch,0
ret
end start

错在那里了,请大虾帮忙纠正

最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-04-21 19:30

.486
.model flat, stdcall
option casemap :none

include \masm32\include\windows.inc
include \masm32\include\user32.inc


includelib \masm32\lib\user32.lib


.data
sum DWORD 0
szFmt byte '1+2+3+...+100 = %d', 0ah,0
szBuf byte 50 dup(0)
.code
start:
mov ecx,100
mov eax,1
d10:
ADD sum,eax
inc eax
loop d10
invoke wsprintf,offset szBuf,offset szFmt,sum
invoke MessageBox,0,offset szBuf,0,MB_OK
ret
end start



用MessageBox来显示输出嘛,上面这个编译执行成功


ps.我的环境变量没有设置,如果你的设置好了,包含头文件的时候把前面的


include \masm32\include\和includelib \masm32\lib\都去掉

全部回答
  • 1楼网友:渊鱼
  • 2021-04-21 20:57

这·······

是汇编,我不懂,不过看着也不完整 啊

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯