您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第4章 汇编语言程序格式
第4章汇编语言程序格式(上)主讲:陈林第4章汇编语言程序格式讲授要点汇编语言程序的开发过程。常用伪指令与操作符。汇编语言源程序的基本框架。4.6汇编语言程序的开发开发过程源程序的编辑。源程序的汇编。目标文件的连接。可执行文件的运行。可执行文件的调试。什么是伪指令?地址计数器定义注意:1、在缺省情况下,段的偏移地址从0开始。2、指令序列出现在段开始的情况汇编语言语句语句格式(1)语句的书写形式:名字助记符操作数;注释(2)说明(MASM):•大小写无关。•每条语句必须占1行,但可以使用续行符“\”。•为了提高可读性,应该使各个域对齐。变量与标号的3种属性:段地址、偏移地址、类型。变量的类型:BYTE(字节)、WORD(字)、DWORD(双字)地址表达式的基本形式为:变量名或标号名±常数变量、标号与地址表达式注意:$基本伪指令处理器选择伪指令在缺省方式下,MASM只承认8086指令。为了使用更高的CPU指令,必须使用处理器选择伪指基本伪指令段定义伪指令段定义基本形式:段名SEGMENTSTACKUSE16语句序列段名ENDS基本伪指令符号定义伪指令基本形式:符号名EQU表达式符号名=常数表达式功能:给表达式指定一个等价的符号名。注意:(1)=后的表达式只能是常数(2)EQU后的表达式可以是数值、字符串、寄存器名、指令助记符等。(3)EQU不能重复定义,而=可重复定义。基本伪指令变量定义伪指令1、作用2、形式:变量名变量定义符操作数表列重复次数DUP操作数表列其中,变量名是一个符号地址,表示其后操作数的首地址,变量名为可选项,给出变量名只是为了按名存取其对应的内存单元。基本伪指令说明:(1)变量可以定义在任何段(包括代码段),但一般定义在数据段。(2)用DW/DD/DQ/DF/DT定义的数据在内存按“低字节在低地址”的方式存放。例如:(3)当DW与DD后的操作数是地址表达式时,分别表示其16位偏移地址和32位分段地址(段地址在高字,偏移地址在低字)。例如:(4)MASM是强类型的。基本伪指令5.LABEL基本形式:名字LABEL类型功能:将名字作为一个符号地址,指定其类型,地址由所在位置确定。然而,并不为名字分配内存空间。说明:当类型是BYTE、WORD、DWORD时,名字作为相应类型的变量;当类型是NEAR或FAR时,名字作为相应类型的标号。【例】定义地址相同、类型不同的两个变量。balabelbytewadw50dup(?)基本伪指令ASSUME基本形式:ASSUME段寄存器名:段名,...,段寄存器名:段名功能:明确指出段与段寄存器的缺省对应关系,即告诉MASM某个段的段地址在哪个段寄存器里。这样,汇编器会根据变量所在的段,必要时自动插入段超越前缀。4.3基本伪指令6.源程序结束伪指令基本形式:END地址功能:表示汇编语言源程序到此结束,对END之后的语句不再进行汇编。可选的地址指出程序执行的起始点,通常是标号或过程名。若程序包含多个源文件,则每个源文件的最后必须有一条END语句,但只有主模块文件可以指出执行的起始地址。
本文标题:第4章 汇编语言程序格式
链接地址:https://www.777doc.com/doc-3095214 .html