汇编程序显示 hell world出现错误? 谢谢帮助

2024-12-16 19:59:28
推荐回答(1个)
回答1:

不知道你用什么 编译器 你的代码没有错误!!
assume cs:code,ds:data
data segment
msg db "hello world"
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0b800h
mov es,bx //这里是什么意思? 答 将字符串写入显存区(0b800H) 完成显示
mov cx,11
mov si,0
mov bx,0
mov ah,01000010b //插入颜色
s:mov al,ds:[si]
mov es:[bx],al
mov es:[bx+1],ah
inc si
add bx,2
loop s 以上循环 拷贝
mov ax,4c00h
int 21h
code ends
end start
ps 程序有个小问题 ,那就是不会显示字符串!因为 你的写入显存的位置是0b8000 所以程序
mov ax,4c00h
int 21h
退出后 屏幕向上滚一屏幕,所以字符串不会显示 解决 写入0b8250(不确定) 或是不然程序返回