3.2.1数据传送类指令 ■把数据从一个位置传送到另一个位置 ■14条指令分5组 1、通用数据传送: MOV XCHG XLAT 2、堆栈操作: PUSH POP 3、标志寄存器传送: LAHF SAHF PUSHF POPF 4、地址传送: LEA LDS LES 5、输入输出: IN OUT
3.2.1 数据传送类指令 ◼ 把数据从一个位置传送到另一个位置 ◼ 14条指令分5组 1、通用数据传送: MOV XCHG XLAT 2、堆栈操作: PUSH POP 3、标志寄存器传送: LAHF SAHF PUSHF POPF 4、地址传送: LEA LDS LES 5、输入输出: IN OUT
学习要求 数据传送是计算机中最基本、最重要的一种操 作。传送指令也是最常使用的一类指令 传送指令把数据从一个位置传送到另一个位置, ■除标志寄存器传送指令外,均不影响标志位 重点掌握: MOV PUSH POP 特别熟悉: XCHG XLAT LEA 般了解: LAHE SAHF PUSHE POPF LDS LES 以后展开: IN OUT
学习要求 ◼ 数据传送是计算机中最基本、最重要的一种操 作。传送指令也是最常使用的一类指令。 ◼ 传送指令把数据从一个位置传送到另一个位置。 ◼ 除标志寄存器传送指令外,均不影响标志位 重点掌握: MOV PUSH POP 特别熟悉: XCHG XLAT LEA 一般了解: LAHF SAHF PUSHF POPF LDS LES 以后展开: IN OUT
传送指令MOV(move) 把一个字节或字的操作数从源地址传送至目的地址 MoV reg/mem, imm 立即数送寄存器或主存:例2.1 MOV reg/mem/seg,reg;寄存器送(段)寄存器或主存:例2.2 MoV reg/seg, mem 主存送寄存器:例2.3 MOV reg/mem,seg;段寄存器送寄存器或主存:例2.4 传送指令不是万能的,有不少非法传送的情况。 例子
传送指令MOV(move) 把一个字节或字的操作数从源地址传送至目的地址 MOV reg/mem,imm ;立即数送寄存器或主存:例2.1 MOV reg/mem/seg,reg ;寄存器送(段)寄存器或主存:例2.2 MOV reg/seg,mem ;主存送寄存器:例2.3 MOV reg/mem,seg ;段寄存器送寄存器或主存:例2.4 传送指令不是万能的,有不少非法传送的情况。 例子
段寄存器: 通用寄 CS/DS/ES/SS 存器: AX/BX/CX /DX AH/AL/BH/ BL/CH/CL/ DH/DL 立即数 MEM
段寄存器: CS/DS/ES/SS 通用寄 存器: AX/BX/CX /DX AH/AL/BH/ BL/CH/CL/ DH/DL 立即数 MEM
例3.1:立即数传送 MOV AL, 55H MOV AX, 55AAH MOV CX, 0F943H MOV BYTE PTR [BX], 12H; 12h>DS: [BXI MOV WORD PTR [BX+SI], 100h 100h→DS:[BX+SI 注意:立即数是字节(byte)还是字(word) 也就是明确指令是字节操作还是字操作 进一步解释
例3.1:立即数传送 MOV AL,55H MOV AX,55AAH MOV CX,0F943H MOV BYTE PTR [BX],12H ;12h→DS:[BX] MOV WORD PTR [BX+SI],100h ; 100h→DS:[BX+SI] 注意:立即数是字节(byte)还是字(word), 也就是明确指令是字节操作还是字操作。 进一步解释
例3.2:寄存器传送 MO∨AX,BX ‖'园 MOV AH, BL
例3.2:寄存器传送 MOV AX,BX MOV AH,BL
例3.3:存储器传送 MOV AX, [BX MO[S门,AL MOV SS,[2000H] MOV ES: DI, CS 注意:不存在存储器向存储器的传送指令 进一步解释
例3.3:存储器传送 MOV AX,[BX] MOV [SI],AL MOV SS,[2000H] MOV ES:[DI],CS 注意:不存在存储器向存储器的传送指令 进一步解释
例3.4:段寄存器传送 MOV AX, S MOV DS, AX 注意:对段寄存器的操作有一些限制 进一步解释
例3.4:段寄存器传送 MOV AX,CS MOV DS,AX 注意:对段寄存器的操作有一些限制 进一步解释
非法传送种种 两个操作数的类型不一致 实例 例如源操作数是字节,而目的操作数是字;或相反 两个操作数不能都是存储器 实例 传送指令很灵活,但主存之间的直接传送却不允许 段寄存器的操作有一些限带 实例 段寄存器属专用寄存器,对他们的操作能力有限
非法传送种种 ◼ 两个操作数的类型不一致 例如源操作数是字节,而目的操作数是字;或相反 ◼ 两个操作数不能都是存储器 传送指令很灵活,但主存之间的直接传送却不允许 ◼ 段寄存器的操作有一些限制 段寄存器属专用寄存器,对他们的操作能力有限 实例 实例 实例
交换指令XCHG( exchange) 把两个地方的数据进行互换 XCHG reg, reg/mem regreg/ mem 交换指令可以在寄存器与寄存器之间对换数据例26 交换指令可以在寄存器与存储器之间对换数据例2,7 交换指令不能在存储器与存储器之间对换数据W
交换指令XCHG(exchange) 把两个地方的数据进行互换 XCHG reg,reg/mem ; reg←→reg/mem 交换指令可以在寄存器与寄存器之间对换数据 交换指令可以在寄存器与存储器之间对换数据 交换指令不能在存储器与存储器之间对换数据 例2.7 例2.6 Why