- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
32 直接寻址方式中,一般只指出操作数的偏移地址,那么段
3.2 直接寻址方式中,一般只指出操作数的偏移地址,那么段
基值如何确定?如果要用某个段寄存器指出段地址,指令中应如
何表示?
段地址段地址::默认为数据段默认为数据段DSDS
如果要用某个段地址寄存器指出段地址,表示为:
ES: MOV AX,[1070H]
错误表达错误表达::
MOV AX, ES [1070H]
此题并不要求说明如何计算物理地址
3.4 用寄存器间接寻址方式时,BX、BP、SI、DI分别针对什么
情况来使用情况来使用??这这44个寄存器组合间接寻址时地址是怎样计算的个寄存器组合间接寻址时地址是怎样计算的 ??
举例进行说明。
寄存器间接寻址可分为四种四种:
(1) 以BX寄存器进行间接寻址——数据段基址寻址
(2)以以BP寄存寄存器进行间接寻进行间接 址——堆栈堆栈段基基址寻址
(3)(3)以以SISI、DIDI寄存器进行间接寻址寄存器进行间接寻址————变址寻址变址寻址
(4)将BX、BP和SI、DI寄存器组合起来进行间接寻址——基址
加变址的寻址
3.5 设DS =2100H,SS=5200H,BX=1400H,BP=6200H,说
明下面两条指令所进行的具体操作明下面两条指令所进行的具体操作:
MOVMOV BYTEBYTE PTRPTR [BP],2000[BP],2000
7D0
MOVMOV WORD PTRWORD PTR [BX], 2000[BX], 2000
寄存器间接寻址方式,BYTE PTR是伪指令。
以以BPBP对操作数间接寻址对操作数间接寻址,操作数在操作数在SSSSSSSS中中
PTR :对存储单元规定类型对存储单元规定类型
BYTE PTR :将指定内存单元作为字节单元
指令的操作为:将立即数2000的低字节D0送到内存单元
5200H5200H*16+6200H=582000H16+6200H=582000H中中。
3.5 设DS =2100H,SS=5200H,BX=1400H,BP=6200H,说
明下面两条指令所进行的具体操作明下面两条指令所进行的具体操作:
MOVMOV WORDWORD PTR [BX],2000PTR [BX],2000
以BX对操作数间接寻址,操作数在DS中
WORD PTR -将指定内存单元作为字的开始单元
指令的指令的操作为作为:将立将立即数数2000送到内存单到内存单元
2100H2100H*16+1400H16+1400H=22400H22400H和和22401H22401H中中
3.7 判断下列指令是否正确
((11))XCHGXCHG CS,AXCS,AX
错误。CS不能作为目的操作数(并不是因为不能在两个内
存单元间传递数据存单元间传递数据))
((22 ))MOVMOV [BS],[1000][BS],[1000]
错误。不能在两个内存单元间传递数据
((33 ))XCHGXCHG BX,IPBX,IP
错误。IP不能作为交换指令的操作数
错误。IP不能作为交换指令的操作数
((44 ))PUSHPUSH CSCS
√√ 正确正确
3.7 判断下列指令是否正确
((55 ))POPPOP CSCS
错误。不能从堆栈中弹出一个值到CS
((((6666 ))))ININININ BXBXBXBX,,DXDXDXDX
错误。只能用累加器作为输入输出过程的机构。
((77 ))MOVMOV BYTE [BX],1000BYTE [BX],1000
错误。BYTE PTR 才是完整的伪指令。
((((8888 ))))MOVMOVMOVMOV CSCSCSCS,,[1000][1000][1000][1000]
错误错误。CS不能作为目的操作数不能作为目的操作数
3.9 设计程序实现2个16位十进制数相
文档评论(0)