教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

汇编语言部分——2.寻址方式和指令系统

来源:网络收集 时间:2026-05-20
导读: 计算机组成原理与汇编语言汇编语言部分) (汇编语言部分) 北航计算机学院 熊桂喜 Tel :82317605,82317634 email:xiongguixi@http://www.77cn.com.cn 第二部分: 第二部分:寻址方式和指令系统一.指令格式与寻址方式1. 2. 3. 8086指令的汇编语言格式 指令的汇

计算机组成原理与汇编语言汇编语言部分) (汇编语言部分)

北航计算机学院

熊桂喜

Tel :82317605,82317634 email:xiongguixi@http://www.77cn.com.cn

第二部分: 第二部分:寻址方式和指令系统一.指令格式与寻址方式1. 2. 3. 8086指令的汇编语言格式 指令的汇编语言格式 与数据有关的6种寻址方式 与数据有关的 种寻址方式 与转移指令有关的4种寻址方式 与转移指令有关的 种寻址方式

二.8086的指令系统 的指令系统1. 2. 3. MOV指令、数据通路与指令规则 指令、 指令 传送、算术、逻辑、 传送、算术、逻辑、移位指令 条件与转移

1.1 指令格式与寻址方式Intel 8086/8088的指令格式 的指令格式OP Det, Src ;由 “源” 至 “目的” ,动宾词组 由 目的” 结果在目的操作数中

可以有2个 可以有 个,1个,0个操作数 个 个操作数 指令编码的要素:操作码字节,寻址方式字节,段超越字节, 指令编码的要素:操作码字节,寻址方式字节,段超越字节,操作数 指令长度由1-7个字节组成, 指令长度由 个字节组成,变长指令编码 个字节组成

寻址方式: 寻址方式:指令中寻找操作数的方式与数据有关的6种 与数据有关的 种 立即寻址, 立即寻址,寄存器寻址 直接寻址,间接寻址,寄存器间接寻址,寄存器相对寻址, 直接寻址,间接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址 与转移有关的4种 与转移有关的 种 段内直接寻址,段内间接寻址,段间直接寻址, 段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址 有关的2种 与I/O有关的 种 有关的 直接I/O端口寻址方式 直接 端口寻址方式 寄存器DX间接寻址方式 寄存器 间接寻址方式 MOV Dst, Src ;做好 做好MOV”体操” 体操” 做好 体操

1.2 与数据有关的6种寻址方式 与数据有关的6操作数来自 寄存器: 个通用寄存器 个通用寄存器, 个段寄存器 个段寄存器, 个 寄存器 8个通用寄存器,4个段寄存器,1个PSW 立即数: 指令本身给出的立即数(常量 常量) 立即数 指令本身给出的立即数 常量 内存单元: 内存单元:直接寻址和间接寻址 常量、字节、 常量、字节、字、双字的定义——EQU DB DW DD 双字的定义 立即寻址:指令操作数包含在指令中, 立即寻址:指令操作数包含在指令中,为一个常量 寄存器寻址:指令操作数为CPU的寄存器 寄存器寻址:指令操作数为 的寄存器 直接寻址:操作数的偏移地址 直接在指令中给出 直接寻址:操作数的偏移地址EA直接在指令中给出 寄存器间接寻址:操作数地址 位于一个寄存器 位于一个寄存器(BX,BP,SI,DI)中 寄存器间接寻址:操作数地址EA位于一个寄存器 中 寄存器相对寻址:操

作数地址 由间址寄存器 位和16位的常量组成 由间址寄存器+8位和 寄存器相对寻址:操作数地址EA由间址寄存器 位和 位的常量组成 基址变址寻址:操作数地址 为一个基址寄存器和一个变址寄存器之和 基址变址寻址:操作数地址EA为一个基址寄存器和一个变址寄存器之和 掌握和理解寻址要点: 掌握和理解寻址要点:(1) 寄存器的使用规则 (2) 类型匹配 (3) 数据通路 (4) 是操作“内容”还是“地址”(指针) 是操作“内容”还是“地址” 指针)

2.1 Intel 8086指令系统(主要指令) 8086指令系统(主要指令) 指令系统传送指令: 传送指令:MOV, XCHG,PUSH,POP,PUSHF,POPF LEA,LDS,LES 操作符:OFFSET,SEG 操作符 BYTE PTR,WORD PTR, DWORD PTR 算术运算指令: 算术运算指令:ADD,ADC,SUB,SBB,INC,DEC,CMP,NEG MUL,IMUL,CBW DIV,IDIV,CWD 逻辑运算指令: 逻辑运算指令:AND,OR,XOR,NOT TEST SHL,SHR,SAL,SAR,ROL,ROR,RCL,RCR 控制转移指令: 控制转移指令:JMP (short, near, word, far,dword) JA/JB/JE系列,JG/JL/JE系列 系列, 系列 系列 LOOP,LOOPZ,LOOPNZ CALL(near,word,far,dword),RET,RETF, RET 2n INT,IRET 处理器控制指令: 处理器控制指令:CLC,STC,CLI,STI,CLD,STD,NOT,HLT 其他指令:串处理 其他指令:串处理(LODS,STOS,MOVS,CMPS,SCAS,REP),IN,OUT ,

2.2 传送指令(1) MOV, XCHG,PUSH,POP,PUSHF,POPF PUSH op16 ;op16为r16或m16 为 或 (2) 取地址还是取操作数 OFFSET,LEA 取地址还是取操作数: LEA BX,x MOV BX,offset x (3) LDS LES add1 LDS r16,src ;取指针 取指针 r16,src dd 12345678h BX,add1 ;BX=5678h,DS=1234h

(4) BYTE PTR,WORD PTR, DWORD PTR 打破类型匹配的约定,转为按照希望的类型来寻址 打破类型匹配的约定, (5) 段超越:CS:,DS:,ES:,SS: 段超越: 打破操作数的段缺省约定, 打破操作数的段缺省约定,转向指定的段来寻址

2.3 算术运算指令(1) 加法指令: ADD,ADC,INC 加法指令: ADD dst,src ;dst=dst+src,影响 影响CF,SF,ZF等 影响 等 ADD dst,src ;dst=dst+src+CF,影响 影响CF,SF,ZF 影响 INC opr ;opr=opr+1,影响 影响CF,SF,ZF 影响 (2) 减法指令: SUB,SBB,DEC 减法指令: SUB dst,src ;dst=dst-src,影响 影响CF,SF,ZF等 影响 等 SBB dst,src ;dst=dst-src-CF,影响 影响CF,SF,ZF 影响 DEC opr ;opr=opr+1,影响 影响CF,SF,ZF 影响 (3) CMP与NEG 与 CMP dst,src NEG opr ;与SUB类似,但不回送,产生标志位 与 类似, 类似 但不回送, ;opr= -opr ,求补 求补

(4) 乘法指令: MUL(无符号运算 乘法指令: 无符号运算),IMUL(带符号运算 带符号运算),CBW 无符号运算 带符号运算 MUL op8 ;AX=AL*op8 MUL op16 ;DX:AX=AX*op16 CBW ;将AL的最高位 符号位)送AH(00h或FFh) 将 的最高位(符号位 送 或 的最高位 符号位 (5) 除法指令: DIV(无符号运算 除法指令: 无符号运算),IDIV(带符号运算 带符号运算),CWD 无符号运算 带符号运算 DIV op8 ;AX/

op8=AL(商),AH(余数 余数) 商 余数 DIV op16 ;DX:AX/op16=AX(商),DX(余数 余数) 商 余数 CWD ;将AX的最高位 符号位 送DX(0000h或FFFFh) 的最高位(符号位 将 的最高位 符号位)送 或

2.4 逻辑指令(1) 逻辑运算 AND, OR, XOR,NOT 逻辑运算: AND AL,0Fh AND AND AL,0FEh OR XOR AL,AL OR AL,30h AND 与 (2) 测试指令 测试指令: TEST TEST TEST dst,src AL,80h AL,08h AL,0F0h AL,80h AL,0Fh ;结果不回送 结果不回送

(3) SHL/SHR SAL/SAR ROL/ROL RCL/RCR SHL X=X*10:

逻辑左移/逻辑右移 逻辑左移 逻辑右移 算术左移/算术右移 算术左移 算术右移 循环左移/循环右移 循环左移 循环右移 带进位循环左移/带进位循环右移 带进位循环左移 带进位循环右移 dst,count ;count=1或CL 或 MOV SHL MOV SHL SHL ADD MOV BX,X BX,1 ;X*2 AX,BX BX,1 BX,1 ;X*8 BX,AX ;X*8+X*2 X,BX

2.5 控制转移指令(1) 无条件转移指令 JMP 无条件转移指令: (2) 条件转移指令 JA/JB/JE系列 条件转移指令: 系列 JG/JL/JE系列 系列 CF/ZF/SF标志位 标志位 求a-b的绝对值 的绝对值 (3) LOOP,LOOPZ,LOOPNZ MOV CX,100 L1: …… LOOP L1 ;执行后,CX-1,CX=0,往下执行 执行后, 执行后 往下执行 极端情况: 则执行ffff次 极端情况:CX=0,则执行 次 则执行 (4) CALL与RET/RETF 与 分为段内调用/返回 段间调用/返回 返回、 分为段内调用 返回、段间调用 返回 (5) INT n与IRET 与 多了一个PUSHF/POPF 多了一个 above/below/equ greater/less/equ

2.6 与转移指令有关的寻址方式标号与过程名:定义了代码段内的偏移值 直接 直接) 标号与过程名:定义了代码段内的偏移值(直接 段内直接寻址:要转向 条件转移等)的地址由当前 段内直接寻址:要转向(JMP,CALL,条件转移等 …… 此处隐藏:3024字,全部文档内容请下载后查看。喜欢就下载吧 ……

汇编语言部分——2.寻址方式和指令系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1936200.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)