




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8088 8086CPU指令系统 寻址方式解决了操作数存放的形式 本节讲述8088 8086CPU基本指令的助记符表示形式及功能结合不同的寻址方式 将133条基本指令组合为上千种指令功能 8088 8086CPU基本指令类 数据传送类指令算术运算类指令逻辑运算类指令串操作类指令控制转移类指令处理器控制类指令 程序转移指令用来控制程序的走向 其实质是设法改变当前的CS和IP值 以使CPU转移到一个新的地址处执行程序 控制转移类指令 控制转移类指令 无条件转移指令JMP指令CALL RET指令有条件转移指令JXX组指令中断指令INT IRET INTO指令循环控制指令LOOP LOOPZ LOOPNZ指令 控制转移类指令 JMP 无条件转移指令 段内直接短转移JMPSHORTLABEL IP目的 IP当前 rel8 8bit符号数 rel8在 128 127之间段内直接近转移JMPNEARLABEL IP目的 IP当前 rel16 16bit符号数 rel16在 32768 32767之间 段内直接短转移 rel8 IP源 IP当前 IP目的 错误的rel8 正确的rel8 LABEL JMPSHORLABEL IP目的 IP当前 rel8IP目的 IP源 rel8 2 注 rel8 80H 06H 段内直接近转移 rel16 IP源 IP当前 IP目的 错误的rel16 正确的rel16 LABEL JMPNEARLABEL IP目的 IP当前 rel16IP目的 IP源 rel16 3 00H 05H 例 设标号偏移地址 1000H 执行完JMP指令后的当前IP值为0009H 则 位移量 1000H 0009H 0FF7H 控制转移类指令 JMP 无条件转移指令 段内间接转移寄存器中的值为段内IP目的地址JMPBX存储器中的值为段内IP目的地址JMPWORD BX JMPWORD 2000H 注 段内转移方式 CS不变 IP变 控制转移类指令 JMP 无条件转移指令 段间直接远转移JMPFARLABEL LABEL为CS目的 IP目的段间间接远转移JMPDWORD BX CS目的 IP目的在地址 BX 中 注 段间转移方式 CS变 IP变 当前CS 2100H JMP0C020065 转移目标的偏移地址 转移目标的段地址 1621000H 代码段1 1665000H 新CS 6500H 代码段2 转移至此 当前IP 1500H 新IP 020CH 控制转移类指令 段内间接转移与段间间接远转移讨论 JMP BX 指令错误 未确定 BX 中的数据类型JMPWORD BX 段内间接转移 返回16位IP目的值JMPDWORD BX 段间间接远转移 返回32位CS目的 IP目的值 段内间接转移与段间间接远转移例 若 BX 2000HJMPWORD BX CS目的 CS源IP目的 3C2AHJMPDWORD BX CS目的 3367HIP目的 3C2AH 2000H 控制转移类指令 CALL RET 过程调用与过程返回指令 过程调用指令 CALLLABEL段内近调用过程CS不变 IP变 保护现场即将IP当前值入栈段间远调用过程CS IP均变 保护现场即将CS当前 IP当前值入栈过程返回指令 RET定义近过程时RET指令恢复现场即将IP当前值出栈定义远过程时RET指令恢复现场即将IP当前 CS当前值出栈 控制转移类指令 IP当前 SS SP保护现场IP值入栈 段内近调用过程 CALLLABEL 段内近调用返回 RET IP当前 SS SP恢复现场IP值出栈 段间远调用过程 CALLLABEL CS当前 SS SP恢复现场CS值出栈 CS当前 SS SP保护现场CS值入栈 IP当前 SS SP保护现场IP值入栈 段间远调用返回 RET IP当前 SS SP恢复现场IP值出栈 控制转移类指令 近过程的调用时的保持现场 MOVAX BXCALLMAINMOVBX AX 2002H CS 2005H IP当前入栈 IP目的 8030H IP源 IP当前 2000H 控制转移类指令 CALL指令中的直接调用与间接调用段内近过程调用直接IP目的间接IP目的段间远过程调用直接CS目的 IP目的间接CS目的 IP目的 CALLMAIN CALLBX CALLDWORD BX CALLMAIN 控制转移类指令 CALL JMP指令比较 CALL指令先保护现场CS当前 IP当前后获得调用过程入口CS目的 IP目的 JMP指令不保护现场CS当前 IP当前只获得跳转程序入口CS目的 IP目的 控制转移类指令 JXX 有条件转移指令 指令格式JL JGE JNZ等指令特点仅有段内短转移 IP目的 IP当前 rel8rel8值在页内 即 128 127间前导指令CMP TEST DECCX等 注 执行JXX指令前的指令必须影响标志位 条件转移指令的执行流程 控制转移类指令 有条件转移指令的英文符号 Zero 目的操作数减源操作数为0 ZF 0 Equal 目的操作数等于源操作数 ZF 0 Above 目的操作数高于源操作数 CF 0 Below 目的操作数低于源操作数 CF 1 Greater 目的操作数大于源操作数 OF SF 0 Less 目的操作数小于源操作数 OF SF 1 Carry 两无符号运算后有进位 CF 1 Overflow 两有符号运算后有溢出 OF 1 Sign 两有符号运算后有符号 SF 1 Parity 奇偶位为偶 PF 1 Not 不是 控制转移类指令 JXX指令与状态标志位 ZF CF 与ZF有关的条件转移指令JE JZ 两数相等 两数相减不为零 ZF 0 JNE JNZ 两数有等 两数相减为零 ZF 1 与CF有关的条件转移指令JAE JNB 高于或等于 不低于 CF 0 JNC 无进位 无借位 CF 0 JB JNAE 低于 不高于也不等于 CF 1 JC 有进位 有借位 CF 1 例 JC JNC指令 统计BX中1的个数 方法一 xoral al AL 0 CF 0again testbx 0ffffh 等价于cmpbx 0jenext ZF 1 即 BX 0 转移shlbx 1jncagain CF 0 转移incal CF 1 加1jmpagainnext AL保存1的个数 统计BX中 1 的个数 方法二 xoral al AL 0 CF 0again cmpbx 0jznextshlbx 1 也可使用shrbx 1adcal 0jmpagainnext AL保存1的个数 例 JZ JNZ指令 repzcmpsb 重复比较两个字符串jnzunmat ZF 0 不等 转移moval 0 顺序执行 相等 jmpoutputunmat moval 0ffhoutput movresult alrepzcmpsb 重复比较两个字符串jzmat ZF 1 相等 转移moval 0ffh 顺序执行 不等 jmpoutputmat moval 0output movresult al 控制转移类指令 JXX指令与状态标志位 SF PF OF 与SF有关的条件转移指令JS SF 1 时跳转JNS SF 0 时跳转与PF有关的条件转移指令JO JPE PF 1 时跳转JNP JPO PF 0 时跳转与OF有关的条件转移指令JO OF 1 时跳转JNO OF 0 时跳转 例 JS JNS指令 计算 X Y 绝对值 X和Y为存放于X单元和Y单元的16位操作数 结果存入resultmovax Xsubax Yjnsnonnegnegax neg是求补指令nonneg movresult ax 例 JO JNO指令 计算X Y X和Y为存放于X单元和Y单元的16位操作数 若溢出 则转移到overflow处理movax Xsubax Yjooverflow 无溢出 结果正确overflow 有溢出处理 例 JP JNP指令 设字符的ASCII码在AL寄存器中 将字符加上奇校验位 在字符ASCII码中为 1 的个数已为奇数时 则令其最高位为 0 否则令最高位为 1 andal 7fh 最高位置 0 同时判断 1 的个数jnpnext 个数已为奇数 则转向nextoral 80h 否则 最高位置 1 next 01000001 控制转移类指令 高于与大于 低于与小于 两无符号数比较称 高于 低于与标志位CF有关JA JNBE JAE JNB JB JNAE JBE JNAAbove Below Not Equal两有符号数比较称 大于 小于与标志位OF SF有关JG JNLE JGE JNL JL JNGE JLE JNGGreater Less Not Equal 控制转移类指令 JXX指令与状态标志位 CF ZF JA JNBE 目操作数 源操作数则转移 CF 0且ZF 0 JAE JNB 目操作数 源操作数则转移 CF 0 ZF 0或ZF 1 JB JNAE 目操作数 源操作数则转移 CF 1且ZF 0 JBE JNA 目操作数 源操作数则转移 CF 1 ZF 0或ZF 1 注 两个无符号数的比较 称高于 称低于 控制转移类指令 JXX指令与状态标志位 OF SF ZF JG JNLE 目操作数 源操作数则转移 OF SF 0且ZF 0 JGE JNL 目操作数 源操作数则转移 OF SF 0 ZF 0或ZF 1 JL JNGE 目操作数 源操作数则转移 OF SF 1且ZF 0 JLE JNG 目操作数 源操作数则转移 OF SF 1 ZF 0或ZF 1 注 两个有符号数的比较 称大于 称小于 例 比较无符号数 cmpax bx 比较ax和bxjnbnext 若ax bx 转移xchgax bx 若ax bx 交换next 例 比较有符号数 cmpax bx 比较ax和bxjnlnext 若ax bx 转移xchgax bx 若ax bx 交换next 控制转移类指令 LOOP 循环控制指令 指令特点以计数器CX 标志位ZF为条件 控制循环体指令格式LOOPLABEL若 CX 0 执行循环体LABELLOOPZLABEL或LOOPELABEL若 CX 0或ZF 1 执行循环体LABELLOOPNZLABEL或LOOPNELABEL若 CX 0或ZF 0 执行循环体LABELJCXZ短标号若 CX 0则转移至目标地址 控制转移类指令 JNZ LOOP指令比较 AGA MOVAX BX DECCXJNZAGAEXIT AGA MOVAX BX LOOPAGAEXIT 例 统计空格个数 movcx count 设置循环次数movsi offsetstringxorbx bx bx清0 用于统计空格数moval 20hagain cmpal es si jnznext ZF 0 非空格 转移incbx ZF 1 是空格 个数加1next incsiloopagain 字符个数减1 不为0继续循环 控制转移类指令 INT 中断控制指令 中断概念特事特办 立即处理中断类型内部中断软中断 由执行中断指令INT获得中断服务外部中断硬中断 由外部电平触发获得中断服务 控制转移类指令 CALL指令与INT指令比较 执行CALLLABEL指令调用过程名为LABEL的子程序执行INTn指令调用中断类型 号 为n的中断服务程序 控制转移类指令 保护现场与恢复现场 保护现场 断点 CALL近调用保护IP 远调用保护CS IPINT保护FLAG CS IP恢复现场 断点 RET根据定义过程恢复IP或IP CSIRET恢复IP CS FLAG 注 由指令完成入栈 出栈操作 控制转移类指令 INTn指令执行过程 F SS SP将标志寄存器F的值入栈保存TF 0中服程序正常运行 非单步运行IF 0中服程序中关可屏蔽中断INTR CS当前 SS SP保护现场CS值入栈 n 4 2 CS目的 获得中服程序的入口CS值 IP当前 SS SP保护现场IP值入栈 n 4 IP目的 获得中服程序的入口IP值从CS目的 IP目的处执行中服程序 控制转移类指令 IRET指令执行过程 IP当前 SS SP恢复现场IP值出栈 CS当前 SS SP恢复现场CS值出栈 FLAG SS SP恢复标志寄存器的值出栈 控制转移类指令 INTO 溢出中断指令 指令功能若溢出标志OF 1 产生4号中断 中断向量地址为10H 否则顺序执行 ADDAX BXINTOSUBAX BXINTO 控制转移类指令 中断号 中断向量 中断向量表 中断号 中断类型码 PC机定义了256个中断号从0 255或00H 0FFH中断向量中断服务程序的入口地址 即CS目的 IP目的值中断向量表存放所有中断号对应中断服务程序的入口地址CS目的 IP目的值的存储区 控制转移类指令 Intel对8088 8086CPU的保留中断向量表区 00000H 0007FH FFFFFH 128B中断向量表区 可存放32个中断向量 控制转移类指令 中断向量的存放 中断服务程序 中断向量表 8FC0H 2A30H IP目的 CS目的 每个中断服务程序的入口地址CS目的 IP目的占用4个存储单元 IP目的值放在低地址的2个存储单元 C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑方案设计概况范文大全
- 水电咨询年会策划方案
- 国潮产品活动策划方案
- 读书交流咨询活动方案
- 餐饮四月营销活动方案
- 建筑线描教学方案设计
- 咨询询价方案模板
- 宁化府营销策划书
- 纳兰直营店店长岗位职责
- 建筑定点服务方案设计流程
- 无人机飞防应急处置预案
- 四川蜀道养护集团有限公司招聘笔试题库2025
- 高一历史第一次月考卷02(考试版)(新高考适用)
- 2025年家政服务员劳务合同范文
- 2025-2026学年高一数学上学期第一次月考试题(考试版A4)
- 建筑公司法务知识培训课件
- 2025.9.3抗战胜利大阅兵初高中学生征文(高中):观九三阅兵有感
- 电梯维保流程课件
- 报废产品处置合同范本
- 70周岁老人驾考三力测试题库及答案
- 2025年《临床执业医师》考试试卷及参考答案
评论
0/150
提交评论