科学发展观 发表于 2012-1-16 22:24:52

实验7问题

问下 汇编中有没有这样的指令把数据直接复制过去
mov dword ptr es:,ds:
一下是实验7的代码 编译以后提示错误就在上面的代码上
codesg segment
start:    mov ax,data
          mov ds,ax
                  mov ax,table
                  mov es,ax
                  mov di,0
                  mov si,0
                  mov bx,0
                  mov cx,21
s:                  
                  mov dword ptr es:,ds:
                  mov dword ptr es:,ds:
                  mov word ptr es:,ds:
                  mov ax,
                  mov dx,
                  div word ds:
                  mov word ptr es:,ax
                  add di,2
                  add si,4h
                  add bx,10
                  loop s

    mov ax,4c00h
    int 21h
codesg ends

end start

仰望天上的光 发表于 2012-1-16 22:24:53

mov指令不能将内存单元直接移到内存单元,可用一个寄存器中转。所以指令mov dword ptr es:,ds:
是错的。当然,如果你不拍麻烦,还可以设置好堆栈SS:SP后讲内存单元PUSH到栈顶(这个其实也是内存直接移动到内存)

科学发展观 发表于 2012-1-16 22:46:36

codesg segment
start:    mov ax,data
          mov ds,ax
                  mov ax,table
                  mov es,ax
                  mov di,0
                  mov si,0
                  mov bx,0
                  mov cx,21
s:                  
                  mov ax,ds:
          mov es:,ax
          mov ax,ds:
          mov es:,ax
          mov ax,ds:
          mov es:,ax
                  mov ax,
                  mov dx,
                  div word ptr ds:
                  mov word ptr es:,ax
                  add di,2
                  add si,4h
                  add bx,10
                  loop s

    mov ax,4c00h
    int 21h
codesg ends

end start这个是改进的程序 请大牛帮俺看看

e马先森 发表于 2017-2-17 09:59:53

膜拜大神们{:10_254:}
页: [1]
查看完整版本: 实验7问题