为什么结果是空格?(32)而不是◘?(8)
mov dl, 4 ;dl=00000100=4
shl dl, 1 ;dl=00001000=8
mov ah, 2
int 21h
我应该做些什么改变才能看到预期的结果?
答案 0 :(得分:3)
DOS正在解释您通过此函数调用提供的ASCII代码。由于值8表示退格,这就是DOS将要做的事情。
我应该做些什么改变才能看到预期的结果?
使用视频BIOS功能0Ah,WriteCharacterAtCursor
。
mov cx, 1 ; Replication count
mov bh, 0 ; Display page
mov al, 8 ; Character code (00000100 << 1 == 00001000)
mov ah, 0Ah ; Function number
int 10h ; Call the video BIOS interrupt