두 변수에 저장된 값을 더해서 출력해보자
먼저 데이터 세그먼트에 값을 저장해둘 변수들을 만들 수 있다
미리 값을 줄 수도 있고 ?를 줘서 주지 않을 수도 있다
DATA SEGMENT
A DB 1
B DB 4
SUM DB ?
DATA ENDS
위 데이터를 사용하려면 코드 세그먼트에서 데이터를 DS에 넣어주어야 한다
이때 세그먼트끼리의 직접 연산은 불가하므로 AX를 통해 간접적으로 넣어준다
MAIN SEGMENT
ASSUME CS:MAIN, DS:DATA
MOV AX, DATA
MOV DS, AX
MAIN ENDS
END
다음은 두 변수의 값을 ADD 명령어를 통해서 더해주고 출력을 위해 문자로 바꿔 준다
문자 0의 아스키 코드 값을 더해주면 해당 값의 아스키코드를 구할 수 있다
MOV AL, A
ADD AL, B
MOV SUM, AL
ADD AL, '0'
문자 한개를 출력하기 위해서는 인터럽트 21H에서 02H를 호출하면 된다
그 후 인터럽트 21H에서 4CH를 호출하면 프로그램이 종료된다
MOV DL, AL
MOV AH, 2
INT 21H
MOV AH, 4CH
INT 21H
DATA SEGMENT
A DB 1
B DB 4
SUM DB ?
DATA ENDS
MAIN SEGMENT
ASSUME CS:MAIN, DS:DATA
MOV AX, DATA
MOV DS, AX
MOV AL, A
ADD AL, B
MOV SUM, AL
ADD AL, '0'
MOV DL, AL
MOV AH, 2
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDS
END