回 帖 发 新 帖 刷新版面

主题:关于AX与DX的问题

怎么用AX与DX来表示一个双字节的数据?
比如:
assume cs:code
data segment
     dd 12345678h
     dd 1 dup(?)
data ends
要将12345678h COPY到下一个双字节的内存中是不是只有这样做?
code segment
start:
    mov ax,data
    mov ds,ax
    mov bx,0
    mov ax,0

    mov ax,[bx]
    add bx,2
    mov dx,[bx]
    
    add bx,32
    mov [bx],ax
    mov [bx+2],dx

    mov ax,4c00h
    int 21h
code ends
end start
或是有其他的方法能够允许这样:
mov bx,32
mov dword ptr [bx],???
呢??
大虾救民啊!!!
3QU!!!

回复列表 (共2个回复)

沙发

是add bx,32
还是add bx,2

在16位的CPU中,只能分两步进行。
在32位的CPU中,mov dword ptr [bx],eax

板凳

谢谢了

我来回复

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