第3章-1 寻址方式和指令系统.ppt

  1. 1、本文档共187页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章-1 寻址方式和指令系统 第3章-1 寻址方式和指令系统 8088/8086指令系统: (1)指令向后兼容(x86系列); (2)应用广泛,资料丰富。 寻址方式 寻址方式:指CPU指令中规定的寻找操作数所在的地址的方式。 操作数: MOV AL, 05H 操作码 目的操作数 , 源操作数 操作数引用时的字节顺序: 若存放的信息是字节,则按顺序存放 若存放的信息是字,则将字的低位字节存放在低地址,高位字节存放在高地址 注:如果没有特别说明,寻址方式是指源操作数的寻址 方式。 8088/8086的操作数分为3类 1、立即数(常数) 取值范围如下表: 指令的执行时间 一条指令的指行时间=∑ 3.1.1 立即寻址 立即寻址方式中,指令操作码和操作数都在存储器的代码段中。 汇编格式:n(n为立即操作数,是用8位或16位二进制补码表示的有符号数) 功能:操作数存放在存储器,指令下一单元的内容为立即操作数n。 图形表示: 3.1.2 直接寻址 汇编格式:①含有变量的地址表达式。 ②段寄存器名:[EA] 。 功能:有效地址由指令直接给出,有效地址只包含位移量。 图形表示: 3.1.3 寄存器寻址 寄存器寻址方式的操作数在指令指明的寄存器中。 汇编格式:R (R为寄存器名) 功能:操作数直接存放在寄存器R中。 图形表示: R 指令 → 操作数 例3.3 下列程序执行后,(AX)=?,(BX)=? MOV AX,1234H MOV BX,5678H ADD AX,BX 该程序中MOV指令为数据传送指令操作符,ADD指令为加法指令操作符,三条指令皆为双操作数指令。第一、二条指令AX、BX皆为目的操作数地址,为寄存器寻址方式。第三条指令中,AX为目的操作数地址,BX为源操作数地址。源地址和目的地址皆为寄存器寻址方式。 图形表示: 执行:1234H→AX 5678H→BX (AX)+(BX)→ AX 执行后:(AX)= 68ACH,(BX)= 5678H 3.1.4 寄存器间接寻址 寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操作数在存储器中。 汇编格式:[R] 功能:操作数存放在存储器,寄存器R存放操作数的偏移地址EA。 3.1.5 变址寻址 变址寻址方式操作数的偏移地址EA为寄存器的内容加位移量,操作数在存储器中。 汇编格式:X[R](X表示位移量,是8位或16位二进制补码表示的有符号数) 功能:操作数存放在存储器,寄存器R的内容加位移量X为操作数的偏移地址EA。 图形表示如下: 偏移地址EA计算方法如下: 例3.5: MOV AX, [BX+8] MOV CX, TABLE[SI] MOV AX, [BP+1000H] ; 默认段寄存器为SS 指令操作例:MOV AX,DATA[BX] 若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H 则物理地址 = 60000H + 1000H + 2A00H = 63A00H 3.1.6 基址—变址寻址 基址—变址寻址方式中,操作数的偏移地址EA是指令中基址寄存器内容、变址寄存器内容、位移量X三项之和,操作数在存储器中。 汇编格式:X[BR][IR] 功能:操作数存放在存储器,BR的内容加IR的内容加位移量X是操作数的偏移地址EA。 图形表示: 操作数偏移地址EA计算方法如下 3.1.8 I/O 端口寻址 直接端口寻址 可以对0~255的端口编号进行寻址 间接端口寻址 用寄存器DX的内容来指定端口地址,可以对 编号为0~65535的端口进寻址。 只能用输入指令IN或输入指令OUT来访问I/O 端口。 3.1.9 跨段问题 按前述规定:若选用BP作间址寄存器、变址寄存器或基址寄存器,则操作数在堆栈段,操作数的物理地址PA由堆栈段寄存器SS的内容左移4位与偏移地址EA相加后形成;否则,操作数在数据段,操作数的物理地址PA由数据段寄存器DS的内容左移4位与偏移EA相加后形成。该规定为系统默认状态。当要否定默认状态,到非约定段寻找操作数时,必须用跨段前缀指明操作数的段寄存器名。 汇编格式:段寄存器名:操作数地址 功能:段寄存器名指明操作数

文档评论(0)

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

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

1亿VIP精品文档

相关文档