构成
- 标号(可选)
- 指令助记符(必须)
- 操作数(必须)
- 注释(可选)
标号(label)
是一种标识符,是指令和数据的位置标记。标号位于指令的前端,表示指令的地址。包含数据标号
和代码标号
。
- 数据标号:和我们说的变量名类似
- 代码标号:和我们说的代码块名类似
示例:
1.数据标号:
count DWORD 100
array DWORD 1024, 2048
DWORD 4096, 8192
注意:array是一个类似于高级语言中的数组,array定义了第一个数字的地址,其他数字在内存中的地址依次排序。
2.代码标号
target:
mov eax, bx
...
jmp target
注:程序代码区的标号必须用冒号:
结束.
指令助记符(instruction mnemonic)
指令就是指表明功能的命令
常用指令助记符:
MOV 传送数据
ADD 两个数值相加
SUB 从一个数值中减去另一个数值
MUL 两个数值相乘
JMP 跳转到一个新位置
CALL 调用一个子程序
操作数
是指令输入输出的数值。操作数的范围是0~3。操作数类型:寄存器
、内存操作数(比如变量)
、整数表达式
和输入输出端口
。
- 目的操作数:是指跟在指令后面的第一个操作数
- 源操作数:是指指令后的从第二个开始的所有操作数
示例:
IMUL EAX, EBX,5 ;EBX 与 5 相乘后复制给寄存器EAX
注释
注释清单:
- 程序目标说明
- 程序创建者名单
- 程序创建或修改日期
- 程序实现技术说明
注释方式:
- 单行注释使用
;
表示 - 多行注释使用
COMMENT + 自定义符号开始和结束
表示
示例:
COMMENT !!
第一行注释
第二行注释
!!
网友评论