首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >装配新闻

装配新闻
EN

Stack Overflow用户
提问于 2012-07-04 06:31:56
回答 2查看 1.6K关注 0票数 2

我已经用汇编语言(NASM语法)编写了一个简单的引导加载程序,但是当我在QEMU中运行它时,换行符显示如下:

这是我的代码:

有没有办法阻止0Ah向前推进这些线?

代码语言:javascript
复制
.loop_top:

mov si, text_string ; Put string position into SI
call print_string   ; Call our string-printing routine

loop .loop_top

jmp $           ; Jump here - infinite loop!


text_string db "This is my cool new OS!", 0Ah, 0
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-04 06:36:09

很明显:-)您的"print_string“子例程认真对待0x0a --它被称为"LF",它就是这样做的,并前进到下一行。

我猜使用0x0a 0x0d就可以了。

票数 12
EN

Stack Overflow用户

发布于 2012-07-04 07:00:30

我相信发送\r会使光标回到屏幕的左侧。因此,您应该使用\r\n或类似的东西来创建新行。

如果没有更多细节,我不确定。我不确定您的print_string过程是如何实现的。如果通过基本输入输出系统调用实现,例如使用int 0x10,AH=0x0E遍历字符串,则上述解决方案将有效,或者您可以使用int 0x10,AH=0x03手动调整光标位置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11320135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档