第3章80x86指系统和寻址方式3.1.8086指令系统概述3.28086的寻址方式和指令系统3.380386的寻址方式和指令系统3.480486/Pentium微处理器新增指令
1 第3章 80x86指令系统和寻址方式 3.1 8086指令系统概述 3.2 8086的寻址方式和指令系统 3.3 80386的寻址方式和指令系统 3.4 80486/Pentium微处理器新增指令
第3章80x86指令系统和寻址方式8086指令系统概述3.1 81.数据类型无符号二进制数-Byte,Word,DoubleWord带符号二进制数BCD码一一非压缩的BCD码、压缩的BCD码定点数和浮点数■定点数纯整数、纯小数浮点数单精度:32(1,8,23)、双精度:64(1,11,52)、扩展精度:80(1, 15, 64)串数据一一位串、字节串、字串、双字串ASCII码数据指针类数据-近指针(16位)、远指针(32位)2
2 第3章 80x86指令系统和寻址方式 3.1 8086指令系统概述 1. 数据类型 ◼ 无符号二进制数——Byte, Word, Double Word ◼ 带符号二进制数 ◼ BCD码——非压缩的BCD码、压缩的BCD码 ◼ 定点数和浮点数 ◼ 定点数——纯整数、纯小数 ◼ 浮点数——单精度:32(1, 8, 23)、双精度:64(1, 11, 52)、扩展精度: 80(1, 15, 64) ◼ 串数据——位串、字节串、字串、双字串 ◼ ASCII码数据 ◼ 指针类数据——近指针(16位)、远指针(32位)
第3章80x86指令系统和寻址方式2.8086指令格式指令的操作码(OP)■指令格式OPDWOPSWIfD=lthento“reg"else“from"regIfW-lthenwordinstructionelsebyteinstructionIfSW=-01then16bitsofimmediatedataformtheoperand-If SW-11 then an immediate data byte is sign extended to formthe 16-bit operand3.指令的执行时间3
3 第3章 80x86指令系统和寻址方式 2. 8086指令格式 ◼ 指令的操作码(OP) ◼ 指令格式 ◼ If D=1 then to “reg” else “from” reg ◼ If W=1 then word instruction else byte instruction ◼ If SW=01 then 16 bits of immediate data form the operand ◼ If SW=11 then an immediate data byte is sign extended to form the 16-bit operand 3. 指令的执行时间 OP D W OP S W
第3章80x86指令系统和寻址方式3.28086的寻址方式和指令系统8086的寻址方式3.2.11.数据寻址方式立即寻址一在指令中直接给出操作数例:MOV AL, 5MOV AX, 1234H; 80386MOVEAX.12345678H寄存器寻址—操作数在寄存器中例:MOV AL, BHMOV AX, CX; 80386MOVEAX,EBX直接寻址一指令中给出有效地址EA(偏移地址例:;设DS=3000HMOV AX, [2000H]4
4 3.2 8086的寻址方式和指令系统 3.2.1 8086的寻址方式 1. 数据寻址方式 ◼ 立即寻址——在指令中直接给出操作数 例: MOV AL, 5 MOV AX, 1234H MOV EAX, 12345678H ; 80386 ◼ 寄存器寻址——操作数在寄存器中 例: MOV AL, BH MOV AX, CX MOV EAX, EBX ; 80386 ◼ 直接寻址——指令中给出有效地址EA(偏移地址) 例: MOV AX, [2000H] ; 设DS=3000H 第3章 80x86指令系统和寻址方式
第3章80x86指令系统和寻址方式■寄存器间接寻址一一有效地址在寄存器中(BX/BP/SI/DI例:;物理地址=DSx16+BXMOV AX, [BX];物理地址=DSx16+SIMOV BX, [SI];物理地址-DS×16+DIMOV [DI], DX;物理地址=SSx16+BPMOV [BP], BX;物理地址-ESx16+BXMOV AX, ES:[BX];物理地址=-DS×16+BPMOVDS:[BPI,DX■基址寻址有效地址为BX或BP的内容和位移量DISP之和例:;物理地址=DS×16+BX+08HMOV SI, 08H[BX];物理地址=DS×16+BX+100HMOV AX, [BX+100H];物理地址=SSx16+BP+08HMOV AL, [BP+08H];物理地址=SSx16+BP+0200HMOV0200H|BPI,AX5
5 ◼ 寄存器间接寻址——有效地址在寄存器中(BX/BP/SI/DI) 例: MOV AX, [BX] ; 物理地址=DS16+BX MOV BX, [SI] ; 物理地址=DS16+SI MOV [DI], DX ; 物理地址=DS16+DI MOV [BP], BX ; 物理地址=SS16+BP MOV AX, ES:[BX] ; 物理地址=ES16+BX MOV DS:[BP], DX ; 物理地址=DS16+BP ◼ 基址寻址——有效地址为BX或BP的内容和位移量DISP之和 例: MOV SI, 08H[BX] ; 物理地址=DS16+BX+08H MOV AX, [BX+100H] ; 物理地址=DS16+BX+100H MOV AL, [BP+08H] ; 物理地址=SS16+BP+08H MOV 0200H[BP], AX ; 物理地址=SS16+BP+0200H 第3章 80x86指令系统和寻址方式