= Assembly 튜터링 = * 교수학습센터에서 진행하는 튜터링 프로그램에 참가해 튜터링 활동을 진행 * 튜터 : [김태진] * 튜티 : [김민재],[양아석],[장지희],[이승준],[김수연] == 1주차 == === 강의 내용 === * 사전 실력점검 테스트 * 어셈블리란? * 이 과목에서 가장 주로 다루는 어셈블리 언어를 사용하는 이유와 현재 어떤 곳에 사용되는지, 특징은 무엇이며 장단점은 무엇인지 알아보자. * 컴퓨터 구조 * 어셈블리 과목의 특성상 하드웨어와 소프트웨어의 이해가 동시에 필요한데, 이 부분에 관해 알아보기 위해 하드웨어가 어떤 식으로 명령을 처리하는지 알아보자. === 과제 === * 어셈블리 언어란 무엇이며, 왜 쓰고 장단점은 무엇인지 써보자.(서술식으로 자신이 아는 내용/책에서 찾아본 내용을 써내려가보자.) * 컴퓨터 구조가 어떤 식으로 되어있는지 써보고, CPU에는 어떤 것이 있으며 각각 무슨 일을 하는지 써보자. * 재귀함수에 관해 써보고, n!을 재귀함수로 작성할 때 무엇을 고민해야하는지 써보자. * 가능하다면 n!을 직접 구현해보고 돌려보자. * 승준이를 위한 과제 * 0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜보자. * /10, %10 등을 이용해서 해 보세요. * 소문자를 대문자로 바꾸는 프로그램을 작성해보자. * 2중 for문을 사용하여 다음 모양의 별찍기를 작성해보자. {{{ 1. ***** **** *** ** * 2. * ** *** **** ***** }}} == 2주차 == === 강의 내용 === * Virtual, 2진수, 메모리 공간, ALU연산, Pipeline, Multitasking, 보호모드, Little-endian, RISC&CISC === 과제 === * 9개의 단어 중 3개를 골라 수업시간에 그에 관해 설명할 수 있도록 준비하자. * 아래 문제는 기출문제입니다. --* 1. 각 data가 메모리에 어떻게 저장되는지 쓰세요. {{{ .data arrV BYTE 12h,34h,56h,78h arrD WORD 0502h, 0603h arrW DWORD 13141516h }}} 1. 10진수값 223을 16진수 값으로 변환하세요. 1. 십진수 14에서 5를 빼는 과정과 결과를 2진수로 표현하여 쓰세요. 1. Instruction Execution Cycle을 도식하고, 설명하세요. * 어셈블리언어의 기본문법을 보고, 어떤 프로그램이든 컴파일시키고 실행시켜보자. == 3주차 == === 강의 내용 === === 과제 === 1. Directive와 instruction의 차이점에 대해 설명하시오. 1. 각 배열을 그림으로 표현하고, 다음의 실행결과가 나오도록 괄호를 채우시오. {{{ 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) 다음 코드를 데이터에 따라 완성하세요. .code ; 3412h 출력 ; 1314h 출력 ---- [2013년활동지도]