0x01第一个汇编程序


;将由text db 10,20,30,40定义的4个数相加,并输出其和。
 .386    ;指明指令集
 .model flat,stdcall ;平坦模式,函数右边的参数先入栈
 option casemap:none ;指明大小写敏感
 
 include masm32includewindows.inc ;windows.inc 包含头文件
 include masm32includeuser32.inc 
 include masm32includekernel32.inc
 include masm32includemasm32.inc
 
 includelib masm32libuser32.lib ;包含库文件
 includelib masm32libkernel32.lib
 includelib masm32libmasm32.lib
 .data 
text db 10,20,30,40  ;定义多个变量
buffer  db 10 dup(0)
szFmt  db '结果是:%d',0
 .code
start:
 xor eax,eax
 mov al,text
 mov bl,text+1
 mov cl,text+2
 mov dl,text+3
 add al,bl
 add al,cl
 add al,dl ;和在eax中
 
 invoke  wsprintf,  ;格式化信息串
   addr buffer, ;信息串格式化后的存放地
            addr szFmt,  ;信息串的格式:'结果是:%d",0
            eax   ;数值和
   
 invoke ClearScreen ;清屏
 invoke locate,10,10 ;光标定位(x,y)
 invoke StdOut,addr buffer  ;显示串
 invoke ExitProcess,NULL  ;中止一个进程,退出代码
 end start

修改.code部分代码

 xor eax,eax
 mov al,text
 add al,text+1
 add al,text+2
 add al,text+3

原文地址:https://www.cnblogs.com/zhuzhuqwa/p/5476432.html