MOV DX,[SI] MOV AX,[1234H] MOV 100[BX],AL MOV [BP][SI],AX MOV [BX+100][SI],AX 求这些指令的寻址方式

如题所述

MOV DX,[SI]
源操作数:间接寻址
目的操作数:寄存器寻址
MOV AX,[1234H]
源操作数:直接寻址
目的操作数:寄存器寻址
MOV 100[BX],AL
源操作数:寄存器寻址
目的操作数:相对寻址
MOV [BP][SI],AX
源操作数:寄存器寻址
目的操作数:基址变址寻址
MOV [BX+100][SI],AX

源操作数:寄存器寻址
目的操作数:相对基址变址寻址
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-08
寄存器寻址、直接寻址、相对寻址、基址变址寻址、相对基址变址寻址
第2个回答  2012-10-08
  MOV DX,[SI] ;寄存器间接寻址
  MOV AX,[1234H] ;直接寻址
  MOV 100[BX],AL ;变址寻址
  MOV [BP][SI],AX ;基址加变址寻址
  MOV [BX+100][SI],AX ;相对基址加变址寻址

  这里是5种寻址方式的简介,楼主你可以对照来看
  http://zhidao.baidu.com/question/479382535.html?oldq=1

  PS:若有不明白的地方,可以追问追问

问你哈,比如第一个MOV DX,[SI],不是要分开指出寻址方式的吗?
就是说 DX是寄存器寻址,[SI]是寄存器间接寻址
为什么你只说了一个呀?

追答

不用分开,寻址方式是根据汇编语言所定义的方式来判断的
DX在这里只是一个通用寄存器
而[SI]表示是DS:[SI]这个内存单元

例如
寄存器间接寻址是指操作数的偏移地址在BP、BX、SI、DI四个寄存器之一中
而MOV DX,[SI]中 SI是偏移地址,而DS是段地址,将DS:SI内存中的值赋值给DX

本回答被网友采纳
相似回答