77范文网 - 专业文章范例文档资料分享平台

微机原理与接口技术复习参考资料(2)

来源:网络收集 时间:2020-02-20 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第三章 8086指令系统

说明:8086指令系统这章为重点章节,对下面列出的指令都要求学员掌握。

第一节 8086寻址方式

一、数据寻址方式(重点?) 1、立即寻址

操作数(为一常数)直接由指令给出 (此操作数称为立即数) 立即寻址只能用于源操作数 例:

MOV AX, 1C8FH MOV BYTE PTR[2A00H], 8FH 错误例:

× MOV 2A00H,AX ; 错误! 指令操作例:MOV AX,3102H; AX?3102H

执行后,(AH) = 31H,(AL) = 02H

2、寄存器寻址

(1)操作数放在某个寄存器中

(2)源操作数与目的操作数字长要相同 (3)寄存器寻址与段地址无关 例:

MOV AX, BX MOV [3F00H], AX MOV CL, AL 错误例:

× MOV AX,BL ; 字长不同

× MOV ES:AX,DX ; 寄存器与段无关 3、直接寻址

(1)指令中直接给出操作数的16位偏移地址 偏移地址也称为有效地址(EA, Effective Address)

(2)默认的段寄存器为DS,但也可以显式地指定其他段寄存器——称为段超越前缀 (3)偏移地址也可用符号地址来表示,如ADDR、VAR 例:

MOV AX ,[2A00H] MOV DX ,ES:[2A00H] MOV SI,TABLE_PTR

4、间接寻址

? 操作数的偏移地址(有效地址EA)放在寄存器中 ? 只有SI、DI、BX和BP可作间址寄存器

? 例: MOV AX,[BX]

MOV CL,CS:[DI]

错误例 :× MOV AX, [DX]

× MOV CL, [AX]

5、直接变址寻址

?EA=间址寄存器的内容加上一个8/16位的位移量 ? 例: MOV AX, [BX+8]

MOV CX, TABLE[SI]

MOV AX, [BP]; 默认段寄存器为SS ? 指令操作例:MOV AX,DATA[BX] 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H

则物理地址 = 60000H + 1000H + 2A00H = 63A00H

指令执行后:(AX)=5566H

6、基址变址寻址

? 若操作数的偏移地址:

由基址寄存器(BX或BP)给出 —— 基址寻址方式

由变址寄存器(SI或DI)给出 —— 变址寻址方式

由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址-变址寻址。

EA=(BX)+(SI)或(DI); EA=(BP)+(SI)或(DI)

同一组内的寄存器不能同时出现。

注意:除了有段跨越前缀的情况外,当基址寄存器为BX时,操作数应该存放在数据段DS中,当基址寄存器为BP时,操作数应放在堆栈段SS中。例: MOV AX, [BX] [SI] MOV AX, [BX+SI] MOV AX, DS: [BP] [DI] 错误例:

× MOV AX, [BX] [BP] × MOV AX, [DI] [SI]

指令操作例:MOV AX,[BX][SI]

假定:(DS)=8000H, (BX)=2000H, SI=1000H 则物理地址 = 80000H + 2000H + 1000H = 83000H 指令执行后: (AL)=[83000H]

(AH)=[83001H]

7、相对基址变址寻址

? 在基址-变址寻址的基础上再加上一个相对位移量

EA=(BX)+(SI)或(DI)+8位或16位位移量; EA=(BP)+(SI)或(DI)+8位或16位位移量

指令操作例:MOV AX,DATA[DI][BX]

若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H 则指令执行后(AH)=[83021H], (AL)=[83020H]

寄存器间接、寄存器相对、基址变址、相对基址变址四种寻址方式的比较: 寻址方式 指令操作数形式

? 寄存器间接 只有一个寄存器(BX/BP/SI/DI之一) ? 寄存器相对 一个寄存器加上位移量 ? 基址—变址 两个不同类别的寄存器

? 相对基址-变址 两个不同类别的寄存器加上位移量

二、地址寻址方式(了解有4类,能判断) 简要判断依据(指令中间的单词): 段内直接 short,near 段内间接 word 段间直接 far 段间间接 dword

例如《习题册》P16选择题第三题

特殊的情况:段内直接用NEAR时可以省略, 例如:JMP PTR BETA

第二节 8086指令系统

一、数据传送指令(重点?)

1、通用传送指令

(1) MOV dest,src; dest←src

传送的是字节还是字取决于指令中涉及的寄存器是8位还是16位。 具体来说可实现:

① MOV mem/reg1,mem/reg2 指令中两操作数中至少有一个为寄存器

② MOV reg,data ;立即数送寄存器 ③ MOV mem,data ;立即数送存储单元 ④ MOV acc,mem ;存储单元送累加器

⑤ MOV mem,acc ;累加器送存储单元

⑥ MOV segreg,mem/reg ;存储单元/寄存器送段寄存器 ⑦ MOV mem/reg,segreg ;段寄存器送存储单元/寄存器

MOV指令的使用规则 ①IP不能作目的寄存器 ②不允许mem←mem

③不允许segreg←segreg

④立即数不允许作为目的操作数 ⑤不允许segreg←立即数

⑥源操作数与目的操作数类型要一致

⑦当源操作数为单字节的立即数,而目的操作数为间址、变址、基址+变址的内存数时,必须用PTR说明数据类型。如:MOV [BX],12H 是错误的。

(2)、堆栈指令 什么是堆栈?

按―后进先出(LIFO)‖方式工作的存储区域。堆栈以字为单位进行压入弹出操作。

规定由SS指示堆栈段的段基址,堆栈指针SP始终指向堆栈的顶部,SP的初值规定了所用堆栈区的大小。堆栈的最高地址叫栈底。

① 压栈指令PUSH

PUSH src ; src为16位操作数

例:PUSH

AX ;将AX内容压栈

执行操作:(SP)-1←高字节AH

(SP)-2←低字节AL (SP)←(SP)- 2

注意进栈方向是高地址向低地址发展。`

② 弹出指令POP POP dest

例:POP BX ;将栈顶内容弹至BX

执行操作:(BL)←(SP) (BH)←(SP)+1

(SP)←(SP)+2

堆栈指令在使用时需注意的几点: ① 堆栈操作总是按字进行 ② 不能从栈顶弹出一个字给CS ③ 堆栈指针为SS:SP,SP永远指向栈顶 ④SP自动进行增减量(-2,+2)

堆栈指令的习题见综合练习题P7 7题和P21 四,2题

(3)、交换指令XCHG 格式:XCHG reg,mem/reg 功能:交换两操作数的内容。

要求:两操作数中必须有一个在寄存器中; 操作数不能为段寄存器和立即数; 源和目地操作数类型要一致。 举例: XCHG AX,BX

XCHG [2000],CL

(4)查表指令XLAT

执行的操作:AL←[(BX)+(AL)]

又叫查表转换指令,它可根据表项序号查出表中对应代码的内容。执行时先将表的首地址(偏移地址)送到BX中,表项序号存于AL中。 见课本例题P68 3.21

2、输入输出指令

只限于用累加器AL或AX来传送信息。

功能: (累加器)←→I/O端口 (1) 输入指令IN 格式:

IN acc,PORT ;PORT端口号0~255H IN acc,DX ;DX表示的端口范围达64K 例:IN AL,80H ;(AL)←(80H端口) IN AL,DX ;(AL)←((DX))

(2) 输出指令OUT 格式:OUT port,acc

OUT DX,acc

例:OUT 68H,AX ;(69H,68H)←(AX)

OUT DX,AL ;((DX))←(AL)

在使用间接寻址的IN/OUT指令时,要事先用传送指令把I/O端口号设置到DX寄存器 如:

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库微机原理与接口技术复习参考资料(2)在线全文阅读。

微机原理与接口技术复习参考资料(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/742975.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: