我写在汇编程序和编译它。 这是为了打印一个蓝色的笑脸,然后等待用户按一个键就终止了。它确实做到最后一点,但它不打印笑脸。有人可以解释我做了什么错?

CSEG segment
org 100h
Begin:

mov ax,0B800h
mov es,ax
mov di,0

mov ah,31
mov al,1
mov es:[di],ax

mov ah,10h
int 16h

int 20h

CSEG ends
end Begin

我用的 16位链接器是 MASM 编译它

有帮助吗?

解决方案

您只能捅视频缓冲器直接,如果你在一个纯文本视频模式是。我猜你正在使用Windows某种而不是实际启动DOS,所以你可能是在一个图形模式。

您的什么可以的能够做的就是打开一个控制台窗口,然后<大骨节病>替代 <大骨节病>输入进入全屏文本模式。尝试运行您的程序在那里。

其他提示

到现在大约一年左右的时间,因为我跟MASM和唯一的参考书我在家里是MIPS的工作,所以我承认有点生疏,但打印到屏幕需要系统中断(INT 21H),但唯一的系统中断,我看到的是键盘中断后,程序终止通话。

您的代码就可以了,你只需要要么全屏运行的格雷格Hewgill建议,或设置命令行窗口中使用旧的点阵字体(如系统)。右键单击窗口的标题栏,看看字体选项卡。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top