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 WORD PTR [BX+SI]
e) IDIV BYTE PTR [BX][SI]+0030H

4. 두 자리 16진수 75H에서 각 16진수의 합의 4배( 4*(A+B))를 구하고 그 결과를 (AX)에 넣는 해당 프


로그램부분만을 작성하라. 단, (HEX_DIGIT)=75H 이라 가정하라.(15점)
MOV AL, [HEX_DIGITS] ; the first line ....
(insert sequence of instructions here...)

5. 아래 프로그램은 각각 메모리 [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
6. 다음은 0부터 100까지 더해 가는 프로그램이다. 빠진 부분을 완성하라. (15점)
CODE SEGMENT
ASSUME CS:CODE, DS:CODE
; 세그먼트 레지스터 값 부여
MOV AX, CODE
MOV DS, AX
; 초기화 과정
MOV CX, 0 ; 카운트 UP 숫자
MOV AX, 0 ; 합의 결과 (AX)
; 합산 과정 프로그램을 완성하라. (10점)
(insert sequence of instructions here...)
TOTAL DW ?
;
CODE ENDS
END

7. 다음 프로그램이 무엇을 행하는 프로그램인지를 기술하라.(10점)

TITLE EXAMPLE 6.9


CODE_SEG SEGMENT 'CODE'
EXAMPLE PROC FAR
ASSUME CS:CODE_SEG, SS:STACK_SEG
; to return to DEBUG program, put return address on the stack
PUSH DS
MOV AX,0
PUSH AX
; 아래 진한글씨로 표기된 각 명령어가 구체적으로 무엇을 행하여 전체적으로는 어떠한 작업을
행하는 지를 명확히 기술(해독)하라.
; 시작....
CMP AX, BX
JC AAA
BBB: MOV DX, AX
SUB DX, BX
JMP DONE
AAA: MOV DX, BX
SUB DX, AX
; 끝...

DONE: NOP
RET ; return to DOS program
EXAMPLE ENDP

CODE_SEG ENDS
END EXAMPLE

You might also like