第二章微型机指令系统1of4_19307907.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章微型机指令系统1of4_19307907

№ * 隐含段基址及段超越 段基址一般隐含在DS中,但用BP时段基址隐含在SS中 指令中也可以给出段超越信息 Ex. MOV ES:[DI], AX 对于给出段超越的指令汇编后的机器码中,在基本指令的操作码字节前面有一个如下所示的段超越前缀字节: 7 6 5 4 3 2 1 0 0 0 1 sreg 1 1 0 sreg: 00 01 10 11 ES CS SS DS № * 隐含及允许超越的段寄存器 (P51表2.3) 3. 串操作指令(MOVS、CMPS、SCAS、STOS)的目标数据串 → ES:DI 一、不允许超越的情况: 取指令 → CS:IP 2. 堆栈操作 PUSH的目标操作数及POP的源操作数 → SS:SP № * 隐含及允许超越的段寄存器 (P51表2.3) 用BP作为基址寄存器 → SS 允许超越为SS外的另三个段寄存器中的任一个 二、允许超越但隐含段寄存器不为DS的情况: № * 隐含及允许超越的段寄存器 (P51表2.3) 允许超越为DS外的另三个段寄存器中的任一个 三、允许超越且隐含段寄存器为DS的情况: № * MOV dest, src ; 8位/16位 寄存器 立即数 或寄存器 或内存 或内存 一. 数据传送指令 MOV 一般传送 § 2.2 8088指令系统 № * 交换指令 XCHG 源和目标数据互换,8 / 16b ex. XCHG AX, SI ; 源操作数与目标操作数均可以是寄存器或存储器, ; 但不能两者同时为存储器 一条MOV指令不能: 内存 ← 内存 段寄存器 ← 立即数 段寄存器← 段寄存器 № * 查表转换指令 XLAT 用序号到表中查内容 (AL) ←((BX)+(AL)),8b (寄存器间接寻址) 预置表首地址入 BX, 序号入 AL MOV BX, OFFSET Hex_table ; 置表首地址(16位立即数) MOV AL, 0AH ; 序号入AL XLAT Hex_table ; 取表值 ; 得 (AL) = 41H 内存变量 - - - - - № * 2.堆栈操作指令(PUSH, POP) 堆栈:用于暂存数据的一段内存 FILO:数据先进后出 栈顶:最后压入 / 即将弹出的单元 地址为 SS :SP 程序开始前设置SS :SP 程序运行中堆栈操作会改变SP: 压入(PUSH)堆栈时SP先减2(2Byte) 弹出(POP)堆栈后SP加2 № * PUSH AX ; 压入堆栈 (目标地址隐含) POP AX ; 弹出堆栈 (源地址隐含) 先压入的后弹出,后压入的先弹出, 在一个用户程序中,PUSH和POP一 般成对使用,以保证SP复原 № * 存储器 SP初始指向栈底。 压入时先SP-2, 后存数 --- (SS)*10H 物理地址 物理地址 SS:SP № * P57图2.9 PUSH AX 指令执行情况示意图 (a) PUSH AX 前 (b) PUSH AX 后 ﹢ ﹢ № * P57图2.10 POP BX 指令执行情况示意图 (a) POP BX 前 (b) POP BX 后 + № * IN / OUT 输入输出 (用于外设端口接受发送数据) 例: IN AL, 60H ; AL ←[ Port60H ], OUT 62H, AL ; [ Port6

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档