第五章 80868088 指令系统
第五章 8086/8088 指令系统 第一节 第二节 第三节 第四节 第五节 第六节 指令格式和寻址方式 数据传送指令 算术运算指令 逻辑运算指令 控制转移指令 字符串指令
第一节 指令格式和寻址方式 一、指令格式 二、指令助记符 三、寻址方式 (一)指令地址的寻址方式 (二)操作数地址寻地方式
一、指令格式指令是计算机用以控制各部件协调动作的命令 指令字是一种二进制代码,它包括两个基本部分:操作 码和地址码。操作码提供的是操作控制信息,指明计算机应 执行什么性质的操作,如进行 + 、 - 、×、÷等;地址码提 供参加运算操作数据的存放地址(即操作数地址)。 只提供一个操作数地址的指令,称为单操作数指令;提 供二个操作数地址的指令,称为双操作数指令;不提供操作 数地址的指令,称为无操作数指令。 无操作数指令只有操作码部分,它的格式为
θ其中θ为操作码。
这种指令表示只进行某种操作,无需操作数,如控制机 器的运行状态,暂停(HALT)等,就属于无操作数指令。 单操作数指令格式为θD
其中 θ 为操作码; D 为目标操作数地址,简称目标地址。 这种指令表示对目标地址 D 中的内容,按操作码 θ 规定 进行操作,结果送目标地址。 双操作数指令格式为θ D S
其中,θ 为操作码,D为目标地址,S为源地址(即作数 地址)。 这种指令表示对源地址和目标地址中的内容,按操作码 规定的操作进行操作,结果送目标地址,即D←Dθ S。
在微型机中,一般采用可变字长指令。也就是说,不同 的指令用不同长度来表示,但都是字节的整倍数。如一字节、 二字节、三字节和四字节指令等。它们在存储器中分别占有 1~4个存储单元,其格式如下: 单字节指令:操作码 7 6 5 4 3 2 1 0
双字节指令:第一字节: 第二字节: 操作码 操作数或地址
三字节指令: 第一字节:第二字节: 第三字节: 或: 第一字节: 第二字节: 第三字节:
操作码 操作数或地址低位 操作数或地址高位 操作码 操作码 操作数或地址
四字节指令: 第一字节:第二字节: 第三字节: 第四字节:
操作码 操作码 操作数或地址地位 操作数或地址高位
二、指令助记符机器指令是二进制代码,二进制代码不易辨识和记忆。 因此,在介绍机器指令时,除非必要情况下用二进制代码, 一般情况下使用指令助记符。指令助记符由操作码和操作数 的助记符号表示。通常操作码用英文单词或英文缩写单词来 表示如: ADD,JP(Jump)等。操作数用表示寄存器存储 器地址的符号来表示。我们首先来学习操作数部分的符号
, 然后结合指令来学习表示操作码的符号。用助记符来表示的 指令又称为指令的汇编格式。
指令中要出现的符号介绍如下: AX,BX,CX,DX 16 位 通 用 寄 存 器 AH,BH,CH,DH,AL,BL,CL,DL 8位通用寄存器 CS,DS,ES,SS 段寄存器 SP,BP ,IP 堆栈指针,基址指针,指令指针 DI,SI 目的,源变址寄存器 Flags 标志寄存 r r=AX、BX、 CX、DX r=AL、BL、CL、DL a( acc) a=AX AL
Seg seg=CS、DS、ES、SS Src( source)、dst( dest)源操作数、目的操作数 Count 计数器 Oprd 操作数 Im 立即数 n 8位 nn 16位 nnnn 32位 EA 有效地址
三、寻址方式数据和程序在存储器 中的位置,称为地址。存 放指令的地址,称为指令 地址;存放数据的地址, 称为操作数地址,简称操 作地址。 寻找指令地址和操作 数地址的方式,统称为寻 址方式。形成指令地址和 操作数地址的过程,称为 寻址过程。(一)指令地址的寻址方式 (二)操作数地址寻地方式
(一)指令地址的寻址方式在微机中,指令地址的寻址方式比较简单,通常是在 CPU中设置程序计数器PC,PC中的内容就是指令地址。 在一般情况下,程序是顺序执行的,程序在存储器中也 是按顺序存放的。这时,只要将程序计数器中的内容自动递 增,就可以形成下一条指令地址。 当需要改变程序的执行顺序时,要使用转移指令,由转 移指令给出转移后指令字的起始地址。将此地址送到程序计 数器,就形成了转移后的地址。然后,程序计数器中的内容 又自动递增,直到再次发生转移为止。
(二)操作数地址寻地方式微机在工作时,指令地址在程序执行过程中时自动形成 的,但指令所需的操作数地址是随机的,要根据指令的规定 求得,获得操作数地址的方式,称为操作数寻址方式,有时 也把它称为寻址方式。 在操作数寻址方式中,除了涉及BP的寻址方式外,一般 寻址均在数据段内(段地址由 DS提供),在涉及 BP时,则 使用堆栈段(段地址由 SS 提供),在执行串操作时,使用 附加段 ES。在各种寻址方式中,以立即数和存储器直接寻 址方式,速度最快,因为此时8086/8088的执行单元EU可 以立即从寄存器中或指令队列中取出操作数,而无须再由总 线执行单元计算出有效的20位地址,然后再去取操作数。
1.立即数寻址在指令中直接给出一个常数作为操作数,如: MOV AX,200 表示将常数200送到存储器AX中,要注意的是在16位操 作中,直接数的取值范围为32767(7FFFH)到-32768 (8000H),当为无符号数时则为0-65535(0FFFFH), 对8位数应为0-255(OFFH),符号数为127(7FH)到128(80H)。
2.寄存器直接寻址
指令中的寄存器存放了操作数,如
: ADD CX,BX 表示将BX中的值直接相加,然后送到CX中去。
3.寄存器间接寻址在指令中,有操作数的地址,将该地址同左移 4位后的 DS 值相加,即可得到 20位物理地址,从该地址中取出操作 数进行指令所要求的操作,这种寻址方法称为直接寻址,通 常该类指令中,操作数的地址用标号表示,例如: ADD AX、TABLE 表示将AX中的值和TABLE表示的地址中的内容相加,和 放在AX中。 8086/8088 按字存放内容时,低字节方在低地址中, 高字节跟随其后,方在高地址中。
5.变址寻址将指令中指令的变址寄存器的内容加上偏移值,即成为 操作的地址,例如: MOV DI,4 MOV AX,TABLE[DI] 表示偏移值 TABLE加4(DI的内容)作为操作数地址, 取出操作数送AX。 这种寻址方式通常用于读写表中的元素,如TABLE偏移 值表示的首址,加4表示将表中的第三个量(16位)送AX, 读写数组元素也采用此法。
6.基址寻址同变址类似,不过这种寻址中使用基址寄存器 BX、BP 代替变址寄存器 DI 和 SI。它是将基址寄存器的内容加上偏 移量而作为操作数地址的,例如: MOV AX,[BX+6] 表示BX作为基址,距其偏移6字节的地址便是操作数地 址,在这种寻址中 BX 基址对应的段地址在当前数据段中, 若基址是BP,则操做数在堆栈段内。 IBM汇编允许用三种形式指定基址寻址,它们的效果是 一样的,如: MOV AX,[BX]+6 ;标准格式 MOV AX,6[BX] ;先写偏移值 MOV AX,[BX+6] ;偏移值写在括号内
…… 此处隐藏:1496字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




