2-微处理器指令系统第1讲解说.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 8088的指令执行过程 返回 * * * * * * * 1.立即寻址方式 操作数直接存放在指令代码中,紧跟在操作码之后,这种操作数被称为立即数imm 它可以是8位数值i8(00H-FFH) 也可以是16位数值i16(0000H-FFFFH) 立即数寻址方式常用来给寄存器赋值 MOV AL,05H ;AL←05H MOV AX,0102H ;AX←0102H 双操作数指令的源操作数和目的操作数可采用不同的寻址方式 * 2.寄存器寻址方式 操作数存放在CPU的内部寄存器reg中: 8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP 4个段寄存器seg: CS、DS、SS、ES 例:将2和 5相加 MOV AL,02H MOV BL,05H ADD AL,BL 另解: MOV AL,02H ADD AL,05H * 3.存储器寻址方式 指令中给出操作数的主存地址信息(有效地址EA),而段地址在默认的或用段超越前缀指定的段寄存器中 有多种存储器寻址方式 1)直接寻址方式 2)寄存器间接寻址方式 3)寄存器相对寻址方式 4)基址变址寻址方式 5)相对基址变址寻址方式 * 1)直接寻址方式 有效地址在指令中直接给出 默认的段地址在DS段寄存器,可使用段超越前缀改变 MOV AX,[2000H];AX←DS:[2000H] MOV AX,ES:[2000H];AX←ES:[2000H] 注意:编程时使用的是符号地址, 如MOV AX,DATA;DATA是表示单元地址 * 2)寄存器间接寻址方式 有效地址存放在基址寄存器BX或变址寄存器SI、DI中 默认的段地址在DS段寄存器,可使用段超越前缀改变 MOV AX,[SI] ;AX←DS:[SI] ADD ES:[BX],AX ; AX←ES:[BX]+ AX * 3)寄存器相对寻址方式 有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX/BP或SI/DI 有效地址=BX/BP/SI/DI+8/16位位移量 段地址对应BX/SI/DI寄存器默认在DS,对应BP寄存器默认在SS;可用段超越前缀 MOV AX,[DI+06H] ;AX←DS:[DI+06H] MOV AX,[BP+06H] ;AX←SS:[BP+06H] * 4)基址变址寻址方式 有效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀 MOV AX,[BX+SI] ;AX←DS:[BX+SI] MOV AX,[BP+DI] ;AX←SS:[BP+DI] MOV AX,DS:[BP+SI] ;AX←DS:[BP+SI] * 5)相对基址变址寻址方式 有效地址是基址寄存器 BX/BP 、变址寄存器 SI/DI 与一个8位或16位位移量之和: 有效地址=BX/BP+SI/DI+8/16位位移量 段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认是SS;可用段超越前缀 MOV AX,[BX+SI+06H] ;AX←DS:[BX+SI+06H] * 寻址方式的多种表示方式 位移量可用符号表示: MOV AX,[SI+COUNT] ;COUNT是事先定义的变量或常量(就是数值) MOV AX,[BX+SI+WNUM] ;WNUM是变量或常量 同一寻址方式可以写成不同的形式: MOV AX,[BX][SI] ;MOV AX,[BX+SI] MOV AX,COUNT[SI] ;MOV AX,[SI+COUNT] MOV AX,WNUM[BX][SI] ;等同于 MOV AX,WNUM[BX+SI] ;等同于 MOV AX,[BX+SI+WNUM] * 第三章内容提前:汇编语言程序格式 1、完整段定义格式 2、简化段定义格式(MASM 5.0开始支持) 3、汇编语言的开发过程 * 1.完整段汇编语言源程序格式 汇编语言源程序由段组成,可包含代码段、数据段、附加段或堆栈段 段与段之间的顺序可随意排列,也可重叠 需独立运行的程序必须包含一个代码段,并指出程序执行的起始点,一个程序只有一个起始点 所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内 * 汇编语言完整段定义格式 不区分大小写) sseg segment stack ;定义堆栈段 stp db 100 dup 0 sseg ends…… ; dseg segment ;定义数据段 dtb db 20h,10h

文档评论(0)

舞林宝贝 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档