MASM符号

上传人:206****923 文档编号:41698705 上传时间:2018-05-30 格式:DOC 页数:19 大小:110KB
返回 下载 相关 举报
MASM符号_第1页
第1页 / 共19页
MASM符号_第2页
第2页 / 共19页
MASM符号_第3页
第3页 / 共19页
MASM符号_第4页
第4页 / 共19页
MASM符号_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《MASM符号》由会员分享,可在线阅读,更多相关《MASM符号(19页珍藏版)》请在金锄头文库上搜索。

1、MSAM 符号全集符号全集“ “教材符号 +、-、*、/算术运算符。 对于字乘法, (AX)*(源操作数)- AX 和 DX; 若结果的高半部分(AH 或 DX,对应字节和字)是低半部分的符号扩展, 则 CF0,OF0; 否则,CF1,OF1,表示在 AH(对于字节)或 DX(对于字)中包含结果的有效值。 IN指令助记符输入。允许把一个字或字节由输入端口(port)传送到 AX 或 AL。端口地址可以用直 接寻址(IN AL n) ,也可用 DX 间接寻址(IN AL,DX) 。8 位地址直接寻址,可寻址 256 个端口;DX 间接寻 址,可寻址 64K 个端口。 INC 指令助记符加 1。

2、操作数可以是寄存器或存储器单元,但不能是段寄存器或立即数。状态标志 CF 不受影响。 INCLUDE 伪指令。当宏汇编程序汇编到 INCLUDE 伪指令时,立即打开 INCLUDE 指示的文件,并把它 汇编到当前的源文件中去,直到该文件被汇编结束,汇编程序继续汇编 INCLUDE 伪指令之后的语句。 INCLUDE 可以嵌套。 INT 指令助记符中断调用。操作数是用户定义的中断类型,它可以实现 256 种不同的中断。当指令 执行时,首先将标志寄存器内容进栈,清除 IF 和 TF 标志并将当前 CS 内容进栈;然后将中断类型乘以 4 ,得 到中断向量地址;最后取中断向量的第二个字送 CS,将 I

3、P 进栈,取中断向量的第一个字送 IP。由于 CS:IP 指 向中断服务程序,因此可以实现指定中断类型的段间调用。 INTO指令助记符溢出中断。只有 OF1 时才进入溢出中断(IF 和 TF 被改为 0) 。 IPInstruction Pointer,控制寄存器指令指针寄存器。用来存放代码段中指令的偏移地址。在程序运行 的过程中,它始终指向下一条指令的首地址。它与 CS 联用,确定下一条要执行的指令的物理地址。IP 寄存器 不能用于算术运算,也不能直接存取,但可以用控制转移指令加以改变。 IRET指令助记符中断返回。执行该指令时,从栈中退出三个 16 位的值,分别送 IP、CS 和标志寄存

4、器。 IRP 宏指令重复块(以 ENDM 结束) 。IRP 形参,实参 1,实参 2, 这种宏指令用于带立即 数的伪操作。实参是用户指定的立即数,它的个数就是重复的次数,每重复一次,就用一个实参代替形参。 IRPC宏指令重复块(以 ENDM 结束) 。IRPC 形参,字符串这种宏指令用于带字符串的重复伪操作。 重复次数由字符串中字符个数确定。每次重复,依次用字符串中的一个字符替代形参,直到字符替代完毕。 JA 无符号数条件转移指令助记符(无符号数比较)高于转移(等价 JBE) 。CF0,且 ZF0 则转 移(段内直接短转移) 。 JAE 无符号数条件转移指令助记符(无符号数比较)高于或等于转移

5、(等价 JNB) 。CF0, 或 ZF1 则转移(段内直接短转移) 。 JB 无符号数条件转移指令助记符(无符号数比较)低于转移(等价 JNAE) 。CF1, 且 ZF0 则 转移(段内直接短转移) 。 JBE 无符号数条件转移指令助记符(无符号数比较)低于或等于转移(等价 JNA) 。CF1 或 ZF1 则转移。 JC 简单条件转移指令助记符有进位转移。CF1 则转移(段内直接短转移,产生 8 位的位移量, 即转移地址的偏移量在128 到127 之间) 。 JCXZ指令助记符条件转移。 (CX)0, 则转移(段内直接短转移?) 。 JE 简单条件转移指令助记符(两数比较)相等转移(同 JZ)

6、 。前次操作结果为 0,ZF1 则转移 (段内直接短转移) 。 JG有符号数条件转移指令助记符(有符号数比较)大于转移(等价 JNLE) 。SF 和 OF 同号,且 ZF0 时转移。 (段内直接短转移) JGE 有符号数条件转移指令助记符(有符号数比较)大于或等于转移(等价于 JNL) 。 当 SF 和 OF 同号,或 ZF1, 则转移(段内直接短转移) 。 JL 有符号数条件转移指令助记符(有符号数比较)小于转移(等价于 JNGE) 。当 SF 和 OF 异号, 且 ZF0 时转移(段内直接短转移) 。 JLE 指令助记符(有符号数比较)小于或等于转移(等价于 JNG) 。当 SF 和 OF

7、 异号或 ZF1 时转 移(段内直接短转移) 。 JMP 指令助记符无条件转移。无条件转移到指令所指示的目标地址,并从该地址开始执行。目标地 址可以从指令中直接得到,也可以从指令中给定的寄存器或存储器中得到。 一、段内直接短转移 JMP SHORT 标号。标号是转移的目的地址,由它确定一个 8 位位移量。这个位移量 被加到 IP 寄存器中。位移量是一个带符号数,负数表示向前转移,正数表示向后转移。转移范围是128 至 127。 二、段内直接近转移 JMP NEAR PTR 标号。 标号是转移的目的地址,由它确定一个 16 位位移量。这个 位移量被加到 IP 寄存器中。位移量是一个带符号数,负数

8、表示向前转移,正数表示向后转移。转移范围是 32768 至32767。 三、段内间接转移 JMP AX (段内寄存器间接转移) ;JMP BX(段内存储器间接转移) 。将指令中给 定的寄存器或存储单元中的内容送到 IP 中。 四、段间直接转移 JMP FAR PTR 标号。 标号为符号地址。 JNB 无符号数条件转移指令助记符(无符号数比较)不低于转移(等价 JAE) 。CF0,或 ZF1 则转移(段内直接短转移) 。 JNBE无符号数条件转移指令助记符(无符号数比较)不低于且不等于转移(等价 JA) 。CF0, 且 ZF0 则转移(段内直接短转移) 。 JNC 简单条件转移指令助记符前次操作

9、无进或进位位转移。CF0 则转移(段内直接短转移) 。 JNE 简单条件转移指令助记符不相等转移(同 JNZ) 。前次操作结果不等于 0,ZF0 则转移(段内 直接短转移) 。 JNG 指令助记符(有符号数比较)不大于转移(等价于 JLE) 。当 SF 和 OF 异号或 ZF1 时转移 (段内直接短转移) 。 JNGE指令助记符(有符号数比较)不大于且不等于转移(等价于 JL) 。当 SF 和 OF 异号,且 ZF0 时转移(段内直接短转移) 。 JNL 指令助记符(有符号数比较)不小于时转移(等价于 JGE) 。 当 SF 和 OF 同号,或 ZF1, 则转移(段内直接短转移) 。 JNLE

10、指令助记符(有符号数比较)不小于且不等于转移(等价 JG) 。SF 和 OF 同号,且 ZF0 时转 移。 JNO简单条件转移指令助记符前次操作无溢出转移。OF0 则转移(段内直接短转移) 。 JNP 简单条件转移指令助记符奇校验转移。PF0 则转移(段内直接短转移) 。 JNS 简单条件转移指令助记符前次操作结果为正数转移。SF0 则转移(段内直接短转移) 。 JNZ 简单条件转移指令助记符不相等转移(同 JNE) 。ZF0 则转移(段内直接短转移) 。 JO 简单条件转移指令助记符前次操作溢出转移。OF1 则转移(段内直接短转移) 。 JP 简单条件转移指令助记符偶校验转移。前次操作结果中

11、 1 的个数是偶数,PF1 则转移(段内直 接短转移) 。 JPE 简单条件转移指令助记符偶校验转移。前次操作结果中 1 的个数是偶数,PF1 则转移(段内 直接短转移) 。 JPO 简单条件转移指令助记符奇校验转移。PF0 则转移(段内直接短转移) 。 JS 简单条件转移指令助记符前次操作结果为负数转移。SF1 则转移(段内直接短转移) 。 JZ 简单条件转移指令助记符相等转移(同 JE) 。ZF1 则转移(段内直接短转移) 。 LABLE 定义符号名伪指令为当前存储单元定义一个指定类型的变量或标号。 一、LABLE 与变量连用。 例 TIMB LABLE BYTE TIMW DW 4142

12、H 第一句给第二句定义的字变量 TIMW 取一个新名字 TIMB,并且修改类型属性为字节。 以后如果以字类型访问该变量时,应使用变量名 TIMW,以字节类型访问该变量时,应使用变量名 TIMB。 二、LABLE 与标号连用。 例 POINTF LABLE FAR POINTN:MOV AX,BX+SI 第一句给第二句隐含定义的近标号 POINTN 取一个新 名字 POINTF,并将类型属性修改为 FAR 。这样就允许作为 其他代码段中转移或调用指令的目标标号(这时标号是 POINTF) 。 LAHF指令助记符标志寄存器(PSW)低 8 位内容送 AH 中。 LDS 指令助记符取地址指针到数据段

13、寄存器。要求源操作数是一个双字长存储器操作数,目的操作 数是 16 位通用寄存器、指针或变址寄存器,但不能是段寄存器。指令执行时,双字长存储器操作数中的低地址 传送到指定的寄存器中,高地址传送到 DS 寄存器中。 例:LDS SI,DATA_SEGDI 由 DATA_SEGDI可以得到在数据段的有效地址 EA(即段内偏移量) 。在 EA 和 EA2 中存放着目标指针。EA 存放的是目标指针的段内偏移量,送至 SI;EA2 存放的是目标指针的段 地址,送至 DS。 例:变量名一 DD 变量名二 . LDS SI 变量名一 变量名二所在数据段的 EA 和段地址存放在变量名一中,EA 送至 SI,E

14、A+2 存放的段地址送至 DS。 LE 关系运算符小于等于。若满足条件,输出结果为全 1(所有的位) ,否则为全 0。 LEA指令助记符取有效地址。将存储器操作数的偏移地址传送到通用寄存器、指针或变址寄存器中。 该指令常用来建立串操作指令所需要的寄存器指针。 例一 LEA SI,变量名(与 MOV SI OFFSET 变量名 等效) ; 例二 LEA AX,AX (将 SI 所指存储单元的 EA 送至 AX,而 MOV AX,SI送的是该存储单元存放的内容) LENGTH数值返回运算符。其加在一个变量名前面,返回的数值是数组变量的元素个数。如果变量是用 DUP 说明的,则返回 DUP 前面的数

15、值;如果没有 DUP 说明的,则返回的值总是 1。 LES 指令助记符取地址指针到数据段寄存器。要求源操作数是一个双字长存储器操作数,目的操作 数是 16 位通用寄存器、指针或变址寄存器,但不能是段寄存器。指令执行时,双字长存储器操作数中的低地址 传送到指定的寄存器中,高地址传送到 ES 寄存器中。 LDCK 指令助记符封锁总线。加在任何指令前面的单字节前缀指令,配合用来维持总线的锁存信号, 直到与其配合的指令执行完为止。 LOCAL 宏指令局部符号(变量,标号)定义。在宏扩展时,汇编程序给 LOCAL 后的形式参数指 定特殊的符号,然后用这些符号替换宏指令体中 LOCAL 指出的形式参数。这样可避免这些符号在多次调用宏 时发生重复定义。 LODS指令助记符装入串。一般用 LODSB 或 LODSW。 LODSB 指令助记符字节装入(从字节串中取数) 。它将 DS 段 SI 指出的字节数据送入 AL 寄存器中, 并根据方向标志 DF 修改 SI 中的地址。即当 DF0 时,地址加 1 ;DF 1 时,地址减 1。 LODSW 指令助记符字装入(从字串中取数) 。 它将 DS 段 SI 指出的字数据送入 AX 寄存器中,并 根据方向标志 DF 修改 SI 中的地址。即当 DF0 时,地址加 2 ;DF 1 时,地址减 2。 LO

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号