清华大学出版社TSINGHUA UNIVERSITYPRESS(续1)5.1.2 汇编语言程序的格式汇编语言语句格式[名字]→助记符→[操作数]→[;注释](1)名字项:用户定义的名字项必须以字母带头的字符集中的字符序列。字符集是汇编语言允许的字母、数字和其他符号的集合。名学项用来标识段名、子程序名、宏指令名、标号、变量名和常量名等。(2)段名:段名代表相应段的段地址(3)子程序名:根据调用指令和被调用子程序所处的代码段的位置,子程序分为近调用子程序和远调用子程序。若调用指令和被调用子程序处于同一代码段,则该子程序为近调用子程序,近调用子程序指示子程序代码并始所处的偏移地址;若调用指令和被调用子程序处于不同的代码段,则该子程序为远调用子程序,远调用子程序指示子程序代码开始所处的段地址和偏移地址。上一页
[名字]→助记符→[操作数]→[;注释] ⑴名字项:用户定义的名字项必须以字母带头的字符集中 的字符序列。字符集是汇编语言允许的字母、数字和其 他符号的集合 。名字项用来标识段名、子程序名、宏指 令名、标号、变量名和常量名等。 ⑵段名:段名代表相应段的段地址, ⑶子程序名:根据调用指令和被调用子程序所处的代码段 的位置,子程序分为近调用子程序和远调用子程序。若 调用指令和被调用子程序处于同一代码段,则该子程序 为近调用子程序,近调用子程序指示子程序代码开始所 处的偏移地址;若调用指令和被调用子程序处于不同的 代码段,则该子程序为远调用子程序,远调用子程序指 示子程序代码开始所处的段地址和偏移地址。 汇编语言语句格式 上一页 5.1.2 汇编语言程序的格式(续1)
清华大学出版社TSINGHUA UNIVERSITYPRESS(续2)汇编语言程序的格式5.1.2汇编语言语句格式(4)标号:标号是一个用“:”引入的名字,代表所标识语句对应指令的开始地址,用来标识程序的转移目标。(5)常量名:常量名是用符号标识的常量,它用作指令中立即数、存储器操作数的部分偏移地址及初值。常量名通过伪指令定义。(6)变量名:变量名是存储器中一个数据或数据区的符号表示,代表数据或数据区的起始地址。变量名通过伪指令定义,它具有段、偏移地址和类型三个基本属性,上一页
⑷标号:标号是一个用“ : ”引入的名字,代表所标识语 句对应指令的开始地址,用来标识程序的转移目标。 ⑸常量名:常量名是用符号标识的常量,它用作指令中立 即数、存储器操作数的部分偏移地址及初值。常量名通 过伪指令定义。 ⑹变量名:变量名是存储器中一个数据或数据区的符号表 示,代表数据或数据区的起始地址。变量名通过伪指令 定义,它具有段、偏移地址和类型三个基本属性。 上一页 5.1.2 汇编语言程序的格式(续2) 汇编语言语句格式
清华大学出版社TSINGHUA UNIVERSITYPRESS(续3)汇编语言程序的格式5.1.2等值定义语句区2.程序格式:汇外部说明语句区编语言程序的堆栈段名SEGMENT逻辑堆機段用变量定义预置的堆栈空间基本格式如右ENDS堆栈段名图:逻辐数据段数据段名SEGVENT用变量定义和预置的数据空间一个汇编语言程序至数据段名ENDS少有一个代码段,整个程序必须以一--条END伪指令结束其他定义区域根据代码段名 SEGMENT需要设置,可有可逻辑代码段ASSUIVE定义的寻址关系无。程序体上一页代码段名ENDSEND程序体起始标号
⒉程序格式 :汇 编语言程序的 基本格式如右 图: 5.1.2 汇编语言程序的格式 (续3) 上一页 一个汇编语言程序至 少有一个代码段, 整个程序必须以一 条END伪指令结束。 其他定义区域根据 需要设置,可有可 无
清华大学出版社TSINGHUAUNIVERSITYPRESS5.1.3伪指令伪指令经汇编后不产生CPU可执行的指令,它是在汇编期间处理的操作,主要用于数据定义、存储器分配、指示程序结束等指示性功能。1.等值定义:在编写程序时,有时会在多处出现同一个表达式,为了方便起见,我们可以用等值定义伪指令定义一个名字来表示这个表达式。等值定义伪指令的格式为:名字EQU数值表达式或符号名上一页
伪指令经汇编后不产生CPU可执行的指令,它是在汇 编期间处理的操作,主要用于数据定义、存储器分配、 指示程序结束等指示性功能。 ⒈等值定义:在编写程序时,有时会在多处出现同一 个表达式,为了方便起见,我们可以用等值定义伪指令 定义一个名字来表示这个表达式。 等值定义伪指令的格式为: 名字 EQU 数值表达式或符号名 5.1.3 伪指令 上一页
清华大学出版社TSINGHUA UNIVERSITYPRESS伪指令(续1)5.1.32.外部说明语句区:外部说明用于解决多模块之间的连接问题实现多模块之间的变量和过程的共享。模块之间的变量的访问涉及PUBLIC和EXTRN两条伪指令。(1)全局标识符说明:当多个程序模块应用同一个标识符时,这个标识符称为全局标识符。在说明这个标识符模块时,应用PUBLIC伪指令加以说明。PUBLIC的格式为:标识符NPUBLIC标识符1I,标识符2,(2)外部标识符说明伪指令:当一个模块要引用其他模块说明的标识符时,应用EXTRN伪指令说明。EXTRN的格式为:EXTRN标识符1:类型[,标识符2:类型,....,标识符N:类型说明语句中各标识符的类型,必须和该标识符说明时的类型一致。上一页
⒉外部说明语句区:外部说明用于解决多模块之间的连接问题, 实现多模块之间的变量和过程的共享。模块之间的变量的访问涉及 PUBLIC和EXTRN两条伪指令。 ⑴全局标识符说明:当多个程序模块应用同一个标识符时,这个 标识符称为全局标识符。在说明这个标识符模块时,应用PUBLIC 伪指令加以说明。 PUBLIC的格式为: PUBLIC 标识符1[,标识符2,.,标识符N] ⑵外部标识符说明伪指令:当一个模块要引用其他模块说明的标 识符时,应用EXTRN伪指令说明。 EXTRN的格式为: EXTRN 标识符1:类型[,标识符2:类型,.,标识符N:类型] 说明语句中各标识符的类型,必须和该标识符说明时的类型一致。 5.1.3 伪指令(续1) 上一页