回 帖 发 新 帖 刷新版面

主题:[讨论]新手求助一个小问题


MOV  AX, 1000H
MOV  DS, AX
MOV  SI,2000H
MOV  DI,3000H
MOV  CX,100
AGAIN :    MOV  AL,[SI]
    MOV  [DI],AL
          INC    SI            ;修改地址指针(SI) ←(SI)+1
          INC    DI     ;修改地址指针(DI) ←(DI)+1
          DEC   CX             ;修改个数(CX) ←(CX)-1
          JNZ  AGAIN    ;结果不为0返回执行

以上这个程序循环部分MOV  AL,[SI]这个指令是什么意思?!AL是8位,SI是16位,怎么传递数据?!

回复列表 (共2个回复)

沙发

SI保存了一个地址,将这个地址对应的byte值传递给AL

板凳

以上这个程序循环部分MOV  AL,[SI]这个指令是什么意思?

si存放的是地址,mov al,[si] 是把si地址的内容传送给al

AL是8位,SI是16位,怎么传递数据?! 
 
al是8们的。si是16位的没错,但[si]取的是si地址的内容。

我来回复

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