第四章数据传送与数据比较指令
- 格式:ppt
- 大小:2.65 MB
- 文档页数:151


3.2.1 数据传送类指令
数据传送指令用于实现寄存器与存储器之间、寄存器之间、累加器AL/AX与I/O端口之间、立即数到寄存器或存储器之间的字节或字的传送。这类指令的共同特点是不影响标志寄存器的内容(SAHF,POPF除外)。堆栈操作指令、标志位传送指令和地址传送指令也归入这一类中,共14条指令,又可分为4组,如表3.4所示。
1.通用数据传送指令
通用数据传送指令包括传送指令MOV、堆栈操作指令PUSH、POP、输入/输出指令(累加器传送指令)、数据交换指令XCHG和查表转换指令XLAT。这类指令是唯一允许以段寄存器作为操作数的指令(XCHG除外)。
表3.4 数据传送类指令
指令类型 指令书写格式 指令功能
通用数据传送指令 MOV 目标,源
PUSH 源
POP 目标
XCHG 目标,源
XLAT 字节或字传送
字压入堆栈
字弹出堆栈
字节或字交换
字节翻译
目标地址传送指令 LEA 目标,源
LDS 目标,源
LES 目标,源 装入有效地址 装入DS寄存器
装入ES寄存器
标志位传送指令 LAHF
SAHF
PUSHF
POPF 将FR低字节装入AH寄存器
将AH内容装入FR低字节
将FR内容压入堆域
从堆栈弹出FR内容
I/O数据传送指令 IN 累加器,端口
OUT 端口,累加器 从端口输入字节或字
将字节或字输出到端口
(1)MOV 传送指令
指令格式:MOV OPD,OPS
指令功能:将源操作数OPS传送到目的操作数OPD,即(OPD)→(OPS)。
源操作数OPS可以是8/16位的通用寄存器、段寄存器、存储器中某单元或8/16位的立即数。
(2)PUSH进栈(压入)指令
指令格式:PUSH OPS
指令功能:将源操作数OPS压入堆栈,即SP–2 → SP,OPS → (SPH,SP)。
汇编常用指令
1. 前言
汇编语言是一种低级别的计算机语言,它是由一些指令组成的。指令是一条计算机执行的命令,从基本上讲,这些指令代表着标准的操作,例如加、减、乘、除、移位和比较等。汇编语言可以通过编写程序来控制一个计算机的行为,这些程序通常被称为汇编程序。本文将介绍汇编语言中一些常用的指令。
2. 数据传送指令
数据传送指令是汇编语言中最基本的指令之一,它主要用来将数据从一个位置传送到另一个位置。在汇编语言中,数据传送指令通常使用MOV语句来实现。下面是一些常用的数据传送指令:
- MOV AX, BX:将BX中存储的数据传送到AX中。
- MOV AX, [BX]:将BX中存储的地址所指向的数据传送到AX中。
- MOV [BX], AX:将AX中存储的数据传送到BX所指向的地址中。
3. 算术运算指令
算术运算指令主要用来执行各种数学运算,例如加法、减法、乘法和除法等操作。下面是一些常用的算术运算指令:
- ADD AX, BX:将BX中存储的数据与AX中存储的数据相加,并将结果存储在AX中。 - SUB AX, BX:将BX中存储的数据从AX中存储的数据中减去,并将结果存储在AX中。
- MUL BX:将AX中存储的数据与BX中存储的数据相乘,并将结果存储在AX中。
- DIV BX:将AX中存储的数据除以BX中存储的数据,并将结果存储在AX和DX中。
4. 位运算指令
位运算是一种在二进制数字级别上的运算,它可以执行各种位操作,例如AND、OR、XOR和NOT等操作。下面是一些常用的位运算指令:
- AND AX, BX:将BX中存储的数据与AX中存储的数据按位进行AND运算,并将结果存储在AX中。
- OR AX, BX:将BX中存储的数据与AX中存储的数据按位进行OR运算,并将结果存储在AX中。
- XOR AX, BX:将BX中存储的数据与AX中存储的数据按位进行XOR运算,并将结果存储在AX中。
微机原理指令大全
微机原理是计算机科学中的重要基础知识,而指令则是微机原理中的核心内容之一。指令是计算机中的基本操作命令,它直接影响着计算机的运行和执行效率。本文将为大家详细介绍微机原理中常见的指令,并提供一份完整的指令大全,希望能够帮助大家更好地理解和掌握微机原理中的指令知识。
一、数据传送指令。
数据传送指令是微机原理中最基本的指令之一,它用于将数据从一个地方传送到另一个地方。常见的数据传送指令包括MOV、LDM、STM等。这些指令可以实现寄存器之间、寄存器和内存之间、内存和输入输出设备之间的数据传送操作,是计算机程序中不可或缺的一部分。
二、算术运算指令。
算术运算指令用于进行各种数值计算操作,包括加法、减法、乘法、除法等。常见的算术运算指令有ADD、SUB、MUL、DIV等。这些指令可以对寄存器和内存中的数据进行各种算术运算,是计算机程序中常用的指令之一。
三、逻辑运算指令。
逻辑运算指令用于进行各种逻辑操作,包括与、或、非、异或等。常见的逻辑运算指令有AND、OR、NOT、XOR等。这些指令可以对寄存器和内存中的数据进行逻辑运算,是计算机程序中实现逻辑判断和控制流程的重要指令之一。
四、转移指令。
转移指令用于改变程序的执行顺序,包括无条件转移和条件转移两种。常见的转移指令有JMP、JZ、JNZ、JC、JNC等。这些指令可以实现程序的跳转和循环控制,是计算机程序中实现各种复杂逻辑的重要指令之一。
五、比较指令。
比较指令用于比较两个数据的大小关系,常见的比较指令有CMP、TEST等。这些指令可以对寄存器和内存中的数据进行比较操作,并根据比较结果设置标志位,是实现条件转移和逻辑判断的重要指令之一。
六、输入输出指令。
输入输出指令用于实现计算机与外部设备的数据交换,包括输入数据和输出数据两种操作。常见的输入输出指令有IN、OUT等。这些指令可以实现计算机与外部设备之间的数据传输,是计算机程序中实现输入输出功能的重要指令之一。
数据传送指令
数据传送指令包括数据的传送、交换、堆栈数据的压入与弹出,是最基本、使用率最高的一类指令。助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP共八种。
1.MOV类指令及功能(16条)
这类指令的功能是从源操作数到目的操作数的数据传送。
MOV A, Rn ;Rn→A,寄存器Rn的内容送到累加器A
MOV A, direct ;(direct)→A,直接地址中的内容送A
MOV A, @Ri ;(Ri)→A,Ri间址的内容送A
MOV A, #data ;data→A,立即数送A
MOV Rn,, A ;A→Rn,累加器A中的内容送寄存器Rn
MOV Rn, direct ;(direct)→Rn;直接地址中的内容送Rn
MOV Rn, #data ;data→Rn;立即数送Rn
MOV direct, A ;A→(direct),A中的内容送入直接地址中
MOV direct, Rn ;Rn→(direct),寄存器内容送入直接地址中
MOV direct, direct ;(direct) →(direct),源操作数直接地址的内容送入
;目的操作数的直接地址中
MOV direct, @Ri ;(Ri)→(direct),Ri间址内容送入直接地址中
MOV direct, #data ;data→(direct),立即数送入直接地址中
MOV @Ri, A ;A→(Ri),A中内容送到Ri间址单元中
MOV @Ri, direct ;(direct)→(Ri),直接地址中内容送入Ri间址单元中
MOV @Ri, #data ;data→(Ri),立即数送入Ri间址单元中
MOV DPTR, #data16 ;data16→DPTR,16位常数送入数据指针DPTR中,高8