2016-11-25 10 views
1

왜 결과가 (32) 공간 않는 대신 ◘ (8) 내가해야 어떤 변화어셈블리 : 2 (SHL)와 곱

mov dl, 4  ;dl=00000100=4 
shl dl, 1  ;dl=00001000=8 
mov ah, 2 
int 21h 

가 예상 결과를 볼 수???

+2

공간인지 어떻게 알 수 있습니까? –

+5

'8'은 비표준 인쇄 문자입니다. 터미널에 의해 * backspace *로 해석 될 수도 있습니다. –

+0

오, 고마워, 이제 알았다. :) – quinnyke

답변

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