第二章8086的指令系统 第二章 8086指令系统
第 二 章 8086 的 指 令 系 统 1 封面
第二章8086的指令系统 第二章8086的指令系统 概 述 2.1数据传送类指令 2.2算术运算类指令 2.3位操作类指令 2.4控制转移类指令 5串操作类指令 6处理机控制类指令 要点与习题分析
第 二 章 8086 的 指 令 系 统 2 第二章8086指令系统目录 第二章 8086的指令系统 概 述 2.1 数据传送类指令 2.2 算术运算类指令 2.3 位操作类指令 2.4 控制转移类指令 2.5 串操作类指令 2.6 处理机控制类指令 要点与习题分析
第二章8086的指令系统 概/述 ①8086的指令系统按功能分类可以分成六组,本章 分类逐条讲解。 ②在汇编语言中,指令的一般格式为 [标号:]指令助记符目的操作数,源操作数[:注释] 其中括弧括起的部分不是必需的,为可选项。“标号” 在第三章详细介绍。 ③后面讲解指令时,除前一章介绍的符号外,本书 用AX,BX.形式表示寄存器的内容。 ④学习一条指令应掌握的内容:指令的功能操作 数的寻址方式指令对标志的影响避免非法指令 沤回第二章
第 二 章 8086 的 指 令 系 统 3 概述 概 述 ①8086的指令系统按功能分类可以分成六组,本章 分类逐条讲解。 ②在汇编语言中,指令的一般格式为 [标号:]指令助记符 目的操作数,源操作数[:注释] 其中括弧括起的部分不是必需的,为可选项。“标号” 在第三章详细介绍。 ③后面讲解指令时,除前一章介绍的符号外,本书 用AX,BX…形式表示寄存器的内容。 ④学习一条指令应掌握的内容:指令的功能 操作 数的寻址方式 指令对标志的影响 避免非法指令… 返回第二章
第二章8086的指令系统 2.1数据传送指令 2.1.1通用数据传送指 MOV/XCHG/ XLAT 2.1.2堆栈操作指令 PUSH/POP 2.1.3标志传送指令 LAHF/SAHF/PUSHF/POPF 2.1.4地址传送指令 LEA/LDS/LES 2.1,5输入输出指令 IN/OUT 返回第二章
第 二 章 8086 的 指 令 系 统 4 2.1节 目录 2.1.1--2.1.5(传送) 2.1 数据传送指令 2.1.1 通用数据传送指令 MOV/XCHG/XLAT 2.1.2 堆栈操作指令 PUSH/POP 2.1.3 标志传送指令 LAHF/SAHF/PUSHF/POPF 2.1.4 地址传送指令 LEA/LDS/LES 2.1.5 输入输出指令 IN/OUT 返回第二章
第二章8086的指令系统 21/1通用数据传送指令 1AM0类指令 ● mov reg/mem,imm; mov seg/reg/mem, reg oMoV seg/reg, mem o MOV reg/mem, seg 2.交换指令XCHG 3.换码指令ⅪA 2.1节目录
第 二 章 8086 的 指 令 系 统 5 2.1.1 目录:1~3 2.1.1 通用数据传送指令 1.MOV类指令 ⚫MOV reg/mem,imm; ⚫MOV seg/reg/mem,reg; ⚫MOV seg/reg,mem; ⚫MOV reg/mem,seg 2.交换指令XCHG 3.换码指令XLAT 2.1节 目录
第二章8086的指令系统 1.MoV类指令 格式1: MoV reg/mem, mm MOV AX, 2050H X MOV CL, 58H MOV BYTE PTR [BX], 55H/MOV WORD PTR [BX], 55H MOV BYTE PTR [SI+051, 55H MoV BYTI MOV BYTE PTR[BX], 55H MOV BYTE MOV BYTE MOV WORD PTRLBX], 55H ·············.············································· ①MoV55H,AL②MVDH,385③M0VBX,55H√ ④M[BX],55HV×⑤ MOV DS,2000H
第 二 章 8086 的 指 令 系 统 6 2.1.1-1 mov类例1 1.MOV 类指令 格式1:MOV reg/mem,imm MOV AX,2050H / MOV CL,58H MOV BYTE PTR [BX],55H/MOV WORD PTR [BX],55H MOV BYTE PTR [SI+05],55H MOV BYTI PTR [BP+DI],55H MOV BYTE PTR [BX+DI+2000H],55H MOV BYTE PTR [4050H],55H ……………………………………………………… ① MOV 55H,AL ② MOV DH,385 ③ MOV BX,55H√ ④ MOV [BX],55H ⑤ MOV DS,2000H MOV BYTE PTR[BX],55H MOV WORD PTR[BX],55H
第二章8086的指令系统 格式2: MOV seg/reg/mem,reg M0VDS,AX/ MOV ES, AX/MOV SS,AXCs不能做目的操作数 MOV AX, BX/MOV SP, AX/MOV DH, CL/MOV AL, BH MoV[2050H] AX/MOV [2050H1, BL MOV [BX+SI+2000H], DX/Mov 2005H[BP] [DI, CL MOV DS, AL/MOV CS, AX MOV DL, AX/MOV BX, CL/ MOV SI, CH/MOV BL, DI
第 二 章 8086 的 指 令 系 统 7 mov类例2 格式2: MOV seg/reg/mem,reg MOV DS,AX/MOV ES,AX/MOV SS,AX MOV AX,BX /MOV SP,AX /MOV DH,CL/MOV AL,BH MOV [2050H],AX / MOV [2050H],BL MOV [BX+SI+2000H],DX / MOV 2005H[BP][DI],CL …………………………………………………………… MOV DS,AL / MOV CS,AX MOV DL,AX / MOV BX,CL / MOV SI,CH / MOV BL,DI CS不能做目的操作数
第二章8086的指令系统 记住:CS不能作 格式3: MOV seg/reg,men 目的操作数 MOV DS, [BX]/MOV ES, [BP+SI+25H] MOV AX, [2050H]A MOV AL, [2050H ●·······●··························●·············●······●····●·····● 注意: MOV mem,mem形式的指令是非法指令,也就是 说,如果一条指令有两个操作数,不允许两个操作数都 是存储器数,如下列指令为非法指令 MOV [BXI, [2050H]/MOV [2050H], [BX+SII 该项规定不仅适用于“M0V”类指令,也适用于其他各 类指令(串操作除外)
第 二 章 8086 的 指 令 系 统 8 mov类例3 格式3: MOV seg/reg,mem MOV DS,[BX] / MOV ES,[BP+SI+25H] MOV AX,[2050H] / MOV AL,[2050H] …………………………………………………………… 注意:MOV mem,mem 形式的指令是非法指令,也就是 说,如果一条指令有两个操作数,不允许两个操作数都 是存储器数,如下列指令为非法指令: MOV [BX],[2050H] / MOV [2050H],[BX+SI] 该项规定不仅适用于“MOV”类指令,也适用于其他各 类指令(串操作除外)。 记住: CS不能作 目 的 操 作 数
第二章8086的指令系统 S可以作源操作数 格式4: Mov reg/mem,seg MOV AX, DS / MOV BX, ES/MOV AX, CS MOV ISI], DS/ MOV [BX+SI], Cs MOV [BX1,[2050HI “MOV类指令小结: ①立即数只能作源操作数,且要与目的操作数匹配 ②两个操作数类型要匹配。 ③如汇编程序无法确定操作类型,要加类型说明符。 ④cs般不能作目的操作数(用转移指令改变)。 ⑤如果指令有两个操作数,不允许两个都是存储器数。 上述四类格式以外的指令必定是非法指令。 ⑦所有“MW”类指令均不影响标志。 返回2.1.1
第 二 章 8086 的 指 令 系 统 9 mov类例4(END) 格式4:MOV reg/mem,seg MOV AX,DS / MOV BX,ES / MOV AX,CS MOV [SI],DS / MOV [BX+SI],CS …………………………………………………………… “MOV”类指令小结: ①立即数只能作源操作数,且要与目的操作数匹配。 ②两个操作数类型要匹配。 ③如汇编程序无法确定操作类型,要加类型说明符。 ④CS一般不能作目的操作数(用转移指令改变)。 ⑤如果指令有两个操作数,不允许两个都是存储器数。 ⑥上述四类格式以外的指令必定是非法指令。 ⑦所有“MOV”类指令均不影响标志。 CS可以作源操作数 返回2.1.1 MOV [BX],[2050H]
第二章8086的指令系统 2.交换指令XCHG 指令格式: XCHG reg/mem,reg/mem ;将操作数格式“mem,mem”排除在外! ts]:/ XCHG AX, BX/XCHG DH, CL XCHG CX, [2000H]/ XCHG [BX+SI], AL 交换指令不影响标志。 3.换码指令XAT 指令格式:XLAT;AL←[DS×16+BX+AL] 该指令的操作数是隐含的(AL),且寻址方式可 理解为寄存器相对寻址,偏移量在AL中 该指令又称“查表指令”,通常用于编写查表程序。 换码指令不影响标志
第 二 章 8086 的 指 令 系 统 10 2.1.1-2. xchg --3.XLAT 2.交换指令XCHG 指令格式:XCHG reg/mem ,reg/mem ;将操作数格式“mem,mem” 排除在外! 例:XCHG AX,BX / XCHG DH,CL XCHG CX,[2000H] / XCHG [BX+SI],AL 交换指令不影响标志。 3.换码指令XLAT 指令格式:XLAT ;AL←[DS×16+BX+AL] 该指令的操作数是隐含的(AL),且寻址方式可 理解为寄存器相对寻址,偏移量在AL中。 该指令又称“查表指令” ,通常用于编写查表程序。 换码指令不影响标志