汇编指令实例资料

时间:2025-05-13

汇编指令实例资料

汇编指令大全

零、状态寄存器

1 MOVE 数据传送指令 MOV

格式: MOV OPRD1,OPRD2

功能: 本指令将一个源操作数送到目的操作数

中,即OPRD1<--OPRD2.

说明:

1. OPRD1 为目的操作数,可以是

寄存器、存储器、累加器.

OPRD2 为源操作数,可以是寄存

器、存储器、累加器和立即数.

2. MOV 指令以分为以下四种情

况:

<1> 寄存器与寄存器之间的数据

传送指令

<2> 立即数到通用寄存器数据传

送指令

<3> 寄存器与存储器之间的数据

传送指令

<4> 立即数到存储器的数据传送

3. 本指令不影响状态标志位

2 PUSH 堆栈操作指令 PUSH和POP

格式: PUSH OPRD

汇编指令实例资料

功能: 实现压入操作的指令是PUSH指令;实现弹出

操作的指令是POP指令.

说明:

1. OPRD为16位(字)操作数,可以

是寄存器或存储器操作数.

2. PUSH的操作过程是: (SP)<--

(SP)-2,((sp))<--OPRD 即先修

改堆栈指针SP(压入时为自动减

2),然后,将指定的操作数送入新

的栈顶位置.

此处的((SP))<--OPRD,也可以理

解为: [(SS)*16+(SP)]<--OPRD

或 [SS:SP]<--OPRD

3 POP 堆栈操作指令 PUSH和POP

格式: PUSH OPRD

POP OPRD

功能: 实现压入操作的指令是PUSH指令;实现弹出

操作的指令是POP指令.

说明:

1. OPRD为16位(字)操作数,可以

是寄存器或存储器操作数.

2. POP指令的操作过程是: POP

OPRD:OPRD<--((SP)),(SP)<--

汇编指令实例资料

它与压入操作相反,是先弹出栈

顶的数顶,然后再修改指针SP的

内容.

3. 示例: POP AX

POP DS

POP DATA1 POP ALFA[BX][DI]

4. PUSH和POP指令对状态标志位

没有影响.

4 XCHG 数据交换指令 XCHG

格式: XCHG OPRD1,OPRD2 其中的OPRD1为目的操作

数,OPRD2为源操作数

功能: 将两个操作数相互交换位置,该指令把源操

作数OPRD2与目的操数OPRD1交换.

说明:

1. OPRD1及OPRD2可为通用寄存

器或存储器,但是两个存储器之

间是不能用XCHG指令实现的.

2. 段寄存器内容不能用XCHG指

令来交换.

3. 若要实现两个存储器操作数

DATA1及DATA2的交换,可用以下

指令实现:

示例: PUSH DATA1

星尘-易尘

汇编指令实例资料

PUSH DATA2

POP DATA1

POP DATA2

4. 本指令不影响状态标志位.

5 XLAT 查表指令 XLAT

格式: XLAT TABLE其中TABLE为一待查表格的首地

址.

功能: 把待查表格的一个字节内容送到AL累加器

中.

说明:

1. 在执行该指令前,应将TABLE

先送至BX寄存器中,然后将待查

字节与在表格中距表首地址位移

量送AL,即 (AL)<--((BX)+

(AL)).

2. 本指令不影响状态标位,表格

长度不超过256字节.

6 LAHF 标志传送指令 LAHF

格式: LAHF

功能: 取FLAG标志寄存器低8位至AH寄存器.(AH)<-

-(FLAG)7~0

说明: 该指令不影响FLAG的原来

内容,AH只是复制了原FLAG的低8

汇编指令实例资料

7 SAHF 标志传送指令 SAHF

格式: SAHF

功能: 将AH存至FLAG低8位

说明: 本指令将用AH的内容改写

FLAG标志寄存器中的SF、ZF、

AF、PF、和CF标志,从而改变原

来的标志位.

8 PUSHF 标志传送指令 PUSHF

格式: PUSHF

功能: 本指令可以把标志寄存器的内容保存到堆栈

中去

9 POPF 标志传送指令 POPF

格式: POPF

功能: 本指令的功能与PUSHF相反,在子程序调用和

中断服务程序中,往往用PUSHF指令保护FLAG的内

容,用POPF指令将保护的FLAG内容恢复.

说明: 如果对堆栈中的原FLAG内

容进行修改,如对TF等标志位进

行修改,然后再弹回标志位寄存

器FLAG.这是通过指令修改TF标

志的唯一方法.

10 LEA 有效地址传送指令 LEA

格式: LEA OPRD1,OPRD2

汇编指令实例资料

寄存器中.

说明:

1. OPRD1 为目的操作数,可为任

意一个16位的通用寄存器.

OPRD2 为源操作数,可为变量

名、标号或地址表达式.

示例: LEA BX,DATA1

LEA DX,BETA[BX+SI]

LEA BX BX,[BP],[DI]

2. 本指令对标志位无影响。

11 LDS 从存储器取出32位地址的指令 LDS

格式: LDS OPRD1,OPRD2

功能: 从存储器取出32位地址的指令.

说明:

OPRD1 为任意一个16位的寄存

器.

OPRD2 为32位的存储器地址.

示例: LDS SI,ABCD

LDS BX,FAST[SI]

LDS DI,[BX]

注意: 上面LDS DI,[BX]指令的

功能是把BX所指的32位地址指针

的段地址送入DS,偏移地址送入

星尘-易尘

汇编指令实例资料

DI.

12 LES 从存储器取出32位地址的指令 LES

格式: LES OPRD1,OPRD2

功能: 从存储器取出32位地址的指令.

说明:

OPRD1 为任意一个16位的寄存

器.

OPRD2 为32位的存储器地址.

示例: LES SI,ABCD

LES BX,FAST[SI]

LES DI,[BX]

注意: 上面LES DI,[BX]指令的

功能是把BX所指的32位地址指针

的段地址送入ES,偏移地址送入

DI.

13 ADD 加法指令 ADD(Addition)

格式: ADD OPRD1,OPRD2

功能: 两数相加

说明:

1. OPRD1为任一通用寄存器或存

储器操作数,可以是任意一个通

用寄存器 …… 此处隐藏:3988字,全部文档内容请下载后查看。喜欢就下载吧 ……

汇编指令实例资料.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219