回 帖 发 新 帖 刷新版面

主题:[讨论]汇编问题!!!

DATA1 EQU BYTE PTR DATA2
DATA2 DW 0A987H,3456H


      SAR DATA1+1,1
      MOV AX,DATA2+1
      SAL DATA2+1,1
      MOV BX,DTA2+1
MOV AX,DATA2+1、SAL DATA2+1,1、MOV BX,DTA2+1 经过这三部后DATA2的位置仍然是指向原A9H的地址位吗????

回复列表 (共2个回复)

沙发

DATA2是偏移地址,经过MOV AX,DATA2+1、SAL DATA2+1,1、MOV BX,DTA2+1这三部后DATA2仍然指向原来存放A9的存储单元,但是存储单元里不再是存放A9,而是经过SAL DATA2+1,1这条指令后变成了01010010B也就是52H

板凳

在big-endian环境里DATA2才是A9h的地址,但在little-endian环境例如intel的CPU中,DATA2是87h的地址,低位字节排在前头。

在整个计算过程中,DATA2的值并没有改变(实际上是不允许改变的),否则就是重复定义了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册