




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章 第三章指令系统 8086指令系统中 包含133条基本指令 与寻址方式再加上不同的数据形式 可构成上千种指令 按功能 指令可分为6类数据传送类算术运算类逻辑运算与移位类串操作类处理器控制类 第3章 3 2数据传送类指令 数据传送是计算机中最基本 最重要的一种操作 传送指令也是最常使用的一类指令可完成寄存器之间 寄存器与存储器之间 寄存器与I O端口之间的字节或字传送 传送指令把数据从一个位置传送到另一个位置除SAHF和POPF标志寄存器传送指令外 均不影响标志位重点掌握MOVXCHGXLATPUSHPOPLEA 第3章 3 2数据传送类指令 数据传送类指令 共14条 分为4小类 通用数据传送 5条 目标地址传送 3条 标志位传送 4条 I O数据传送 2条 第3章 3 2 1通用数据传送指令 提供方便灵活的通用传送操作有5条指令MOVXCHGXLATPUSHPOP MOV XCHG XLAT PUSH POP 第3章 1 传送指令MOV move 把一个字节或字的操作数从源地址传送至目的地址 MOVreg mem imm 立即数送寄存器或主存 MOVreg mem seg reg 寄存器送 段 寄存器或主存 MOVreg seg mem 主存送 段 寄存器 MOVreg mem seg 段寄存器送寄存器或主存 演示 第3章 MOV指令 立即数传送 movcl 4 cl 4 字节传送movdx 0ffh dx 00ffh 字传送movsi 200h si 0200h 字传送movbvar 0ah 字节传送 假设bvar是一个字节变量 定义如下 bvardb0movwvar 0bh 字传送 假设wvar是一个字变量 定义如下 wvardw0 明确指令是字节操作还是字操作 第3章 MOV指令 寄存器传送 movah al ah al 字节传送movbvar ch bvar ch 字节传送movax bx ax bx 字传送movds ax ds ax 字传送mov bx al bx al 字节传送movax 0 AX清零 字传送 寄存器具有明确的字节和字类型 第3章 MOV指令 存储器传送 moval bx al ds bx movdx bp dx ss bp 0 movdx bp 4 dx ss bp 4 moves si es ds si mov bx ax ds bx ax 不存在存储器向存储器的传送指令 第3章 MOV指令 段寄存器传送 mov si dsmovax ds ax dsmoves ax es ax dsmovcs ax 错误指令 对段寄存器的操作不灵活 第3章 MOV指令传送功能图解 MOV指令也并非任意传送 MOV指令需注意的问题 MOV指令可传送8位数据 也可传送16位数据MOV指令中的两个操作数s和d 必用1个寄存器 不允许同为存储单元不能用CS和IP做目的操作数不允许段寄存器之间直接传送数据不允许立即数做目的操作数不能向段寄存器送立即数 第3章 非法指令 两个操作数类型不一致 在绝大多数双操作数指令中 目的操作数和源操作数必须具有一致的数据类型 或者同为字量 或者同为字节量 否则为非法指令MOVAL 050AH 非法指令 修正 movax 050ahMOVSI DL 非法指令 修正 movdh 0 movsi dx 第3章 非法指令 无法确定是字节量还是字量操作 当无法通过任一个操作数确定是操作类型时 需要利用汇编语言的操作符显式指明MOV BX SI 255 非法指令 修正 movbyteptr bx si 255 byteptr说明是字节操作 movwordptr bx si 255 wordptr说明是字操作 第3章 非法指令 两个操作数都是存储器 8086指令系统除串操作指令外 不允许两个操作数都是存储单元 存储器操作数 MOVbuf2 buf1 非法指令 修正 假设buf2和buf1是两个字变量 movax buf1 movbuf2 ax 假设buf2和buf1是两个字节变量 moval buf1 movbuf2 al 非法指令的主要现象 两个操作数的类型不一致无法确定是字节量还是字量操作两个操作数都是存储器段寄存器的操作有一些限制 第3章 非法指令 段寄存器的操作有一些限制 8086指令系统中 能直接对段寄存器操作的指令只有MOV等个别传送指令 并且不灵活MOVDS ES 非法指令 修正 movax es movds axMOVDS 100H 非法指令 修正 movax 100h movds axMOVCS SI 非法指令 指令存在 但不能执行 例 MOV BX 2000H 12ABH其中 BX 1200H CS 1800H IP 0500H DS 3000H DS BX 1200 3000 2000 AB 33200H 33201H 12 课堂练习 1 完成两个存储单元 SI 和 DI 之间数据传送 2 CPU内部寄存器之间实现数据传送 3 将数据段首地址data填入DS中 第3章 2 交换指令XCHG exchange 把两个地方的数据进行互换 寄存器与寄存器之间对换数据寄存器与存储器之间对换数据不能在存储器与存储器之间对换数据不能使用立即数CS和IP不能作为源或目的操作数 XCHGreg reg mem reg reg mem 演示 第3章 例 数据交换 movax 1199h ax 1199hxchgah al ax 9911hmovwvar 5566h wvar是一个字量变量xchgax wvar ax 5566h wvar 9911h 等同于xchgwvar ax 例 XCHGAX SI 0400H 其中 CS 1000H IP 0064H DS 2000H SI 3000H AX 1234H 物理地址 DSX16 SI 0400H 20000H 3000H 0400H 23400H 将AX内容1234H 与23400H 234001H两个单元的内容相互交换位置 第3章 3 换码指令XLAT translate 作用 通过代码完成代码转换将BX指定的缓冲区中 AL指定的位移处的一个字节数据取出赋给AL 换码指令执行前 在主存建立一个字节量表格 内含要转换成的目的代码表格首地址存放于BX AL存放相对表格首地址的位移量换码指令执行后 将AL寄存器的内容转换为目标代码 XLAT al ds bx al 演示 第3章 4 堆栈操作指令 堆栈是一个 后进先出FILO 或说 先进后出FILO 的主存区域 位于堆栈段中 SS段寄存器记录其段地址堆栈只有一个出口 即当前栈顶 用堆栈指针寄存器SP指定堆栈只有两种基本操作 进栈和出栈 对应两条指令PUSH和POP 图示 第3章 进栈指令PUSH PUSH指令的执行分两步 1 SP SP 2 SS SP为当前新的栈顶 2 将r16 m16 seg中的内容送入ss sp指向的内存单元处 PUSHr16 m16 seg SP SP 2 SS SP r16 m16 seg 演示 pushaxpush 2000h 第3章 进栈指令PUSH 01 23 sp 10000H 1000FH 1000EH 1000DH 1000CH 1000BH 1000AH 例1 SS 1000HSP 000CHAX 2266H执行PUSHAX 22 66 sp 执行过程 1 sp sp 2SP中的内容变为 000CHSS SP指向1000 000CH栈顶的地址变为1000CH 2 将AX中的内容送ss sp指向的内存单元处 当前状态 栈顶地址 1000 000EH即1000EHAX中的内容 2266H 22 66 第3章 出栈指令POP POP指令的执行分两步 1 将ss sp指向的内存单元处的数据送入r16 m16 seg中 2 SP SP 2 SS SP为当前新的栈顶 POPr16 m16 seg r16 m16 seg SS SP SP SP 2 popaxpopwvar 演示 第3章 出栈指令POP 01 23 10000H 1000FH 1000EH 1000DH 1000CH 1000BH 1000AH 22 66 22 66 sp sp 例2 POPAX的执行过程 初始状态 SS 1000HSP 000CH 执行POPAX过程 第一步 将ss sp指向的内存单元处的数据送入AX中第二步 SP SP 2 SS SP指向1000EH 例3 如果将10000H 1000FH这段空间当做栈 初始状态为空 此时 ss 1000H sp 例4 编程 将10000H 1000FH这段空间当做栈 初始栈是空的 将AX BX中的数据入栈 程序 MOVAX 1000HMOVSS AXMOVSP 0010H 初始化栈顶 如右图所示PUSHAX AX中数据入栈PUSHBX BX中数据入栈 10010H SP 例5 编程 1 将10000H 1000FH这段空间当做栈 初始栈是空的 2 设置AX 001AH BX 001BH 3 将AX BX中的数据入栈 4 然后将AX BX清零 5 从栈中恢复AX BX原来的内容 程序 MOVAX 1000HMOVSS AXMOVSP 0010H 初始化栈顶MOVAX 001AH MOVBX 001BHPUSHAXPUSHBX AX BX入栈MOVAX 0 将AX清零MOVBX 0POPBXPOPAX 从栈中恢复AX BX 第3章 堆栈操作的特点 堆栈操作的单位是字 进栈和出栈只对字量字量数据从栈顶压入和弹出时 都是低地址字节送低字节 高地址字节送高字节堆栈操作遵循先进后出原则 但可用存储器寻址方式随机存取堆栈中的数据CS的内容可以入栈 但不能反过来弹出一个内容到CS堆栈段是程序中不可或缺的一个内存区 常用来临时存放数据传递参数保存和恢复寄存器 第3章 3 2 2目的地址传送指令 目标地址传送指令 3条 有效地址传送指令 LEA指定寄存器及DS传送指令 LDS制定寄存器及ES传送指令 LES 第3章 3 2 2目的地址传送指令 LEA 有效地址传送指令LEA loadeffectiveaddress 将存储器操作数的有效地址送至指定的16位通用寄存器 LEAr16 mem r16 mem的有效地址EA 例题有效地址的获取movbx 400hmovsi 3chLEAbx bx si 0f62h BX 400H 3CH 0F62H 139EH 注意MOV与LEA的区别 第3章 3 2 2目的地址传送指令 LDS 作用 将寻址到的内存地址的前两个字节送16位寄存器 后两个字节送DS格式 LDSd s例 LDSSI DI 100AH 其中 DS 2000H DI 2400H 2340AH 字单元内容为0180H 2340CH 字单元的内容为 2230H PA DSX16 DI 100AH 2340AH 将物理地址2340AH单元开始的4个字节中 前两个字节0180H传送到SI寄存器中后两个字节2230H传送到DS寄存器中 并用它取代原值2000H 第3章 3 2 2目的地址传送指令 LES 作用 将寻址到的内存地址的前两个字节送16位寄存器 后两个字节送ES格式 LESd s例 LESSI DI 100AH 其中 DS 2000H DI 2400H 2340AH 字单元内容为0180H 2340CH 字单元的内容为 2230H PA DSX16 DI 100AH 2340AH 将物理地址2340AH单元开始的4个字节中 前两个字节0180H传送到SI寄存器中后两个字节2230H传送到ES寄存器中 第3章 3 2 3标志位传送指令 标志位传送指令 4条 将FR低字节装入AH寄存器 LAHF将AH内容装入FR低字节 SAHF将FR内容压入堆栈 PUSHF将堆栈内容弹出到FR POPF 第3章 3 2 3标志位传送指令 LAHF 将FR的低字节装入AH中 AH 第3章 3 2 3标志位传送指令 LAHF 将AH的内容放到FR的低八位中 AH 第3章 3 2 3标志位传送指令 PUSHF 将16位标志寄存器入栈保护POPF 将当前栈顶的数据字弹出 送回标志寄存器中 经常成对出现 用在子程序及中断处理程序的首尾用来保护和恢复主程序所涉及的标志寄存器的内容 必要时可用来修改标志寄存器的内容 第3章 3 2 4I O数据指令 I O传送指令 2条 输入字节或字 IN累加器 端口输出字节或字 OUT端口 累加器特点 I 0指令只能用累加器执行I O数据传送指令直接寻址I O指令 寻址范围0 255间接寻址I O指令 寻址范围0 65535I O设备地址两种方式 固定端口和可变端口 第3章 3 2 4I O数据指令 IN累加器 端口号 指定端口中内容输入到累加器AL AX端口号可由8位立即数直接给出也可由DX寄存器间接给出16位端口号 第3章 3 2 4I O数据指令 OUT端口号 累加器 指定累加器AL AX内容输入到端口中端口号可由8位立即数直接给出也可由DX寄存器间接给出16位端口号 第3章 调试程序DEBUG D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62841-2-22:2025 EXV EN Electric motor-operated hand-held tools,transportable tools and lawn and garden machinery - Safety - Part 2-22: Particular requirements for hand-
- 2025至2030中国白银行业市场发展分析及发展趋势与投资前景报告
- 2025至2030中国男式化妆品行业市场发展现状及发展前景与投资风险报告
- 2025至2030中国甘蔗榨汁机械行业深度研究及发展前景投资评估分析
- 招聘培训课件素材
- 教育心理学在家庭环境中的实践-以培养孩子同理心为例的探索研究
- 教育科技伦理视角下的创新与责任
- 企业教育培训的科技伦理要求及实现途径
- 教育设施与节能环保的完美结合
- 智慧教室中的情绪识别与干预策略研究
- 电商品牌代理权专属合作协议范本
- 踢拳教学课件
- 幼儿园中班下家长会课件
- 2025年度上半年校园安全工作总结及下半年工作计划
- 美国博物馆向中方归还楚帛书
- 景区吊桥设施管理制度
- 2025年高考数学全国新课标Ⅱ卷试卷评析及备考策略(课件)
- 《2025版防范电信网络诈骗宣传手册》专题讲座
- 2025-2030年中国写字楼行业市场深度调研及前景趋势与投资研究报告
- 【伊春】2025年黑龙江伊春市纪委监委所属事业单位公开招聘工作人员57人笔试历年典型考题及考点剖析附带答案详解
- 2025年希望杯IHC真题-二年级(含答案)
评论
0/150
提交评论