已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IBMPC机的指令系统 80 x86指令系统分成下列六大类 数据传送指令算术运算指令逻辑运算和移位指令控制转移指令串操作指令CPU控制指令与标志位处理指令 控制转移指令 无条件转移指令条件转移指令子程序调用和返回指令中断指令 无条件转移指令 格式 JMP地址表达式功能 使程序的流程无条件跳到转移地址所指的地方 转移目的地址 CS 16 IP 段内转移 改变IP的内容 CS的内容不变 段间转移 IP CS的内容都改变 段内直接寻址 指令中直接给出到达的目标地址例如 JMPPROG1 转移范围 32768 32767JMPSHORTNEXT 转移范围 128 127段内间接寻址 指定某个寄存器的内容或某个字单元的内容作为转移地址的偏移地址 例如 JMPBX BX IPJMPWORDPTR 1000H DS 1000H IPJMPWORDPTR SI 2 DS SI 2 IPJMPTABLE BX DS TABLE BX IP 段间直接寻址 通过标号直接给出转移地址例如 JMPFARPTRNEXTP NEXTP的段址 CS 偏址 IPJMPNEXTP1 NEXTP1的段址 CS 偏址 IP段间间接寻址 指定一个4字节的单元内容作为转移地址 其中低二字节内容 IP 高二字节内容 CS 例如 JMPDWORDPTR 100H JMPDWORDPTR BX Notice 段内与段间直接寻址可以有相同的格式标号前可以有 SHORT FAR NEAR PTR机器指令中使用的是位移量间接转移注意类型 条件转移指令 标志位条件转移指令二个无符号数比较转移指令二个带符号数比较转移指令 标志位条件转移指令 JC标号 当 CF 1 则转移 JNC标号 当 CF 0 则转移 JZ JE标号 当 ZF 1 则转移 JNZ JNE标号 当 ZF 0 则转移 JS标号 当 SF 1 则转移 JNS标号 当 SF 0 则转移 JO标号 当 OF 1 则转移 JNO标号 当 OF 0 则转移 JP标号 当 PF 1 则转移 JNP标号 当 PF 0 则转移 二个无符号数比较转移指令 设A为被减数 B为减数 CMPA BJA标号 当A B时转移 JAE标号 当A B时转移 JB标号 当A B时转移 JBE标号 当A B时转移 CFZF 二个带符号数比较转移指令 JG标号 当被减数大转移 JGE标号 当被减数大于等于减数转移 JL标号 当被减数小转移 JLE标号 当被减数小于等于减数转移SFOFZF 例子1 完成分段函数 1AL0 JCXZ JECXZ条件转移指令 格式 JCXZ JECXZ标号功能 当 CX ECX 0时 转向标号 循环控制指令LOOP LOOPE LOOPNE 格式 LOOP标号 功能 CX 1 CX 若 CX 0 则转移功能等价DECCXJNZ标号格式 LOOPE LOOPNE CX0 and ZF 1 0 Notice 除无条件转移指令只能使用标号 条件转移指令在386前只能是段内直接短转移 即偏移量为 128 127 JCXZ JECXZ和LOOP只能是段内直接短转移 使用LOOP指令 注意初始值是否为0 不同于rep 习题 找出100个有符号字节数中间的最大数 过程调用和返回指令 调用指令CALL格式 CALL子程序 地址表达式功能 保护断点 将当前断点压入堆栈 转入子程序 将子程序段的入口地址送入IP CS 段内直接调用CALLSubx执行过程 PUSHIP Subx入口地址 IP段内间接调用 子程序的入口偏移地址存放在Reg或者Mem中CALLBXCALLWORDPTR 1000H 执行过程 PUSHIP 子程序入口地址 IP 段间直接调用CALLSubf或CALLFARPTRSubf执行过程 PUSHCS PUSHIP 子程序入口地址 CS IP段间间接调用 子程序入口段地址和偏移地址存在DWORD中CALLDWORDPTRADDR执行过程 PUSHCS PUSHIP ADDR IP ADDR 2 CS 子程序返回指令RET N F 格式 RET n 功能 返回主程序 根据子程序的属性Near Far决定 段内返回 POPIP段间返回 POPIP POPCSRETn 返回 并执行SP SP n CALL与RET类型必须一致 code1segmentmainprocfar callsub retmainendpcode1endscode2segmentsubprocfar retsubendpcode2ends 段间调用和返回 子程序调用和返回 段内 段间 CALL与RET指令的模拟 CALL模拟PUSHCS 段间需要MOVAX OFFSETRETADD PUSHAXJMP过程名RET模拟POPAX 弹出IPJMPAX 段内段间怎么办 中断调用与返回指令 中断 数据传输方式 软中断和硬中断中断服务程序 处理中断的子程序 中断向量 中断子程序的入口地址中断向量表 存放在00000H地址的四字节表格中断类型码 给中断向量的一个编号 中断向量表查看 debug 中断调用指令INT格式 INTn功能 调用n号中断子程序操作 PUSHF PUSHCS PUSHIP取得中断向量 转入中断返回指令IRET格式 IRET操作 POPIP POPCS POPF DOS中断调用 MS DOS API 1 失败 DOS21H号中断调用 1 从键盘读入一个字符MOVAH 1 8 回显 不回显 INT21H 键入字符的ASCII存入AL中2 显示一个字符到屏幕MOVAH 2MOVDL ASCIIINT21H DOS21H号中断调用 3 显示一个字符串到屏幕MOVAH 9LEADX STRINGINT21H 字符串要求以 结束4 从键盘读入一个字符串到屏幕MOVAH 0AHLEADX STRINGINT21HSTRING第一个字节为长度 第二个为实际输入的长度 DOS21H号中断调用 5 返回DOSMOVAH 4CHINT21H IBMPC机的指令系统 80 x86指令系统分成下列六大类 数据传送指令算术运算指令逻辑运算和移位指令控制转移指令串操作指令CPU控制指令与标志位处理指令 CLCCF 0CMCCF CFSTCCF 1CLDDF 0STDDF 1CLIIF 0STIIF 1注意 只影响本指令指定的标志 标志处理指令 NOP 空操作 机器码 90H 与XCHGAX AX相同用途 Timer1个时钟周期 DSP C51PlaceHolder一个字节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高频电感器包封工操作知识考核试卷含答案
- 油制气工岗前新技术考核试卷含答案
- 物探工环保及安全强化考核试卷含答案
- 化工单元操作工岗前认证考核试卷含答案
- 四氯化硅氢化工岗中学习型组织考核试卷含答案
- 黄酒培菌工安全知识竞赛考核试卷含答案
- 碱减量操作工管理综合考核试卷含答案
- 电子工程学院就业前景分析
- 顶尖人工智能院校排名
- 企业管理人员年终工作总结
- 2026年4月自考13000英语(专升本)试题
- 2026年档案职称中级高分题库附完整答案详解【网校专用】
- 监控中心监控画面巡查制度
- 2025版先天性甲状腺功能减退症诊治指南解读课件
- 2026年上海市静安区高三语文二模作文题目解析及范文:当你觉得对话失去意义
- 2026年北京市西城区初三一模语文试卷(含答案)
- 2026广岩国际投资有限责任公司招聘14人建设笔试模拟试题及答案解析
- 2026年基金从业资格证全真模拟模拟题及参考答案详解(模拟题)
- 叉车司机实操模拟考试附答案
- 循环经济工业园光储充一体化重卡超级充电站项目可行性研究报告模板-拿地立项申报
- 2025年消防继续教育试题及答案
评论
0/150
提交评论