繁体   English   中英

如何在装配中打印笑脸?

[英]How do you print a smiley-face in assembly?

我在汇编程序中编写了一个程序并编译它。 它意味着打印一个蓝色的笑脸,然后等待用户在键终止前按键。 它确实做到了最后一点,但它不打印笑脸。 有人能解释我做错了什么吗?

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,所以你可能处于图形模式。

可以做的是打开控制台窗口,然后按Alt Enter进入全屏文本模式。 尝试在那里运行你的程序。

自从我使用MASM以来已经有一年左右的时间了,我家里唯一的参考书是MIPS,所以我确实有点生疏,但是屏幕打印需要系统中断(int 21h),但是唯一的系统中断我看到的是键盘中断后的程序终止调用。

您的代码没问题,您只需要像Greg Hewgill建议的那样全屏运行,或者设置命令窗口以使用旧的光栅字体(如SYSTEM)。 右键单击窗口的标题栏,然后查看“字体”选项卡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM