网站大量收购独家精品文档,联系QQ:2885784924

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

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

自动化系 计算机原理及应用 第二章 微型机指令系统 § 2.1 寻址方式 寻址:寻找操作数,以传送指令为例说明 操作数在指令中---立即寻址 例:MOV AL , 31H ; AL←31H 机器码: 1011 0000B + 1 0011 0001B 立即数31H 指令操作码 例:MOV AL , 31H ; AL←31H ref. P439 B0 操作码: 1011 0000 8 位 立即数 0011 0001 AL 传给R 立即数31H 16位传送 MOV AX , 3124H ; AL ←24H , AH←31H 机器码: 1011 1000B 16位 ref.439 B8 传给R 0010 0100B AX 0011 0001B 多字节数在内存中存放: 低字节在前,高字节在后 操作数在寄存器中---寄存器寻址 指令中出现寄存器名 例:MOV AH , AL ; AH←AL 机器码: 1000 1000B 1100 0100B 源寄存器AL 目标寄存器AH CPU内部执行,不需要执行总线周期 操作数在内存中 EA在指令中 ——直接寻址 EA在寄存器中(变址寄存器SI,DI及基址寄存器BX,BP) ——寄存器间接寻址 EA为变址寄存器SI / DI 加地址位移量disp ——变址寻址 EA为基址寄存器BX / BP,加地址位移量disp ——基址寻址 EA为一个变址寄存器加一个基址寄存器,再加位移量 ——基址-变址寻址 操作数在内存中 寄存器间接寻址--- EA在寄存器中,指令中看到寄存器名 例:MOV BX , [ DI ] ; BL ← DS : [ DI ] BH ← DS : [ D I + 1 ] 4.基址寻址 EA为基址寄存器BX / BP,加地址位移量disp 例:MOV AX , 1002H[ BX ] ; AX ←DS : [ BX+ 1002H ] MOV AX , 40H[ BP] ; AX ←SS : [ BP+ 40H ] 两条都是16位传送。 隐含段寄存器 基址寻址中用BX时段基址 和变址寻址一样隐含在DS中, 但基址寻址用BP时段基址 隐含在SS中 5.基址-变址寻址 EA为一个变址寄存器加一个基址寄存器,再加位移量 例:MOV AX , 1004H[ BX ] [ SI ] ; AX ←DS : [ BX+ SI+ 1004H ] 不能同时用两个变址(SI/DI),或同时用两个基址寄存器(BX/BP) 隐含段基址及段超越 段基址一般隐含在DS中,但用BP时段基址隐含在SS中 指令中也可以给出段超越信息 Ex. MOV ES:[DI], AX P59表2.3 2.堆栈操作指令 堆栈:用于暂存数据的一段内存 FILO:数据先进后出 栈顶:最后压入 / 即将弹出的单元 地址为 SS :SP 程序开始前设置SS :SP 程序运行中堆栈操作会改变SP: 压入堆栈时SP先减2(2Byte) 弹出堆栈后SP加2 PUSH AX ; 压入堆栈 (目标地址隐含) POP AX ; 弹出堆栈 (源地址隐含) 先压入的后弹出,后压入的先弹出, 在一个用户程序中,PUSH和POP一 般成对使用,以保证SP复原 存储器 IN / OUT 输入输出 例:IN AL , 60H ; AL ←[ Port60H ] OUT 62H , AL ; [ Port62H ] ←AL MOV DX , 200H ;16位I / O地址 OUT DX , AL ;用DX作间址输出 IN AX , DX ; 间址输入,且输

文档评论(0)

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

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

1亿VIP精品文档

相关文档