当前位置: 代码迷 >> 汇编语言 >> 汇编新人,请问个初级有关问题
  详细解决方案

汇编新人,请问个初级有关问题

热度:204   发布时间:2016-05-02 04:39:05.0
汇编新人,请教个初级问题
assume cs:code
code segment
    mov ax, 0ffffh
    mov ds,ax
    mov bx,6
    mov al,[bx]
    mov ah,0
    mov dx,0
    mov cx,3
s:  add dx,ax
    loop s

    mov ax,4c00h
    int 21h

code ends

end
和下面这段
assume cs:code
code segment
    mov ax, 0ffffh
    mov ds,ax
    mov al,[6]
    mov ah,0
    mov dx,0
    mov cx,3
s:  add dx,ax
    loop s

    mov ax,4c00h
    int 21h

code ends

end
这两段里面只有第五行那里有点区别,
mov bx,6
mov al,[bx]
为什么和
mov al,[6]
的结果会不一样呢?
我的理解是,反正都是赋值当前ds:6的值给al,为什么还必须要用bx做个中转呢?
------解决方案--------------------
汇编程序的个老问题吧,按照你的意思,大致是应该写成
  mov  al, ds:[6]
否则会把那个地址的 6 作为立即数而不管是否有外面的方括号。
  相关解决方案