gpt4 book ai didi

assembly - 在汇编 BIOS 调用中处理换行符/CR

转载 作者:行者123 更新时间:2023-12-02 19:26:46 25 4
gpt4 key购买 nike

我正在学习汇编,我正在尝试使用 BIOS 调用从键盘/打印到键盘进行简单的读取。到目前为止,我有以下内容:

loop:
xor ah, ah
int 0x16 ; wait for a charater
mov ah, 0x0e
int 0x10 ; write character
jmp loop

这工作正常,直到有人按下回车键 - 似乎正在处理 CR (\r),但没有处理换行符 (\n),因为光标移动到当前行的开头,而不是开头下一行。

有什么想法吗?

最佳答案

中断0x16,函数0x00只为AL中的回车键(CR,0x0D)返回一个ASCII字符,调用中断0x10,函数0x0E将打印这个单个ASCII字符。如果您希望代码也输出 LF,则必须测试 CR 并强制输出 LF。

loop:
xor ah, ah
int 0x16 ; wait for a charater
mov ah, 0x0e
int 0x10 ; write character
cmp al, 0x0d ; compare to CR
jne not_cr ; jump if not a CR
mov al, 0x0a ; load the LF code into al
int 0x10 ; output the LF
not_cr:
jmp loop

关于assembly - 在汇编 BIOS 调用中处理换行符/CR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1292956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com