第三章8086的寻址方式和指令系统.pptVIP

  • 6
  • 0
  • 约4.28千字
  • 约 60页
  • 2021-11-10 发布于广东
  • 举报
第三章 8086的寻址方式和指令系统; 寻址方式: 指令中说明操作数所在地址的方法。如果操作数在存储器中则 8086的EU就要根据指令中寻址信息用不同的方法计算出有效地址EA。 EA(Effective Address):即寻址所需要的偏移地址。得到EA即可得到操作数20位物理地址。 物理地址=段基址×16 + EA;8086的七种寻址方式: ①立即寻址 ②寄存器寻址 ③直接寻址 ④寄存器间接寻址 ⑤寄存器相对寻址 ⑥基址变址寻址 ⑦相对基址变址寻址 ;一 立即寻址:操作数直接包含在指令中;二 直接寻址:EA直接由指令给出;三 寄存器寻址:操作数包含在寄存器中;寄存器间接寻址: 操作数的EA在指令给出的寄存器中;DS SS BP;五 寄存器相对寻址: 操作数EA=R+位移量 默认关系同前;基址变址方式: 指令中指定基址和变址寄存器 ⊿基址寄存器:BX,BP ⊿变址寄存器:SI,DI ⊿BX默认DS,BP默认SS;七 相对基址变址方式 寻址方式是五、六的综合;其他寻址方式 ;2 I/O端口寻址方式 直接端口寻址:指令中提供8位立即数, 访问00H—0FFH的256个端口。 IN AL,63H 间接端口寻址:端口号在DX中,能访问216=64K个I/O端口。 MOV DX,123H OUT DX,AL;3-2 指令的机器码表示方法;8080指令系统采用变长指令 长度 :1-6字节 指令机器码的设计思路:对每种基本指令类型设计了一个编码格式,其中规定了各相关含义,对照格式的定义填上不同的寻址方式﹑数据类型等就得到指令机器码。;二 机器语言指令代码的编制;操作数1:R REG R(reg) ,表3-1。 W 字长。W=1为字,W=0为字节 D 方向。D=1, R;D=0,R;寄存器间传送指令编码 例3-18 求指令 MOV SP,BX 的机器码。;指令 MOV SP,BX 机器码的另一形式。;寄存器与存储器间传送指令的编码 例3-19 求指令 MOV CL,[BX+1234H] 的机器码。;4 立即数寻址指令的编码 例3-21 求下面指令的机器码 MOV [BX+2100H],0FA50H;3-3 8086的指令系统;一 数据传送指令(通用数据,I/O数据,地址目标,标志);⑵ 堆栈操作 PUSH 源 先SP SP-2,后(SP) 源字,高位放高地址。 POP 目的 先目的地 (SP),后SP SP+2 注意:①源操作数不能是立即数 ②CS不能做目的操作数 ③堆栈:高址向低址发展,先进后出 ④SP总指向栈顶 ⑶ XCHG 目的,源 交换指令 注意:①段R不能做操作数 ②M间不能直接交换 即只能:R R R M ;⑷ XLAT 转换表 查表(换码) 准备:BX 表首地址,AL n(表中第n项) 执行:AL (BX+AL) 常用于:不规则代码转换 例:字符扫描码 ASCII码 0—9 七段码 数字 控制码;2 输入/输出(I/O)指令;地址目标传送指令 传送地址码,传送操作数段地址偏移地址。用于程序执行中跟踪段地址和偏移地址。;;4 标志传送指令;二 算术运算指令;1 加法指令 注意运算结果的标志;BCD码加及十进制调整;解决办法:十进制调整。即遇到以上情况② 时对BCD结果加6; SUB ADD SBB ADC DEC INC AAS AAA ;减法的十进制调整发生在有 DAS DAA ;借位的情况。 DEG 目的 取负指令(求补) 目的 0-目的 CMP 目的,源 比较指令 执行:目的-源 ;只进行减操作,影响标志位, 但不将结果送目的操作数。;MUL 源 IMUL 源 ① MUL 无符号数乘 IMUL 带符号乘 ② 字节乘 AX AL*源(字节) 字乘 (DX,AX) AX*源(字) ③ 源操作数规定 非立即数,为寄存器或存储器(应说明W,B) ④ 积高半部分符号判断 ; AAM 用于MUL对无符号非压缩BCD乘调整 积小于100,只对AL调整 AH AL/0AH的商 AL AL/0AH的余

文档评论(0)

1亿VIP精品文档

相关文档