Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

다음 instructions들이 무엇을 행하는 것인가를 기술하라.

(각 3점 총 15점)
a) CMP WORD PTR [DI], 1234H
b) LAHF
MOV [MEM1], AH
MOV AH, [MEM2]
SAHF
c) NEG BYTE PTR [DI]+0010H
d) IMUL BYTE PTR [BX+SI]
e) IDIV BYTE PTR [BX][SI]+0030H

4. 두 자리 16진수 ABH에서 각 16진수의 합( A+B)를 구하고 그 결과를 (AL)에 넣는 해당 프로그램부분


만을 작성하라. 단, (HEX_DIGIT)=ABH 이라 가정하라.(10점)
MOV AL, [HEX_DIGITS] ; the first line ....
(insert sequence of instructions here...)

HINT) MOV AL, [HEX_DIGITS] ; (HEX_DIGITS)-->(AL)


; (AL)-->(BL)
; 4H-->(CL)
; (BL) 내용물을 오른쪽으로 4 bit 이동
; (AL)의 내용물중 하위 nibble만을 유지하고 나머지는 0으로 정리
; (BL)의 내용물중 하위 nibble만을 유지하고 나머지는 0으로 정리
; (AL)+(BL)-->(AL)

5. 아래 프로그램이 무엇을 행하는 지를 구체적으로 기술하라(총 10점)

CODE SEGMENT
ASSUME CS:CODE, DS:CODE
; 세그먼트 레지스터 값 부여
MOV AX, CODE
MOV DS, AX
; 초기화 과정
MOV CX, 0 ;
MOV AX, 0 ;
; 아래 프로그램이 무엇을 행하는 지를 구체적으로 기술하라.(7점)
L1: ADD AX, CX
INC CX
CMP CX, 100
JBE L1
MOV RESULT, AX
; 아래 프로그램이 무엇을 행하는 가를 기술하라.(3점)
MOV AH, 4CH
INT 21H
;최종 결과 변수 설정
RESULT DW ?
;
CODE ENDS
END

아래 프로그램이 각각 메모리 [Control_flag]의 위치에 있는 내용을 어떻게 수정하기 위한 프로그램


인가를 설명하라. 단, 각 문제 a), b), c) 각각의 초기에 값은 (control_flag) = B7 B6 B5 B4 B3 B2
 와 같이 표기할 것)
B1 B0이라고 가정한다. (총 10점) (단, 원래 값의 complement 값은 
a) MOV AL, [Control_flags]
OR AL, 0FH
MOV [Control_flags], AL
b) MOV BL, [Control_flags]
AND BL, 0FH
XOR BL, 0FH
MOV [Control_flags], BL

7. 다음은 0부터 100까지 더해 가는 프로그램이다. 빠진 부분을 완성하라. (10점)

CODE SEGMENT
ASSUME CS:CODE, DS:CODE
; 세그먼트 레지스터 값 부여
MOV AX, CODE
MOV DS, AX
; 초기화 과정
MOV CX, 0 ; 카운트 UP 숫자
MOV AX, 0 ; 합의 결과 (AX)
; 합산 과정 프로그램을 완성하라 (또는 아래 명령어를 적절히 배열하라) (10점)
a) JBE L1
b) L1: ADD AX, CX
c) INC CX
d) MOV TOTAL, AX
e) CMP CX, 100
; 프로그램 종료
MOV AH, 4CH
INT 21H
TOTALDW ?
;
CODE ENDS
END

You might also like