assembly 如何在真实的MODE组件中打印“新行

zazmityj  于 2023-01-09  发布在  其他
关注(0)|答案(1)|浏览(73)

我需要为我的操作系统做一个新的行,因为命令行需要一个新的行,每次你键入,但我不知道如何。
我曾考虑过只留下一串空格,但那会使下一行间隔太大。

zujrkrfu

zujrkrfu1#

你不能真的去做一个新的系列。
通过打印这2个字节1310,您可以从当前所在的行移动到下一行:

mov  bx, 0007h  ; BH is DisplayPage, BL is GraphicsColor
mov  ax, 0E0Dh  ; AH is Teletype, AL is CarriageReturn
int  10h
mov  al, 0Ah    ; AL is Linefeed 
int  10h

你现在可以做的是清空你到达的那条线:

mov  cx, 80     ; Length of the row (assuming screen is 80x25)
mov  bx, 0007h  ; BH is DisplayPage, BL is ColorAttribute
mov  ax, 0920h  ; AH is WriteCharacter, AL is SpaceCharacter
int  10h

相关问题