저장된 변수를 2진수로 출력해보자
먼저 2진수로 출력할 숫자를 데이터 세그먼트에 변수로 저장할 수 있다
DATA SEGMENT
A DB 6CH
DATA ENDS
그리고 코드 세그먼트에서 데이터를 DS에 넣어주고 프로그램 형식을 만들어 줄 수 있다
MAIN SEGMENT
ASSUME CS:MAIN, DS:DATA
MOV AX, DATA
MOV DS, AX
MAIN ENDS
END
다음으로 AL에 2진수로 출력하기 위해 한 비트씩 왼쪽으로 쉬프트하여 문자로 변환 후 출력한다
이때 총 8비트를 출력하기 위하여 CX에 8을 넣어 8번 루프를 돌린다
MOV AL, NUM
MOV CX, 8
L1:
SHL AL, 1 ; AL을 한 비트씩 왼쪽으로 쉬프트
MOV DL, '0'
JNC L2 ; 쉬프트된 비트가 0이면 L2로 점프
MOV DL, '1' ; 그렇지 않다면 DL에 1을 넣어 출력 값을 바꿔준다
L2:
PUSH AX
MOV AH, 2
INT 21H
POP AX
LOOP L1
MOV AH, 4CH
INT 21H
다음과 같은 결과가 출력되는 것을 확인할 수 있다
MAIN SEGMENT
ASSUME CS:MAIN, DS:DATA
MOV AX, DATA
MOV DS, AX
MOV AL, NUM
MOV CX, 8
L1:
SHL AL, 1
MOV DL, '0'
JNC L2
MOV DL, '1'
L2:
PUSH AX
MOV AH, 2
INT 21H
POP AX
LOOP L1
MOV AH, 4CH
INT 21H
MAIN ENDS
DATA SEGMENT
NUM DB 6CH
DATA ENDS
END