[英]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.