;汇编指令,表示程序将被汇编成能在Intel386系列及以上的计算机上运行
.386
;model flat 表明程序使用保护模式,即程序将使用32位地址,
;c表示改程序可以与c或c++程序进行连接,需要运行在visual C++环境中
.model flat,c
;.stack以十六进制表示堆栈大小,下面表示256字节
.stack 100h
;PROTO指明printf函数的原型
;arg1:Ptr Byte 表明printf语句的参数是一个指向字符串的指针
printf PROTO arg1:Ptr Byte,printlist:VARARG
;和printf相关的库
includelib msvcrt.lib
;数据段
.data
;printf("%s%d\n","the number is:);
msg1fmt byte "%s%d",0Ah,0
;利用“byte”将msg1声明为字符串,0Ah表示“\n”,0表示输出的字符串到此结束
msg1 byte "the number is:",0
;变量number声明为有符号双字类型
number sdword ?
.code
main1 proc
;number=5
mov number,5
;msg1fmt和msg1前面需要加ADDR,因为他们是指向字符串的指针,number不需要,因为它是整型变量
;INVOKE指令类似于调用子程序
INVOKE printf,ADDR msg1fmt,ADDR msg1,number
ret
main1 endp
end
时间: 2024-10-24 11:26:20