강의 내용 ¶
- 사전 실력점검 테스트
- 어셈블리란?
- 이 과목에서 가장 주로 다루는 어셈블리 언어를 사용하는 이유와 현재 어떤 곳에 사용되는지, 특징은 무엇이며 장단점은 무엇인지 알아보자.
- 이 과목에서 가장 주로 다루는 어셈블리 언어를 사용하는 이유와 현재 어떤 곳에 사용되는지, 특징은 무엇이며 장단점은 무엇인지 알아보자.
- 컴퓨터 구조
- 어셈블리 과목의 특성상 하드웨어와 소프트웨어의 이해가 동시에 필요한데, 이 부분에 관해 알아보기 위해 하드웨어가 어떤 식으로 명령을 처리하는지 알아보자.
- 어셈블리 과목의 특성상 하드웨어와 소프트웨어의 이해가 동시에 필요한데, 이 부분에 관해 알아보기 위해 하드웨어가 어떤 식으로 명령을 처리하는지 알아보자.
과제 ¶
- 어셈블리 언어란 무엇이며, 왜 쓰고 장단점은 무엇인지 써보자.(서술식으로 자신이 아는 내용/책에서 찾아본 내용을 써내려가보자.)
- 컴퓨터 구조가 어떤 식으로 되어있는지 써보고, CPU에는 어떤 것이 있으며 각각 무슨 일을 하는지 써보자.
- 재귀함수에 관해 써보고, n!을 재귀함수로 작성할 때 무엇을 고민해야하는지 써보자.
- 가능하다면 n!을 직접 구현해보고 돌려보자.
- 가능하다면 n!을 직접 구현해보고 돌려보자.
- 승준이를 위한 과제
- 0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜보자.
- /10, %10 등을 이용해서 해 보세요.
- /10, %10 등을 이용해서 해 보세요.
- 소문자를 대문자로 바꾸는 프로그램을 작성해보자.
- 2중 for문을 사용하여 다음 모양의 별찍기를 작성해보자.
- 0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜보자.
1. ***** **** *** ** * 2. * ** *** **** *****
과제 ¶
- 9개의 단어 중 3개를 골라 수업시간에 그에 관해 설명할 수 있도록 준비하자.
- 아래 문제는 기출문제입니다. --*
- 각 data가 메모리에 어떻게 저장되는지 쓰세요.
- 각 data가 메모리에 어떻게 저장되는지 쓰세요.
.data arrV BYTE 12h,34h,56h,78h arrD WORD 0502h, 0603h arrW DWORD 13141516h
- 10진수값 223을 16진수 값으로 변환하세요.
- 십진수 14에서 5를 빼는 과정과 결과를 2진수로 표현하여 쓰세요.
- Instruction Execution Cycle을 도식하고, 설명하세요.
- 어셈블리언어의 기본문법을 보고, 어떤 프로그램이든 컴파일시키고 실행시켜보자.
과제 ¶
- Directive와 instruction의 차이점에 대해 설명하시오.
- 각 배열을 그림으로 표현하고, 다음의 실행결과가 나오도록 괄호를 채우시오.
arrayB BYTE 12h, 34h, 56h, 78h; arrayW WORD 1324h, 5768h; arrayD DWORD 87654321h; mov al, ( ) // al = 21 mov ax, ( ) // ax = 7856 mov eax, ( ) // eax = 57681324
3.
.data arrV BYTE 12h,34h,56h,78h arrD WORD 0502h, 0603h arrW DWORD 13141516h
a) 각 data가 메모리에 어떻게 저장되는지 쓰세요.
b) 다음 코드를 데이터에 따라 완성하세요.
b) 다음 코드를 데이터에 따라 완성하세요.
.code ; 3412h 출력 ; 1314h 출력
4.다음 방식(indirect, indexed)로 코드를 작성하고, 설명하시오.
.data arrayD BYTE 100h, 200h, 300h indirect operands indexed operands ;ax=100h 1) 1) ;ax=ax+300h; 2) 2) 3) 3) 4) 4)