1
爲什麼結果是空間(32),而不是◘(8)大會:2(SHL)乘以
mov dl, 4 ;dl=00000100=4
shl dl, 1 ;dl=00001000=8
mov ah, 2
int 21h
我應當怎樣更改看到預期的結果???
爲什麼結果是空間(32),而不是◘(8)大會:2(SHL)乘以
mov dl, 4 ;dl=00000100=4
shl dl, 1 ;dl=00001000=8
mov ah, 2
int 21h
我應當怎樣更改看到預期的結果???
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
你怎麼知道這是一個空間? –
'8'是一個非標準的打印字符。它甚至可以被終端解釋爲* backspace *。 –
哦,謝謝,現在我明白了:) – quinnyke