汇编基础--标识符、标号、伪指令和指令
注:本⽂是以MASM的语法格式为基础的,⼤部分内容参考《Intel汇编语⾔程序设计第五版》
1、标识符
汇编语言要什么基础 标识符是程序员⾃⼰定义的名字,⽤来标识变量、常量、过程或代码标号。创建标识符时要注意:
1)标识符可以包含1~247个字符;
2)标识符⼤⼩写不敏感(MASM默认不敏感);
3)标识符的第⼀个字符必须是字母、下划线、@、?或$,后续字符可以是数字;
4)标识符不能与汇编器的保留字相同。
在汇编时,可以使⽤命令⾏的 -Cp选项来使所有关键字和标识符⼤⼩写敏感。
2、标号
标号是充当指令或数据位置标记的标识符。放置在⼀条指令之前的标号表明了该指令的地址,类似的,房⼦在变量之前的标号表明了该变量的地址。
1)数据标号:
数据标号标识了变量的地址,为在代码中引⽤该变量提供了⽅便,如:
count DWORD 100;定义了⼀个名为count的变量
2)代码标号:
程序代码区中的标号必须以冒号(:)结尾。代码标号通常⽤作跳转和循环指令的⽬标地址,如:
loop:
jmp loop ;跳到loop处执⾏代码,这是⼀个死循环
代码标号可以与指令在同⼀⾏也可以独⾃成⼀⾏。
3、伪指令
伪指令是内嵌在程序源代码中,由汇编器识别并执⾏相应动作的命令。与真正的指令不同,伪指令在程序运⾏时并不执⾏。伪指令可⽤于定义变量、宏以及过程,可⽤于命名段以及执⾏许多其他与汇编器相关的簿记任务。MASM中伪指令⼤⼩写不敏感,.data和.DATA是等价的。每个汇编器都有⼀套不
同的伪指令,例如,TASM以及NASM和MASM的伪指令有⼀个公共的交集,⽽GNU汇编器与MASM的伪指令⼏乎完全不同。
4、指令
汇编语句中的指令是⼀条汇编语句。⼀条汇编指令包含四个基本部分:标号、指令助记符(操作码)、操作数(0个或多个)、注释。其中,标号和注释是可选的。
1)标号:见第2条;
2)指令助记符:⽤于辅助记忆,如 MOV、SUB等;
3)操作数:
4)注释:以分号(;)字符开始,分号后的内容为注释内容,汇编器会忽略同⼀⾏上分号后⾯所有的内容;
另外:在 as86汇编中,也可以使⽤感叹号(!)作为注释标志;
在 AT&T汇编中,使⽤井号(#)作为注释标志。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论