问一个直接写屏的问题

taojy 2004-08-17 12:47:50
(2004-08-17 12:21:39) 斯图卡(31343971)
org 100

start
mov ax,0b800h
mov es,ax

mov dh,07h
mov dl,byte[title]
mov word[es:0],dx

exit:
mov ah,4ch
int 21h

title db 'Hello',0h

字符‘H’怎么显示不出来
...全文
75 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Areslee 2004-08-17
  • 打赏
  • 举报
回复
你怎么初始化DS的?
以下例子用MASM 6.11编译
code segment
assume cs:code
start: mov ax,3
int 10h
mov ax,0b800h
mov es,ax
mov ax,cs
mov ds,ax
sub di,di
mov ah,7
lea si,msg
show: lodsb
or al,al
jz exit
stosw
jmp show
exit: mov ax,4c00h
int 21h
msg db "Hello video buffer.",0
code ends
end start

taojy 2004-08-17
  • 打赏
  • 举报
回复
怎么还是不行?请你写个例子出来好吗?
Areslee 2004-08-17
  • 打赏
  • 举报
回复
那原因就很简单了:
你没有初始化DS寄存器
taojy 2004-08-17
  • 打赏
  • 举报
回复
而且我把mov dl,byte[title]这一句改为 mov dl,41h就能显示一个'A'
taojy 2004-08-17
  • 打赏
  • 举报
回复
正确,如果我改为用int 10来显示就能显示出来
Areslee 2004-08-17
  • 打赏
  • 举报
回复
显示模式正确吗?

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧