1.处理器指令的操作数:表示参与操作对象
具体的常量
保存在寄存器中的数据
保存在存储器的变量
逗号前常是目的操作数,逗号后常是源操作数
mov eax,offset msg
2.伪指令的参数
常量、变量名、表达式等
可以有多个,参数之间用逗号分隔
msg byte’Hello,Assembly !’,13,10,0
3.注释
分号开头,占用一个语句好
对语言没有要求
4.段的简化定义
数据段定义伪指令
.DATA ;创建于一个数据段
代码段定义伪指令
.CODE ;创建一个代码段
堆栈段定义伪指令
.STACK ;创建一个堆栈段
5.程序的开始和结束
程序开始执行的位置
使用一个标号(例如:START)
作为汇编结束END伪指令的参数
应用程序执行终止
语句“EXIT 0”终止程序执行
返回操作系统,并提供一个返回代码(0)
源程序汇编结束
使用END伪指令语句,只是汇编结束
执行终止≠汇编结束
6.模板文件(源程序框架)
;eg0000.asm in Windows Console
include io32.inc ;包含32位输入输出文件
.data ;定义数据段
...... ;数据定义
.code ;定义代码段
start: ;程序执行起始位置
...... ;主程序
exit 0 ;程序执行终止
...... ;子程序
end start ;汇编结束
7.汇编语言的第一个程序
在数据段给出这个字符串形式的信息:
;数据段
msg byte ‘Hello,Assembly!’,13,10,0
;定义要显示的字符串,(13,10)="\n",(,0)=字符串结尾字符
在代码段编写显示字符串的程序
;代码段
mov eax,offset msg ;指定字符串的偏移地址
call dispmsg ;调用I/O子程序显示信息
完整的汇编语言源程序
;eg0101.asm
include io32.inc ;包含32位输入输出文件
.data ;定义数据段
msg byte 'Hello,Assembly!',13,10,0
.code ;定义代码段
start: ;程序执行起始位置
mov eax,offset msg
call dispmsg
exit 0 ;程序执行终止
end start ;汇编结束
8.软件系统
Windows操作系统平台
MASM 6.15汇编程序