1、热能与动力工程热能与动力工程第第3章汇编语言与编程章汇编语言与编程热能与动力工程热能与动力工程汇编语言的由来汇编语言:汇编语言的语句和其语法规则。一、机器指令一、机器指令 机器指令:它是计算机能识别的一组二进制代码,用于指出计算机所要进行的操作以及操作对象,是在设计CPU时,就已确定的编码。例如:1.把数“16”送到寄存器AL中,用下列机器指令实现:10110000 00010000 操作码 操作数热能与动力工程热能与动力工程3.1.1 2.把数把数“4”与寄存器与寄存器AL的内容相加,结果仍放在的内容相加,结果仍放在AL中,中,用下列机器指令实现:用下列机器指令实现:00000100 000
2、00100 操作码操作码 操作数操作数 3.把寄存器把寄存器AL的内容送到地址为的内容送到地址为6的单元中,用下列机器的单元中,用下列机器 指令实现:指令实现:10100010 00000110 00000000 操作码操作码 操作数地址操作数地址 不同的机器操作,由不同的代码指令实现。一个计算不同的机器操作,由不同的代码指令实现。一个计算机能够执行的所有代码指令的集合,就是该计算机的指令机能够执行的所有代码指令的集合,就是该计算机的指令系统。系统。热能与动力工程热能与动力工程3.1.1二、机器语言与机器语言程序 1.1.机器语言:把指令系统及书写代码程序的语法规则机器语言:把指令系统及书写代
3、码程序的语法规则称为机器语言。称为机器语言。2.2.机器语言程序:用机器语言编写的程序称为机器语机器语言程序:用机器语言编写的程序称为机器语言程序。言程序。三、汇编语言 由于机器指令难于使用,人们采用符号代替二进制代码,由于机器指令难于使用,人们采用符号代替二进制代码,于是产生了符号化的汇编语句。例如:于是产生了符号化的汇编语句。例如:机器指令机器指令 汇编语句汇编语句10110000 00010000 MOV AL,1600000100 00000100 ADD AL,4 10100010 00000110 00000000 MOV ADDR6,AL热能与动力工程热能与动力工程3.1.1 四
4、、高级语言 这里仍用相同的两个数的加法运算为例,用机器语言、这里仍用相同的两个数的加法运算为例,用机器语言、汇编语言、高级语言实现的语句如下:汇编语言、高级语言实现的语句如下:机器指令机器指令 汇编语句汇编语句 高级语言高级语言 10110000 00010000 MOV AL,16 00000100 00000100 ADD AL,4 ADDR6=16+4 10100010 00000110 00000000 MOV ADDR6,AL 1.与汇编语言相比,高级语言有两个主要优点:与汇编语言相比,高级语言有两个主要优点:使用方便。易读、易写、易调试,因而容易学习,编使用方便。易读、易写、易调试
5、,因而容易学习,编程速度也快。程速度也快。便于移植。程序很容易从一种计算机换到另一种计算便于移植。程序很容易从一种计算机换到另一种计算机上运行机上运行。热能与动力工程热能与动力工程3.1.1 2.2.与高级语言相比,汇编语言的优点是:与高级语言相比,汇编语言的优点是:效率高。其程序比相同功能的高级语言程序所占的内效率高。其程序比相同功能的高级语言程序所占的内存少,运行速度快。存少,运行速度快。能将计算机的全部功能提供给用户使用。这是因能将计算机的全部功能提供给用户使用。这是因 为为,汇编语言能最直接最充分地描述计算机语言,使汇编语言能最直接最充分地描述计算机语言,使 用汇编语言就是使用机器语言
6、。用汇编语言就是使用机器语言。五、汇编语言的应用领域五、汇编语言的应用领域 要求执行效率高,反应快的领域,如操作系统内要求执行效率高,反应快的领域,如操作系统内核、工业控制、实时系统;核、工业控制、实时系统;系统频繁使用的子程序或程序段;系统频繁使用的子程序或程序段;与硬件资源密切相关的软件开发,如设备驱动程与硬件资源密切相关的软件开发,如设备驱动程序等;序等;受内存容量限制的应用领域,如小型控制仪器、受内存容量限制的应用领域,如小型控制仪器、仪表。仪表。热能与动力工程热能与动力工程3.1.1 汇编语言的源程序格式汇编语言的源程序格式汇编语言源程序由语句序列构成。每条语句一般占一行。分汇编语言
7、源程序由语句序列构成。每条语句一般占一行。分号号(;)后面为注释。后面为注释。源程序可以包含若干个代码段、数据段、附加段或堆栈段。源程序可以包含若干个代码段、数据段、附加段或堆栈段。段与段之间的顺序任意。段与段之间的顺序任意。独立运行的程序必须包含一个代码段,并指示程序执行的起独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点。始点,一个程序只有一个起始点。所有可执行性语句必须位于某一个代码段内,说明语句性语所有可执行性语句必须位于某一个代码段内,说明语句性语句可根据需要位于任一段内。句可根据需要位于任一段内。通常需要一个堆栈段。通常需要一个堆栈段。汇编语言程序结
8、构与汇编语句汇编语言程序结构与汇编语句热能与动力工程热能与动力工程一、简化段定义格式一、简化段定义格式.model small;定义程序的存储模式;定义程序的存储模式.stack 100h ;定义堆栈段;定义堆栈段(默认默认1KB空间空间).data ;定义数据段;定义数据段.;数据定义;数据定义.code ;定义代码段;定义代码段.startup ;程序起点;程序起点.;程序代码;程序代码.exit ;程序结束,返回;程序结束,返回DOS.;子程序等的代码;子程序等的代码end ;汇编结束;汇编结束热能与动力工程热能与动力工程二、二、完整段定义格式完整段定义格式stack segment s
9、tack;定义堆栈段,段名;定义堆栈段,段名stack db 1024 dup(0);分配堆栈段的大小,为;分配堆栈段的大小,为1024字节字节stack ends ;堆栈段结束;堆栈段结束 data segment ;定义数据段,段名;定义数据段,段名data .;数据定义;数据定义data ends ;数据段结束;数据段结束 code segment code ;定义代码段,段名;定义代码段,段名code assume cs:code,ds:data,ss:stack ;确定各个逻辑段的类型;确定各个逻辑段的类型start:mov ax,data ;程序起点;程序起点 mov ds,ax
10、;设置;设置DS指向数据段的段地址指向数据段的段地址 .;程序代码;程序代码 mov ax,4c00h int 21h ;程序结束,返回;程序结束,返回DOS .;子程序等的代码;子程序等的代码code ends ;代码段结束;代码段结束end start ;汇编结束,程序起始点为;汇编结束,程序起始点为start热能与动力工程热能与动力工程3.1.2汇编语言的格式汇编语言的格式 由汇编语言编写的源程序是由许多语句由汇编语言编写的源程序是由许多语句(也可称为汇编指令也可称为汇编指令)组组成的。每个语句由成的。每个语句由14个部分组成,其格式是:个部分组成,其格式是:标号标号 指令助记符指令助记
11、符 操作数操作数 ;注解;注解 1.标识符:标识符:给指令或某一存储单元地址所起的名字。给指令或某一存储单元地址所起的名字。可由下列字符组成:可由下列字符组成:字母:字母:A z;数字:数字:0 9;特殊字符:特殊字符:?、一、一、$。数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符最长为符最长为31个字符。当标识符后跟冒号时,表示是标号。它代表该行个字符。当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符
12、不加冒号。识符不加冒号。2.指令助记符:指令助记符:表示不同操作的指令,表示不同操作的指令,可以是可以是8086的指令助记符,也的指令助记符,也可以是伪指令。可以是伪指令。3.操作数:操作数:指令执行的对象。指令执行的对象。依指令的要求,可能有一个、两个或者依指令的要求,可能有一个、两个或者没有。没有。4.注解:注解:该项可有可无,是为源程序所加的注解,用于提高程序的可读该项可有可无,是为源程序所加的注解,用于提高程序的可读性。性。热能与动力工程热能与动力工程一、常量、变量和标号一、常量、变量和标号常量表示一个固定的数值常量表示一个固定的数值变量实质上是指内存单元的数据变量实质上是指内存单元的
13、数据名字名字(变量名或子程序名等变量名或子程序名等)和标号具有逻辑地址和和标号具有逻辑地址和类型的属性类型的属性热能与动力工程热能与动力工程1、常量、常量常数:由各种进制表示的数值。默认为十进制。可用伪指令常数:由各种进制表示的数值。默认为十进制。可用伪指令.RADIX改变。改变。.RADIX n;n为为216间的数值间的数值字符串:用单引号或双引号括起来的单个或多个字符,其数值是每个字符对字符串:用单引号或双引号括起来的单个或多个字符,其数值是每个字符对应的应的ASCII码。码。符号常量:用标识符表达一个数值。符号常量:用标识符表达一个数值。符号名符号名 EQU 数值表达式数值表达式符号名符
14、号名 EQU 符号名符号名 数值表达式数值表达式EQU不能重复定义符号名,不能重复定义符号名,“”则允许。则允许。数值表达式:由运算符连接的各种常量所构成的表达式。数值表达式:由运算符连接的各种常量所构成的表达式。算术运算符:、算术运算符:、*、/、MOD逻辑运算符:逻辑运算符:AND、OR、XOR、NOT移位运算符:移位运算符:SHL、SHR关系运算符:关系运算符:EQ、NE、GT、LT、GE、LE热能与动力工程热能与动力工程2、变量、变量变量的定义:变量的定义:变量名变量名 伪指令伪指令 初值表初值表变量名表示初值表首元素的逻辑地址。可以没有变量名。变量名表示初值表首元素的逻辑地址。可以没
15、有变量名。初值表是用逗号初值表是用逗号(,)分割的参数,由常量或分割的参数,由常量或“?”组成。组成。多个存储单元如果初值相同,可用多个存储单元如果初值相同,可用DUP操作符定义。操作符定义。重复次数重复次数 DUP(重复参数重复参数)变量定义伪指令:变量定义伪指令:DB、DW、DD、DF、DQ、DT。字符串的定义要用字符串的定义要用DB。可以用定位伪指令控制数据或指令的偏移地址。可以用定位伪指令控制数据或指令的偏移地址。ORG 参数;由参数指定的偏移地址开始存放数据或指令参数;由参数指定的偏移地址开始存放数据或指令EVEN ;由偶地址开始存放数据或指令;由偶地址开始存放数据或指令ALIGN
16、n ;由;由n的整数倍地址开始存放数据或指令的整数倍地址开始存放数据或指令符号符号“$”表示当前的偏移地址表示当前的偏移地址热能与动力工程热能与动力工程3、标号、标号是某条指令所存放单元的符号地址,只能在代码段中。是某条指令所存放单元的符号地址,只能在代码段中。与变量类似与变量类似有有NEAR和和FAR2种类型种类型热能与动力工程热能与动力工程二、运算符和表达式二、运算符和表达式 在表达式中,运算符充当着重要的角色。在表达式中,运算符充当着重要的角色。8086宏汇编宏汇编有有算术运算符、逻辑运算符、关系运算符、数值回送操作算术运算符、逻辑运算符、关系运算符、数值回送操作符符和和属性操作符属性操
17、作符共共5种。种。数值回送数值回送(Value_returning)操作符可以把一些特征操作符可以把一些特征或存储器地址的一部分作为数值回送。共有或存储器地址的一部分作为数值回送。共有5个:个:SEG(求求段基值段基值)、OFFSET(求偏移量求偏移量)、TYPE(求变量类型求变量类型)、LENGTH(求字节数求字节数)和和SIZE(求字节数求字节数)。其中。其中LENGTH和和SIZE只对数据存储器地址操作数有效。只对数据存储器地址操作数有效。属性操作符可以用来建立和临时改变变量或标号的类属性操作符可以用来建立和临时改变变量或标号的类型以及存储器操作数的存储单元类型,而忽略当前的属性。型以及
18、存储器操作数的存储单元类型,而忽略当前的属性。共有共有6个:个:PTR、段属性前缀、段属性前缀、SHORT、THIS、HIGH和和LOW。热能与动力工程热能与动力工程3.4.3一)、算术运算符及移位运算符 1.*1.*,/,MODMOD,SHLSHL,SHRSHR 形式:数据形式:数据1*1*数据数据2 2或数据或数据1/1/数据数据2 2 *与与 /是一般乘除法。是一般乘除法。形式:数据形式:数据1 MOD 1 MOD 数据数据2 2 其值为数据其值为数据1/1/数据数据2 2的余数。的余数。形式:数据形式:数据1 SHL 1 SHL 数据数据2 2 其值为数据其值为数据1 1左移数据左移数
19、据2 2位的值。位的值。形式:数据形式:数据1 SHR 1 SHR 数据数据2 2 其值为数据其值为数据1 1右移数据右移数据2 2位的值。位的值。热能与动力工程热能与动力工程3.4.3 2.+2.+,-+,-为一般的加、减法。为一般的加、减法。算术运算符应用于数字数据,结果也是数字。算术运算符应用于数字数据,结果也是数字。当算术运算符应用于存储器即地址数据时,其规当算术运算符应用于存储器即地址数据时,其规则就更加严格:只有当结果有明确的、有意义的物理则就更加严格:只有当结果有明确的、有意义的物理解释时,这些运算才有效的。解释时,这些运算才有效的。二)、关系运算符 形式:数据形式:数据1 EQ
20、 1 EQ 数据数据2 2 判断数据判断数据1 1 等于等于 数据数据2 2?形式:数据形式:数据1 NE 1 NE 数据数据2 2 判断数据判断数据1 1 不等于不等于 数据数据2 2?热能与动力工程热能与动力工程3.4.3 形式:数据形式:数据1 LT 1 LT 数据数据2 2 判断数据判断数据1 1 小于小于 数据数据2 2?形式:数据形式:数据1 LE 1 LE 数据数据2 2 判断数据判断数据1 1 小于等于小于等于 数据数据2 2?形式:数据形式:数据1 GT 1 GT 数据数据2 2 判断数据判断数据1 1 大于大于 数据数据2 2?形式:数据形式:数据1 GE 1 GE 数据数
21、据2 2 判断数据判断数据1 1 大于等于大于等于 数据数据2 2?关系运算符的两个数据,或者都是关系运算符的两个数据,或者都是 数字的,或数字的,或 者是同一段的存储器地址。者是同一段的存储器地址。热能与动力工程热能与动力工程伪指令伪指令用来对汇编程序进行控制,对程序中的数据实伪指令用来对汇编程序进行控制,对程序中的数据实现条件转移、列表、存储空间分配等处理,其格式现条件转移、列表、存储空间分配等处理,其格式和汇编指令一样,但一般不产生目的代码,即不直和汇编指令一样,但一般不产生目的代码,即不直接命令接命令CPU去执行什么操作。去执行什么操作。亦即它不像机器指令那样是在程序运行期间由亦即它不
22、像机器指令那样是在程序运行期间由计算机来执行的,而是在汇编程序对源程序汇编期计算机来执行的,而是在汇编程序对源程序汇编期间由汇编程序处理的操作。间由汇编程序处理的操作。热能与动力工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令5.定义过程的伪指令定义过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令
23、5.定义过程的伪指令定义过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程定义数据伪指令定义数据伪指令该类伪指令用来定义存贮空间及其所存数据的长该类伪指令用来定义存贮空间及其所存数据的长度。度。DB:定义字节,即每个数据是:定义字节,即每个数据是1个字节。个字节。DW:定义字,即每个数据占:定义字,即每个数据占1个字(个字(2个字节)。个字节)。DD:定义双字,即每个数据占:定义双字,即每个数据占2个字。低字部分个字。低字部分在低地址,高字部分在高地址。在低地址,高字部分在高地址。DQ:定义:定义4字长,即每个数据占字长,即每个
24、数据占4个字。个字。DT:定义:定义10个字节长,用于压缩式十进制数据。个字节长,用于压缩式十进制数据。例如:例如:DATA1 DB 10H,6,78H,100表示从表示从DATA1单元开始连续存放单元开始连续存放10H,6,78H,100,共占,共占4个字节地址。个字节地址。热能与动力工程热能与动力工程定义数据伪指令定义数据伪指令DATA1DB20HDATA2DW0240H,1000HDATA3DB(-1*3),(15/5)DATA4DD12345HDATA5DB0123DATA6DWAB,C,DDATA7DB?DATA8DD?DATA9DB5DUP(00)DATA10DW3DUP(?)热能
25、与动力工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令5.定义过程的伪指令定义过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程符号定义伪指令符号定义伪指令EQU伪指令给符号定义一个值。在程序中,凡是伪指令给符号定义一个值。在程序中,凡是出现该符号的地方,汇编时均用其值代替,如:出现该符号的地方,汇编时均用其值代替,如:COUNT EQU 100;COUNT代替常数代替常数100SUMEQU 30*25;SUM代替数值表达式代替
26、数值表达式CEQU CX;C代替寄存器代替寄存器CXMEQU MOV;M代替指令助记符代替指令助记符MOV 需要注意的是,一个符号一经需要注意的是,一个符号一经EQU伪指令赋值后,伪指令赋值后,在整个程序中,不允许再对同一符号重新赋值。在整个程序中,不允许再对同一符号重新赋值。热能与动力工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令5.定义过程的伪指令定义过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程段定义伪指令段定义伪指
27、令 段定义伪指令的用途是在汇编语言程序段定义伪指令的用途是在汇编语言程序中定义逻辑段,用它来指定段的名称和范围,中定义逻辑段,用它来指定段的名称和范围,并指明段的定位类型、组合类型及类别。常并指明段的定位类型、组合类型及类别。常用的段定义为指令有用的段定义为指令有SEGMENT和和ENDS。段名段名 SEGMENT 定位类型定位类型 组合类型组合类型 类类别别 (段内语句系列)(段内语句系列)段名段名 ENDS热能与动力工程热能与动力工程段定义伪指令段定义伪指令DATA1 SEGMENT DATA1 ENDSSTACK1 SEGMENT STACK STACK1 ENDSCODE1 SEGME
28、NT ASSUME CS:CODE1,DS:DATA1,SS:STACK1 MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX CODE1 ENDS热能与动力工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令5.定义过程的伪指令定义过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程设定段寄存器伪指令设定段寄存器伪指令 设定段寄存器伪指令用来通知汇编程序设定段寄存器伪指令用来通知汇编程序哪一个段
29、寄存器是该段的段寄存器,以便对哪一个段寄存器是该段的段寄存器,以便对使用变量或标号的指令汇编出正确的目的代使用变量或标号的指令汇编出正确的目的代码。常用的段定义为指令有码。常用的段定义为指令有ASSUME。ASSUME 段寄存器:段名段寄存器:段名,段寄存器:段,段寄存器:段名,名,注意:由于注意:由于ASSUME伪指令只指明某一个段伪指令只指明某一个段地址应存于哪一个段寄存器中,并没有包含地址应存于哪一个段寄存器中,并没有包含将段地址送入该寄存器的操作。因此要将真将段地址送入该寄存器的操作。因此要将真实段地址装入段寄存器还需用汇编指令来实实段地址装入段寄存器还需用汇编指令来实现。这一步是不可
30、缺少的。现。这一步是不可缺少的。热能与动力工程热能与动力工程设定段寄存器伪指令设定段寄存器伪指令DATA1 SEGMENT DATA1 ENDSSTACK1 SEGMENT STACK STACK1 ENDSCODE1 SEGMENT ASSUME CS:CODE1,DS:DATA1,SS:STACK1 MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX CODE1 ENDS热能与动力工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令5.定义过程的伪指令定义
31、过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程定义过程伪指令定义过程伪指令 在程序设计中,可将具有一定功能的程序段在程序设计中,可将具有一定功能的程序段看成为一个过程看成为一个过程(相当于一个子程序相当于一个子程序),它可以被别,它可以被别的程序调用。一个过程由伪指令的程序调用。一个过程由伪指令PROC和和ENDP来来定义。定义。过程名过程名 PROC 类型类型 过程体过程体 RET 过程名过程名 ENDP 其中过程名是为过程所起的名称,不能省略,其中过程名是为过程所起的名称,不能省略,过程的类型由过程的类型由FAR(远过程
32、,为段间调用)和(远过程,为段间调用)和NEAR(近过程,在本段内调用)来确定,如果缺(近过程,在本段内调用)来确定,如果缺省类型,则该过程就默认为近过程。省类型,则该过程就默认为近过程。ENDP表示过表示过程结束。过程体内至少应有一条程结束。过程体内至少应有一条RET指令,以便返指令,以便返回被调用处。过程可以嵌套,也可以递归使用。回被调用处。过程可以嵌套,也可以递归使用。热能与动力工程热能与动力工程定义过程伪指令定义过程伪指令DELAYPROC MOV BL,10DELY:MOV CX,2801WAIT:LOOPWAIT DEC BL JNZ DELY RETDELAYENDP 热能与动力
33、工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令5.定义过程的伪指令定义过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程宏指令宏指令 在汇编语言书写的源程序中,若有的程序段要在汇编语言书写的源程序中,若有的程序段要多次使用,为了简化程序书写,该程序段可以用一多次使用,为了简化程序书写,该程序段可以用一条宏指令来代替,而汇编程序汇编到该宏指令时,条宏指令来代替,而汇编程序汇编到该宏指令时,仍会产生源程序所需的代码。仍会产生源程序
34、所需的代码。宏指令的一般格式为:宏指令的一般格式为:宏指令名宏指令名 MACRO 形式参量表形式参量表 宏体宏体 ENDM 例如:例如:SHIFT MACROMOV CL,4SAL AL,ClENDM 热能与动力工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令5.定义过程的伪指令定义过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程ORG伪指令伪指令ORG伪指令规定了在某一段内,程序或数据代码存放伪指令规定了在某一段内,程序或数
35、据代码存放的起始偏移地址。的起始偏移地址。一般格式:一般格式:ORG 例如:例如:DATASEGMENT BUFF1 DB23,56H,EOF ORG2000H BUFF2 DBSTRING DATAENDS 热能与动力工程热能与动力工程1.定义数据伪指令定义数据伪指令2.符号定义伪指令符号定义伪指令3.段定义伪指令段定义伪指令4.设定段寄存器伪指令设定段寄存器伪指令5.定义过程的伪指令定义过程的伪指令6.宏指令宏指令7.ORG伪指令伪指令8.汇编结束伪指令汇编结束伪指令END热能与动力工程热能与动力工程汇编结束伪指令汇编结束伪指令END 该伪指令表示源程序的结束令汇编程序停该伪指令表示源程序的结束令汇编程序停止汇编。因此,任何一个完整的源程序均应有止汇编。因此,任何一个完整的源程序均应有END指令。指令。一般格式:一般格式:END 表达式表达式其中表达式表示该汇编程序的启动地址。例如:其中表达式表示该汇编程序的启动地址。例如:END START ;表明该程序的启动地址为;表明该程序的启动地址为START。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100