U E D R , A S I H C RSS

튜터링/2011/어셈블리언어

Difference between r1.18 and the current

@@ -43,15 +43,15 @@
* 2주 하고도 반짜리 진도를 한번에 나가버렸다.
* visual studio 2008이 설치되었으니 다음주 부터는 실습을 합니다.
== 10주차 ==
1. 코딩 실습
1. 강의 과제인 Factorial을 코딩해본다.
1. 책의 코드를 그대로 베껴와 프로그램을 완성했지만 어떻게 동작하는지는 잘 모르는 사람이 많아 다시 짜보기로 한다.
1. 관례적으로 "Hello World!"를 출력해 보기로 한다.
1. 언어 입문의 첫단계
1. 반복과 재귀의 차이를 알아보자
1. 정수 총합 구하기
1. 루프를 돌며 구하기
1. sum 프로시저를 만들어 재귀호출하기
* 코딩 실습
* 강의 과제인 Factorial을 코딩해본다.
* 책의 코드를 그대로 베껴와 프로그램을 완성했지만 어떻게 동작하는지는 잘 모르는 사람이 많아 다시 짜보기로 한다.
* 관례적으로 "Hello World!"를 출력해 보기로 한다.
* 언어 입문의 첫단계
* 반복과 재귀의 차이를 알아보자
* 정수 총합 구하기
* 루프를 돌며 구하기
* sum 프로시저를 만들어 재귀호출하기
== 11주차 ==
* 코딩 실습2
* 지난주에 하던 정수 총합 구하기 계속
@@ -64,6 +64,70 @@
* 이번주는 회식을 하였습니다.
* 미스터 피자에서
== 12주차 ==
* 3N+1을 해보았습니다.
* 전체 코드는 아니고 3N+1 부분만
* 생각했던 것 이상으로 시간이 오래걸려서 당황
 
* 삼십분도 안걸릴것이라 생각했는데, 이날의 문제는 무엇일까
* 정의정이 안옴
* 축제 첫날
* 내가 코드 설명을 부족하게 하였다. - 슈도코드를 제공하였는데, c로짠다면 3줄정도의 코드다..
* 난이도가 갑자기 상승하였다? - 그런거같지는 않다. 템플릿을 제공했는데(늦었지만)
* 짝수 홀수 구분부분에서 다들 헤맨듯.
* 다들 변수이름 개떡같이 지어. 나도 개떡같지만..
{{{
TITLE MASM Template (main.asm)
 
INCLUDE Irvine32.inc
.data
number byte ?
isOdd byte ?
 
.code
main PROC
call ReadDec ; 숫자 하나 받아옴
mov number, al
 
LOOP:
; n이 1인지 검사한다
cmp number, 1
je EXIT_LABEL
; 홀수 짝수 검사하는 부분
movzx edx, number
mov isOdd, dl
AND isOdd, 1
jz EVEN_LABEL
 
ODD_LABEL:
; 홀수 계산
jmp START
EVEN_LABEL:
; 짝수 계산
 
jmp LOOP
 
EXIT_LABEL: exit
main ENDP
 
END main
}}}
== 13주차 ==
* 매크로했다.
* 매크로는 대체 왜 쓰나요?
* 타이핑 수가 줄어든다
* 코드가 간결해져 보기 좋다.
* 긴 코드를 짜보지 않아서 공감하기 힘들었나보다. 이놈. 조금만 기다려봐라
== 14주차 ==
* 상위 언어 인터페이스
* c 프로그램에 어셈블리 사용
* inline
* object 파일
* library
* 튜터링 페이지가 있었네..보강은 아침에 합쉬다 - [정의정]
== 15주차 ==
* 커리큘럼을 잘못 계산했네요.. 15주차는 기말고사중..
* 기말고사 기간에도 강의할만큼 나에게 여유가 있지 않다..
* 나야말로 찌질거리며 피피티 파고있을듯



시스템 프로그램 및 어셈블리언어 튜터링

커리큘럼

  • 1주차 : 어셈블리 소개 및 컴퓨터 시스템 개요
  • 2주차 : 인텔 프로세서의 구조, 파이프라이닝과 슈퍼스칼라와 스케쥴러
  • 3주차 : 스케쥴러 반복, 주소 체계
  • 4주차 : 주소 체계 반복, 가상주소와 물리주소의 관계 이해
  • 5주차 : 세그먼트, 페이징과 캐싱
  • 6주차 : 중간고사 대비 총정리
  • 7주차 : 중간고사로 휴강
  • 8주차 : 중간 간담회
  • 9주차 : 스택과 프로시저
  • 10주차 : 조건부 처리, 루프
  • 11주차 : 정수 산술, 어셈블리언어의 정수&상수 계산
  • 12주차 : 소프트웨어 인터럽트
  • 13주차 : 매크로 연산
  • 14주차 : 고급언어 인터페이스
  • 15주차 : 인터럽트 핸들링

1주차

  • 주제 : 어셈블리 소개 및 컴퓨터 시스템 개요
  • 첫인사.

2주차

3주차

4주차

5주차

6주차

  • 중간고사를 위한 여러분의 대비
    • 지금까지 배운것을 총정리 하는 시간
    • 퀴즈
    • 칠판에 나와서 문제 풀어보기
  • 항상 기출되는 문제들이 있다.
  • 책의 정의를 그대로 외우지 말고 왜 그렇게 되는지를 이해하자.

7주차

  • 중간고사 기간입니다.

8주차

  • 튜터 간담회로 인해 수업하지 않습니다.

9주차

  • 쏜살같은 진도
  • 2주 하고도 반짜리 진도를 한번에 나가버렸다.
  • visual studio 2008이 설치되었으니 다음주 부터는 실습을 합니다.

10주차

  • 코딩 실습
  • 강의 과제인 Factorial을 코딩해본다.
    • 책의 코드를 그대로 베껴와 프로그램을 완성했지만 어떻게 동작하는지는 잘 모르는 사람이 많아 다시 짜보기로 한다.
  • 관례적으로 "Hello World!"를 출력해 보기로 한다.
    • 언어 입문의 첫단계
  • 반복과 재귀의 차이를 알아보자
    • 정수 총합 구하기
      • 루프를 돌며 구하기
      • sum 프로시저를 만들어 재귀호출하기

11주차

  • 코딩 실습2
  • 지난주에 하던 정수 총합 구하기 계속
    • 지난주에는 루프와 레지스터를 이용한 재귀함수까지 해 보았다.
    • 이번에는 전역변수와 스택을 이용한 재귀함수를 구현해 본다.
  • 스택(Stack)이 쓰기 어려워요!
    • 그럼 쓰는것을 연습해 보자.
    • 스택의 기본은 push와 pop.
      • 스택에 push되는 값이 무엇인지 생각해보고 pop된 값을 어디에 저장할지를 정하자.
  • 이번주는 회식을 하였습니다.
    • 미스터 피자에서

12주차

  • 3N+1을 해보았습니다.
  • 전체 코드는 아니고 3N+1 부분만
    • 생각했던 것 이상으로 시간이 오래걸려서 당황

  • 삼십분도 안걸릴것이라 생각했는데, 이날의 문제는 무엇일까
    • 정의정이 안옴
    • 축제 첫날
    • 내가 코드 설명을 부족하게 하였다. - 슈도코드를 제공하였는데, c로짠다면 3줄정도의 코드다..
    • 난이도가 갑자기 상승하였다? - 그런거같지는 않다. 템플릿을 제공했는데(늦었지만)
    • 짝수 홀수 구분부분에서 다들 헤맨듯.
    • 다들 변수이름 개떡같이 지어. 나도 개떡같지만..

TITLE MASM Template						(main.asm)

INCLUDE Irvine32.inc
.data
number byte ?
isOdd byte ?

.code
main PROC
	call ReadDec	; 숫자 하나 받아옴
	mov number, al

LOOP:
	; n이 1인지 검사한다
	cmp number, 1
	je EXIT_LABEL
	
	; 홀수 짝수 검사하는 부분	
	movzx edx, number
	mov isOdd, dl
	AND isOdd, 1
	jz EVEN_LABEL

ODD_LABEL:	
	; 홀수 계산
		
	jmp START
		
EVEN_LABEL:
	; 짝수 계산

	jmp LOOP

EXIT_LABEL:	exit
main ENDP

END main

13주차

  • 매크로했다.
  • 매크로는 대체 왜 쓰나요?
    • 타이핑 수가 줄어든다
    • 코드가 간결해져 보기 좋다.
      • 긴 코드를 짜보지 않아서 공감하기 힘들었나보다. 이놈. 조금만 기다려봐라

14주차

  • 상위 언어 인터페이스
    • c 프로그램에 어셈블리 사용
      • inline
      • object 파일
      • library
  • 튜터링 페이지가 있었네..보강은 아침에 합쉬다 - 정의정

15주차

  • 커리큘럼을 잘못 계산했네요.. 15주차는 기말고사중..
  • 기말고사 기간에도 강의할만큼 나에게 여유가 있지 않다..
    • 나야말로 찌질거리며 피피티 파고있을듯
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:22
Processing time 0.0387 sec