汇编问题,编译时候出错,提示信息:show1.ASM(15): error A2052: Improper operand type

2025-05-03 04:50:45
推荐回答(2个)
回答(1):

好多年没用过Dos汇编了,如果我没有记错,386的机器不能直接往es段里拷贝ds的数据需要寄存器中转。
mov byte ptr ds:[bx],es:[bx] 改成

mov al, [bx]
mov es:[bx],al

回答(2):

assume cs:code
data segment
db 'welcome to China!'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0B800H
mov es,ax
mov di,0
mov si,0
mov cx,17
rep movsb
mov ah,01h
int 21h
code ends
end start