스프링노트

한빛미디어 - 정보 보완 개론과 실습 연습문제2 본문

SOLUTION

한빛미디어 - 정보 보완 개론과 실습 연습문제2

RAYZIE 2013. 4. 19. 16:24

1. 다음 중 CPU(중앙 처리 장치)의 핵심 부분 중 하나로, 산술과 논리 등의 연산을 수행하는 장치는 ?

① 연산 장치(ALU : Arthmetic and Logic Unit) (정답)

② 제어 장치(Control Unit)

③ 레지스터(Register)

④ 버스 인터페이스(Bus Interface)

2. 다음 중 범용 레지스터가 아닌 것은?

① EAX

② EDI (정답)

③ ECX

④ EBP (정답)

3. 루프가 반복되는 횟수를 제어하는 레지스터는?

① EAX

② EDI

③ ECX (정답)

④ EBP

4. 현재 스택 영역에서 맨 하위 주소를 저장하는 레지스터는?

① EIP

② ESP (정답)

③ ECX

④ EBP

5. 80x86 시스템의 메모리에서 CPU에 의해 실행되는 머신 코드가 있는 영역으로, EIP(Extended Instruction Pointer)가 다음에 실행하는 명령을 가리키고 있는 영역은?

① 힙(Heap)

② 데이터 세그먼트(Data Segment)

③ BSS 세그먼트(BSS Segment)

④ 텍스트 세그먼트(Text Segment) (정답)

6. 세그먼트 레지스터별 기본 오프셋 레지스터의 맵핑이 잘못된 것은?

① CS : IP, SP, BP (정답)

② DS : SI, DI, BX

③ SS : SP, BP

④ ES : SI, DI, BX

7. 다음 중 어셈블리어에서 사용되는 데이터 타입이 아닌 것은?

① 스트링(String) (정답)

② 바이트(Byte)

③ 워드(Word)

④ 더블워드(Doubleword)

8. 다음 중 레지스터 간접 지정 방식에 변위가 더해진 메모리 주소 지정 방식은?

① 직접 메모리 주소 지정(Direct Addressing)

② 레지스터 간접 주소 지정(Register Indirect Addressing)

③ 인덱스 주소 지정(Indexed Addressing) (정답)

④ 베이스 인덱스 주조 지정(Base Index Addressing)

9. 다음 어셈블리어 명령 중 산술 연산 명령이 아닌 것은?

① SUB

② MOV (정답)

③ ADD

④ CMP

10. CS, DS, SS 레지스터에 대해 설명하시오.

1) CS : 실행될 기계 명령어를 포함한다. 보통 첫번째로 실행 가능한 명령어는 이 세그먼트의 맨 처음에 위치하며, 운영체제는 프로그램 실행을 시작하기 위해 그 위치를 알고 있다. 이름이 의미하듯이, 코드 세그먼트 레지스터는 코드 세그먼트의 주소를 의미한다.

2) DS : 프로그램에서 정의된 데이터, 상수, 작업 영역을 포함한다. 데이터 세그먼트 레지스터는 데이터 세그먼트의 주소를 포함한다.

3) SS : 프로그램이 임시로 저장할 필요가 있거나, 사용자의 ‘피호출’ 서브루틴이 사용할 데이터와 주소를 포함한다. 스택 세그먼트 레지스터는 스택 세그먼트의 주소를 포함한다.

11. 플래그 레지스터 중 CF, ZF, OF 플래그에 대해 설명하시오.

1) CF : 연산한 결과, 최상의 비트로 부터의 높은 자리로 자리올림 혹은 최상의 비트로 부터의 빌림이 발생한 경우에 1로 세트되고 그 이외의 경우 0으로 세트됩니다.

2) ZF : 연산한 결과가 0으로 되었을 때에 1로 세트되고, 그 이외일 때는 0으로 리셋됩니다.

3) OF : 연산을 부호가 달린 숫자로 했을때, 오버 플로우 혹은 언더 플로우가 발생한 경우에 1로 세트되고, 그 이외일 때는 0으로 리셋됩니다.

12. 스택에 대해 간단히 설명하시오.

스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸시(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 보관한 자료부터 나오게 된다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다.

13. 실제 모드에서 2525h:95F3h 주소를 메모리에 접근하기 위해 직접 주소로 변환한 값은?

2E843 h

14. 직접 메모리 주소 지정 방식에 대해 설명하시오.

- mov %eax, $0x80482f2

: 0x80482f2 eax . 주소 에 있는 값을 에 할당한다.

- 가장 일반적인 주소지정방식이며 메모리의 주소를 직접 지정해서 바로 찾아오는 방식이

다 즉 레지스터에 주소의 내용을 로드 한다는 의미이다.

15. 1000과 1010의 AND, OR, XOR 결과 값을 구하시오.

AND : 1000

OR : 1010

XOR : 0010

16. 어셈블리어 실행 시 스택에서 prelude 또는 프롤로그란?

스택 top을 저장하고 복원하고 하는 작업