4.1.2 汇编语言源程序的编辑与汇编 源程序、汇编程序和目的程序之间的关系如下图所示 汇编(汇编程序) 源程序 目的程序 (汇编语言) 反汇编(汇编程序) (机器语言) 4.汇编语言源程序的编辑 汇编语言源程序一般在微机上借助编辑软件进行编写,可 供使用的编辑工具有许多,如行编辑软件、屏幕编辑软件 等
4.1.2 汇编语言源程序的编辑与汇编 源程序、汇编程序和目的程序之间的关系如下图所示 4.汇编语言源程序的编辑 汇编语言源程序一般在微机上借助编辑软件进行编写,可 供使用的编辑工具有许多,如行编辑软件、屏幕编辑软件 等。 源程序 (汇编语言) 目的程序 (机器语言) 汇编(汇编程序) 反汇编(汇编程序)
常用伪指令简介(一) 1.ORG(Origin)汇编起始指令 ORG是程序汇编起始地址定位伪指令, 功能:是规定对汇编语言源程序进行汇编时,目的程序在程序 存储器中存放的起始地址。 格式:[标号:ORG16位地址或标号 注意:在一个源程序中,可多次使用ORG指令,以规定不同程 序段的起始位置,地址应从小到大顺序排列,不允许重叠。 例如:ORG1000H MOV A,#12H ;该指令的机器码是74H、12H ADDA,#34H;该指令的机器码是24H、34H 在上述源程序中,第一条指令的首字节74H存放到程序存储 器的1000H地址单元中,其他字节和后续指令的数据顺序存 放到后面的存储单元中
常用伪指令简介(一) 1. ORG(Origin)汇编起始指令 ORG是程序汇编起始地址定位伪指令, 功能:是规定对汇编语言源程序进行汇编时,目的程序在程序 存储器中存放的起始地址。 格式:[标号:] ORG 16位地址或标号 注意:在一个源程序中,可多次使用ORG指令,以规定不同程 序段的起始位置,地址应从小到大顺序排列,不允许重叠。 例如: ORG 1000H MOV A,#12H ;该指令的机器码是74H、12H ADD A,#34H ;该指令的机器码是24H、34H 在上述源程序中,第一条指令的首字节74H存放到程序存储 器的1000H地址单元中,其他字节和后续指令的数据顺序存 放到后面的存储单元中
常用伪指令简介(二) 2.END(End)汇编结束指令 END是汇编语言程序结束伪指令。 功能:是表示程序已结束,汇编程序对END后面的指令不再汇 编。 格式:[标号]END 注意:在一个源程序中,只能有一条END指令,而且必须放在 整个程序的末尾
常用伪指令简介(二) 2. END(End)汇编结束指令 END是汇编语言程序结束伪指令。 功能:是表示程序已结束,汇编程序对END后面的指令不再汇 编。 格式:[标号:] END 注意:在一个源程序中,只能有一条END指令,而且必须放在 整个程序的末尾
常用伪指令简介(三) 3.EQU(Equate)赋值指令 EQU是赋值(也称等值)伪指令。 功能:把操作数段中的数据或地址赋值给标号字段中的字符名称 格式:字符名称EQU 数值或汇编符号 注意:字符名称必须先赋值后使用,故EQU指令通常放在源程序 的开头。EQU可定义8位或16位的数据或地址, 例如:ABC EQU30H;AB与30H等值 ACB EQU R3 ;AC与R3等值 MOV A.ABC ;把片内RAM30H单元中的数据送入A中 MOV A.ACB ;把R3中的数据送入累加器A中
常用伪指令简介(三) 3. EQU(Equate)赋值指令 EQU是赋值(也称等值)伪指令 。 功能:把操作数段中的数据或地址赋值给标号字段中的字符名称 。 格式:字符名称 EQU 数值或汇编符号 注意:字符名称必须先赋值后使用,故EQU指令通常放在源程序 的开头。 EQU可定义8位或16位的数据或地址, 例如:ABC EQU 30H ;AB与30H等值 ACB EQU R3 ;AC与R3等值 MOV A,ABC ;把片内RAM30H单元中的数据送入A中 MOV A,ACB ;把R3中的数据送入累加器A中
常用伪指令简介(四) 4.DATA(Data)数据地址赋值指令 DATA是数据地址赋值伪指令。 功能:把操作数段中的表达式的值赋给标号字段中的字符名称。 格式:字符名称DATA 表达式 注意:DATA指令功能与EQU指令类似,它们的主要区别如下: DATA定义的字符名称可以先使用后定义,DATA指令可以放 在源程序的任何位置。 DATA只能用来定义8位的数据或地址。 EQU可以把汇编符号赋给字符名称,而DATA只能把数据赋 给字符名称。 DATA可以把表达式的值赋给字符名称,这个表达式是可以进 行求值运算的
常用伪指令简介(四) 4. DATA(Data)数据地址赋值指令 DATA是数据地址赋值伪指令 。 功能:把操作数段中的表达式的值赋给标号字段中的字符名称。 格式:字符名称 DATA 表达式 注意:DATA指令功能与EQU指令类似,它们的主要区别如下: l DATA定义的字符名称可以先使用后定义,DATA指令可以放 在源程序的任何位置。 l DATA只能用来定义8位的数据或地址。 l EQU可以把汇编符号赋给字符名称,而DATA只能把数据赋 给字符名称。 l DATA可以把表达式的值赋给字符名称,这个表达式是可以进 行求值运算的