第三章8088868令系统
第三章 8088/8086指令系统
3-1概述 基本知识点 指令:告诉计算机如何处理数据的命令。 条指令包括如下内容: )操作码:指令所执行的操作。 2)操作数:指令操作的对象,包括操作数的 来源,操作结果的去向。操作对象通常为 存储器地址,寄存器或立即数。 :MOⅴAX,03H出址码 例 操作码‖目的源操作数 操作数
3-1 概 述 基本知识点 • 指令:告诉计算机如何处理数据的命令。 一条指令包括如下内容: 1)操作码:指令所执行的操作。 2)操作数:指令操作的对象,包括操作数的 来源,操作结果的去向。操作对象通常为 存储器地址,寄存器或立即数。 例:MOV AX, 03H —————地址码 MOV 操作码 地址码 AX, 03H 目的 操作数 AX, 源操作数 03H
2、指令系统: 计算机所能执行的全部指令的集合。 RISC(精简指令集)计算机技术。 CISC(复杂指令集)计算机技术 3、寻址方式: 指令中说明操作数所在地址及获得转 移地址的方法。 l:地址例:[DI[20001 ()s内容例:(DID)(20000
2、指令系统: 计算机所能执行的全部指令的集合。 • RISC(精简指令集)计算机技术。 • CISC(复杂指令集)计算机技术。 3、寻址方式: 指令中说明操作数所在地址及获得转 移地址的方法。 [ ]: 地址 例: [DI] [2000] ( ):内容 例:(DI) (20000)
操作数的主要来源 立即数操作数 可以是8位、16位的常数。 注:只能做源操作数,不能做目的操作数。 例: MOV AX,1234H 寄存器操作数 是某个8或16位寄存器中的内容。 例:MOAX,BX 存储器操作数 来自1个,2个或4个存储单元的内容。 例: MOV AX,[134H
操作数的主要来源: • 立即数操作数 —可以是8位、16位的常数。 注:只能做源操作数,不能做目的操作数。 例: MOV AX,1234H • 寄存器操作数 —是某个8或16位寄存器中的内容。 例:MOV AX,BX • 存储器操作数 —来自1个,2个或4个存储单元的内容。 例: MOV AX,[1234H]
、指令的执行时间 意义: 在特殊的定时,延时程序中必需了 解指令的执行时间。 条指令的执行时间包括: 取指令、取操作数、执行指令及传 送结果因素,用时钟周期表示
二、指令的执行时间 意义: 在特殊的定时,延时程序中必需了 解指令的执行时间。 一条指令的执行时间包括: 取指令、取操作数、执行指令及传 送结果因素,用时钟周期表示
例:对MOv指令,CPU时钟频率为5MHZ 则从 寄存器到寄存器之间 立即数传送到寄存器 存储器传送字节到寄存器 的传送指令执行的时间为: 寄存器操作数的指令执行速度最快,立即数操 作数次之,存储器操作数指令的执行时间最长
例:对MOV指令,CPU时钟频率为5MHZ 则从 寄存器到寄存器之间 立即数传送到寄存器 存储器传送字节到寄存器 的传送指令执行的时间为: 寄存器操作数的指令执行速度最快,立即数操 作数次之,存储器操作数指令的执行时间最长
3-2、说明操作数所在地址的寻址方式 1、立即寻址:操作数直接包含在指令中。 立即数:所需的操作数由指令的地址码部 M 立即数可以是8位(b)的字节,也可以是cs:000B8 位的双字 CS:000103 CS:000200 例: MOV AX,03H CS:000300 特点:取指时,操作码和一个操作数同时被取 出,不必再次访问存储器,提高了指令的执行 速度,通常用于给某一寄存器或存储单元赋初 值。注:目的操作数不能为立即数。 播放
3-2、说明操作数所在地址的寻址方式 1、立即寻址:操作数直接包含在指令中。 立即数:所需的操作数由指令的地址码部分直接给出。 立即数可以是8位(bit)的字节,也可以是16位的字或32 位的双字。 例:MOV AX,03H M : : : : CS:0003 CS:0002 CS:0001 03 CS:0000 B8 00 00 00 特点:取指时,操作码和一个操作数同时被取 出,不必再次访问存储器,提高了指令的执行 速度,通常用于给某一寄存器或存储单元赋初 值。 注:目的操作数不能为立即数。 播放
2、寄存器寻址:操作数包含在CPU的 内部寄存器中。 例: MOV DS,AX 播放
2、寄存器寻址:操作数包含在CPU 的 内部寄存器中。 例: MOV DS,AX 播放
3、直接寻址:操作数的偏移地址放在地 址码存储器的数据段中。 例: MOV AX,DS:[2000H CS:0000A1 MOV AX,20001 CS:000100 CS:000220 若:DS=0100 CS:0003: PA=(DS)×16+偏移地址 0100:1FFF 0100:200003 播放
3、直接寻址:操作数的偏移地址放在地 址码存储器的数据段中。 例:MOV AX,DS:[2000H] MOV AX,[2000] M : : : : : : CS:0003 : CS:0002 20 CS:0001 00 CS:0000 A1 若:DS=0100 : : : : : : 0100:2000 03 0100:1FFF : PA=(DS)×16+[ 偏移地址 ] 播放
4、寄存器间接寻址:操作数在存储器中 但存储单元的偏移地址放在寄存器(SI DI、BP、BX)之一中 1)当寄存器为SI、DI、BX时;例: MOV AX,ISI PA=(DS)×16+[SI、DI、BX 2)当寄存器为BP时; 例: MOV AX,IBP 若:DS=2000;S=1000则操作数的物理地址为? PA=(SS)×16+「BP (段超越时例外) 已知:SS=3000H,BP=2000H,则操作数的物理地址? 播放
4、寄存器间接寻址:操作数在存储器中, 但存储单元的偏移地址放在寄存器(SI、 DI、BP、BX)之一中。 1)当寄存器为SI、DI、BX时; 例: MOV AX,[ SI ] PA=(DS) ×16 + [ SI、DI、BX ] 若: DS=2000;SI=1000 则操作数的物理地址为? 2)当寄存器为BP 时; 例: MOV AX,[ BP ] PA=(SS) ×16 + [ BP ] (段超越时例外) 已知: SS=3000H , BP=2000H,则 操作数的物理地址? 播放