cuowu1
;目的;将welcome to masm复制到段地址0B800h
assume cs:code,ds:data
data segment;数据段
db 'welcome to masm'
data ends
code segment
start:
mov ax, 0B800h
mov ds, ax
mov es,data
mov cx,15
mov bx, 0
s:mov al,es:
mov ds:,al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
我的问题:显示mov es,data severe错误??
问题出在这一行代码:mov es, data
在MASM汇编语言中,要将一个段地址加载到寄存器中,需要使用SEG运算符。在这种情况下,您需要使用SEG data来将数据段的地址加载到ES寄存器中。因此,将这一行代码修改为mov es, SEG data即可解决问题。
修改后的代码如下:
;目的;将welcome to masm复制到段地址0B800h
assume cs:code, ds:data
data segment ;数据段
db 'welcome to masm'
data ends
code segment
start:
mov ax, 0B800h
mov ds, ax
mov es, SEG data ; 使用SEG运算符加载数据段的地址到ES寄存器
mov cx, 15
mov bx, 0
s:
mov al, es:
mov ds:, al
inc bx
loop s
mov ax, 4c00h
int 21h
code ends
end start
现在,您应该能够顺利地将字符串"welcome to masm"复制到段地址0B800h,实现显示的效果。 根据你提供的代码,你遇到了一个错误:mov es, data。实际上,在MASM中,你无法直接将一个标签(如data)赋值给一个段寄存器(如es)。相反,你需要使用指令mov ax, seg data和mov es, ax来加载段地址。
以下是修正后的代码:
assume cs:code, ds:data
data segment
db 'welcome to masm'
data ends
code segment
start:
mov ax, 0B800h
mov ds, ax
mov ax, seg data; 加载数据段地址到 AX
mov es, ax ; 将 AX 的值赋给 ES
mov cx, 15
xor bx, bx ; 将 BX 清零
s:
mov al, es:
mov ds:, al
inc bx
loop s
mov ah, 4Ch
int 21h
code ends
end start
在修正后的代码中,我添加了两行指令mov ax, seg data和mov es, ax。这些指令将数据段的段地址加载到 AX 寄存器中,然后将 AX 的值赋给 ES 寄存器。现在,你可以正确地将数据从数据段复制到段地址 0B800h。
如果还有其他问题,请随时告诉我。
如果问题已经解决,请设置最佳答案 汇编语言 - mov es, data 错误
在您的代码中,出现了mov es, data导致了严重错误。这是因为在汇编语言中,不能直接将数据段的段名(如data)赋值给段寄存器(如es)。需要使用一个寄存器作为中间步骤。
以下是修正后的代码:
assembly
assume cs:code, ds:data
data segment ; 数据段
db 'welcome to masm'
data ends
code segment
start:
mov ax, 0B800h ; 将段地址0B800H赋值给AX寄存器
mov ds, ax ; 将AX中的值赋值给DS寄存器
mov si, offset data ; 将数据段的偏移地址赋值给SI寄存器
mov di, 0B800h ; 将段地址0B800H赋值给DI寄存器
mov cx, 15 ; 设置循环次数
s:
mov al, ; 将SI指向的内存中的值赋值给AL寄存器
mov , al ; 将AL寄存器中的值写入DI指向的内存中
inc si ; 增加SI指针的值,指向下一个字符
inc di ; 增加DI指针的值,指向下一个字符
loop s ; 循环直到CX寄存器的值为零
mov ax, 4c00h
int 21h
code ends
end start
在修正后的代码中,我使用了两个新的寄存器:si和di。首先,将数据段的偏移地址赋值给si寄存器,然后将段地址0B800H赋值给di寄存器。接下来,使用和来访问内存中的值,并进行对应的读写操作。
希望以上回答能够解决您的问题!如果您还有其他疑问,请随时提出。
如果回答对你有帮助,请给我一个最佳答案!{:10_254:}{:10_254:}{:10_254:}
页:
[1]