SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
[TAOCP]
1.3.1MIX 설명
ohyecloudy
http://ohyecloudy.com
아꿈사
http://cafe.naver.com/architect1.cafe

2011.04.16
몇 진수?
byte, word, ~byte field
필드 명세
명령 형식, 표기법
연산자 이름 규칙
MIX는 OO진수 컴퓨터와 상관없이 잘 돌아간다.

    2진수 컴퓨터, 10진수 컴퓨터 맘대로 생각해라.
    알고리즘을 짤 때, 절대 이 레벨까지는 안 내려옴.

    한 단계 위에 기본 단위를 정의해야 함.
몇 진수?
byte, word, ~byte field
필드 명세
명령 형식, 표기법
연산자 이름 규칙
더 이상 쪼개질 수 없는 단위



      자료 기본 단위         byte
         우리가 아는 byte(8bit)와 다름.
                      2진수
이만큼 서로 구별되는 값을 담을 수 있다.

64 ≤ byte ≤ 100
          OO진수라도 이 값만 담을 수 있음 된다.
          byte로 놀기 땜시롱
내림수 배째
  +   24   0

  +   23   9

  +   0    ?

           64 ≤ 내림수 ≤ 100
니가 실제 컴퓨터에서
                   프로그래밍을 할 때에는~



MIX 기계어로 프로그램을 작성할 때에는 한 바이트
에 64개보다 많은 값들이 존재하지 않는다는 가정을
깔아야 한다.
…
MIX로 작성된 알고리즘은 하나의 바이트가 얼마나
큰 지와 무관하게 제대로 작동해야 한다.
                          - p162
  책에서는
이렇게 설명하겠다.
                         커누스 형님.
                    걍 통일해서 쉽게쉽게 갑시다. 흑
5byte + 부호 =               word
  0    1      2      3      4      5
  ±   byte   byte   byte   byte   byte
2byte 이상이 묶임 =            ~byte field
       0    1      2      3       4           5
      ±    byte   byte   byte    byte     byte



                          예)     + 2000       2   3   8

                                2byte field
~byte field는 다시 byte로 분해 불가능
         + 65   2 3 8
                64로 생각하면 안 됨


        + 1 1 2 3 8
몇 진수?
byte, word, ~byte field
필드 명세
명령 형식, 표기법
연산자 이름 규칙
워드 중 일부분만 사용하려고


       (L:R)
제일 왼쪽 필드      제일 오른쪽 필드
0    1      2      3      4      5
        ±   byte   byte   byte   byte   byte




(0:0)   ±   byte   byte   byte   byte   byte
(0:2)   ±   byte   byte   byte   byte   byte
(0:5)   ±   byte   byte   byte   byte   byte
(1:5)   ±   byte   byte   byte   byte   byte
(4:4)   ±   byte   byte   byte   byte   byte
(4:5)   ±   byte   byte   byte   byte   byte
8L + R
(L:R)을 숫자 하나로 표현, byte에 저장하려고

             (1:3) = 8 X 1 + 3 = 11
몇 진수?
byte, word, ~byte field
필드 명세
명령 형식, 표기법
연산자 이름 규칙
명령 워드
                      0   1   2   3   4   5
                      ±   A   A   I   F   C




OP ADDRESS,I(F)
연산 코드 이름

예) LDA, STA, STX, …
명령 워드
                 0   1   2   3   4   5
                ±    A   A   I   F   C




OP ADDRESS,I(F)
  메모리 주소

  MIX에서 유효한 주소는 0~3999
  어라? 음수도 되네?
  뒤에 다시 설명
명령 워드
                              0   1     2   3   4   5
                              ±   A     A   I   F   C




 OP ADDRESS,I(F)
         색인 지정, 0일 때 생략
         ADDRESS에 rIi 값을 더한다.

색인 처리가
끝난 주소    M = ±AA + 색인 지정된 인덱스 레지스터 값
         예)
         ±AA = +2000, I = 3, rI3 = 20
         M = 2020
명령 워드
                   0   1   2   3   4   5
                  ±    A   A   I   F   C




OP ADDRESS,I(F)
 필드 명세

 해당 명령 정규(normal) F 명세일 때 생략
 - 거의 대부분 워드 전체인 (0:5)
 - 명령에 따라 달라질 수 있음
몇 진수?
byte, word, ~byte field
필드 명세
명령 형식, 표기법
연산자 이름 규칙
A        rA 쿵짝쿵짝

                X        rX 쿵짝쿵짝

[연산자 대표 이름]
 예) LD, ST, …
                1~6(i)   rIi 꿍짝쿵짝

                N        부호 반대

                J        rJ 쿵짝쿵짝

                Z        0을 ~한다
연산자 설명은 문제 풀이 하면서
  하나하나 설명했다간 수명이 줄어들 것 같다.
[TAOCP] 1.3.1 MIX 설명
[TAOCP] 1.3.1 MIX 설명

Weitere ähnliche Inhalte

Was ist angesagt?

String Searching Algorithms
String Searching AlgorithmsString Searching Algorithms
String Searching Algorithmsskku_npc
 
문자셋과 인코딩
문자셋과 인코딩문자셋과 인코딩
문자셋과 인코딩Jaehoon Jung
 
유니코드 세미나
유니코드 세미나유니코드 세미나
유니코드 세미나YoungGyu Chun
 
전영규 유니코드 세미나_공개용
전영규 유니코드 세미나_공개용전영규 유니코드 세미나_공개용
전영규 유니코드 세미나_공개용YOUNGGYU CHUN
 
HI-ARC PS 102 Brute Force
HI-ARC PS 102 Brute ForceHI-ARC PS 102 Brute Force
HI-ARC PS 102 Brute ForceJae-yeol Lee
 
HI-ARC Number Theory
HI-ARC Number TheoryHI-ARC Number Theory
HI-ARC Number TheoryJae-yeol Lee
 
Backtracking [ICPC Sinchon]
Backtracking [ICPC Sinchon]Backtracking [ICPC Sinchon]
Backtracking [ICPC Sinchon]Jae-yeol Lee
 
2.1 부동소수점 비법들
2.1 부동소수점 비법들2.1 부동소수점 비법들
2.1 부동소수점 비법들준섭 김
 
파이썬 유니코드 이해하기
파이썬 유니코드 이해하기파이썬 유니코드 이해하기
파이썬 유니코드 이해하기Yong Joon Moon
 
Unicode 이해하기
Unicode 이해하기Unicode 이해하기
Unicode 이해하기Ryan Park
 

Was ist angesagt? (15)

String Searching Algorithms
String Searching AlgorithmsString Searching Algorithms
String Searching Algorithms
 
Unicode @KASA
Unicode @KASAUnicode @KASA
Unicode @KASA
 
Regex
RegexRegex
Regex
 
문자셋과 인코딩
문자셋과 인코딩문자셋과 인코딩
문자셋과 인코딩
 
유니코드 세미나
유니코드 세미나유니코드 세미나
유니코드 세미나
 
전영규 유니코드 세미나_공개용
전영규 유니코드 세미나_공개용전영규 유니코드 세미나_공개용
전영규 유니코드 세미나_공개용
 
9. pointer
9. pointer9. pointer
9. pointer
 
HI-ARC PS 102 Brute Force
HI-ARC PS 102 Brute ForceHI-ARC PS 102 Brute Force
HI-ARC PS 102 Brute Force
 
HI-ARC Number Theory
HI-ARC Number TheoryHI-ARC Number Theory
HI-ARC Number Theory
 
이항계수
이항계수이항계수
이항계수
 
Backtracking [ICPC Sinchon]
Backtracking [ICPC Sinchon]Backtracking [ICPC Sinchon]
Backtracking [ICPC Sinchon]
 
HI-ARC PS 101
HI-ARC PS 101HI-ARC PS 101
HI-ARC PS 101
 
2.1 부동소수점 비법들
2.1 부동소수점 비법들2.1 부동소수점 비법들
2.1 부동소수점 비법들
 
파이썬 유니코드 이해하기
파이썬 유니코드 이해하기파이썬 유니코드 이해하기
파이썬 유니코드 이해하기
 
Unicode 이해하기
Unicode 이해하기Unicode 이해하기
Unicode 이해하기
 

Mehr von 종빈 오

트위터 봇 개발 후기
트위터 봇 개발 후기트위터 봇 개발 후기
트위터 봇 개발 후기종빈 오
 
적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0종빈 오
 
페리 수열(Farey sequence)
페리 수열(Farey sequence)페리 수열(Farey sequence)
페리 수열(Farey sequence)종빈 오
 
내가 본 미드 이야기
내가 본 미드 이야기내가 본 미드 이야기
내가 본 미드 이야기종빈 오
 
비트 경제와 공짜
비트 경제와 공짜비트 경제와 공짜
비트 경제와 공짜종빈 오
 
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해종빈 오
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스종빈 오
 
Intrusive data structure 소개
Intrusive data structure 소개Intrusive data structure 소개
Intrusive data structure 소개종빈 오
 
2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템종빈 오
 
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81종빈 오
 
[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments종빈 오
 
넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우종빈 오
 
[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합종빈 오
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개종빈 오
 
[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline종빈 오
 
[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당종빈 오
 
[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary종빈 오
 
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬종빈 오
 
[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering종빈 오
 
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이종빈 오
 

Mehr von 종빈 오 (20)

트위터 봇 개발 후기
트위터 봇 개발 후기트위터 봇 개발 후기
트위터 봇 개발 후기
 
적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0적당한 스터디 발표자료 만들기 2.0
적당한 스터디 발표자료 만들기 2.0
 
페리 수열(Farey sequence)
페리 수열(Farey sequence)페리 수열(Farey sequence)
페리 수열(Farey sequence)
 
내가 본 미드 이야기
내가 본 미드 이야기내가 본 미드 이야기
내가 본 미드 이야기
 
비트 경제와 공짜
비트 경제와 공짜비트 경제와 공짜
비트 경제와 공짜
 
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
[NDC12] 게임 물리 엔진의 내부 동작 원리 이해
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스
 
Intrusive data structure 소개
Intrusive data structure 소개Intrusive data structure 소개
Intrusive data structure 소개
 
2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템2011 아꿈사 오전반 포스트모템
2011 아꿈사 오전반 포스트모템
 
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
[프로젝트가 서쪽으로 간 까닭은] chap 17, 18, 26, 33, 81
 
[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments[GEG1] 3.volumetric representation of virtual environments
[GEG1] 3.volumetric representation of virtual environments
 
넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우넘쳐나는 정보 소화 노하우
넘쳐나는 정보 소화 노하우
 
[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합[Domain driven design] 17장 전략의 종합
[Domain driven design] 17장 전략의 종합
 
LevelDB 간단한 소개
LevelDB 간단한 소개LevelDB 간단한 소개
LevelDB 간단한 소개
 
[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline[GEG1] 2.the game asset pipeline
[GEG1] 2.the game asset pipeline
 
[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당[TAOCP] 2.5 동적인 저장소 할당
[TAOCP] 2.5 동적인 저장소 할당
 
[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary[GEG1] 24. key value dictionary
[GEG1] 24. key value dictionary
 
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬[TAOCP] 2.2.3 연결된 할당 - 위상정렬
[TAOCP] 2.2.3 연결된 할당 - 위상정렬
 
[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering
 
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
[TAOCP] 1.3.1 MIX 설명, 짝수 연습문제 풀이
 

[TAOCP] 1.3.1 MIX 설명

  • 2. 몇 진수? byte, word, ~byte field 필드 명세 명령 형식, 표기법 연산자 이름 규칙
  • 3. MIX는 OO진수 컴퓨터와 상관없이 잘 돌아간다. 2진수 컴퓨터, 10진수 컴퓨터 맘대로 생각해라. 알고리즘을 짤 때, 절대 이 레벨까지는 안 내려옴. 한 단계 위에 기본 단위를 정의해야 함.
  • 4. 몇 진수? byte, word, ~byte field 필드 명세 명령 형식, 표기법 연산자 이름 규칙
  • 5. 더 이상 쪼개질 수 없는 단위 자료 기본 단위 byte 우리가 아는 byte(8bit)와 다름. 2진수
  • 6. 이만큼 서로 구별되는 값을 담을 수 있다. 64 ≤ byte ≤ 100 OO진수라도 이 값만 담을 수 있음 된다. byte로 놀기 땜시롱
  • 7. 내림수 배째 + 24 0 + 23 9 + 0 ? 64 ≤ 내림수 ≤ 100
  • 8. 니가 실제 컴퓨터에서 프로그래밍을 할 때에는~ MIX 기계어로 프로그램을 작성할 때에는 한 바이트 에 64개보다 많은 값들이 존재하지 않는다는 가정을 깔아야 한다. … MIX로 작성된 알고리즘은 하나의 바이트가 얼마나 큰 지와 무관하게 제대로 작동해야 한다. - p162 책에서는 이렇게 설명하겠다. 커누스 형님. 걍 통일해서 쉽게쉽게 갑시다. 흑
  • 9. 5byte + 부호 = word 0 1 2 3 4 5 ± byte byte byte byte byte
  • 10. 2byte 이상이 묶임 = ~byte field 0 1 2 3 4 5 ± byte byte byte byte byte 예) + 2000 2 3 8 2byte field
  • 11. ~byte field는 다시 byte로 분해 불가능 + 65 2 3 8 64로 생각하면 안 됨 + 1 1 2 3 8
  • 12. 몇 진수? byte, word, ~byte field 필드 명세 명령 형식, 표기법 연산자 이름 규칙
  • 13. 워드 중 일부분만 사용하려고 (L:R) 제일 왼쪽 필드 제일 오른쪽 필드
  • 14. 0 1 2 3 4 5 ± byte byte byte byte byte (0:0) ± byte byte byte byte byte (0:2) ± byte byte byte byte byte (0:5) ± byte byte byte byte byte (1:5) ± byte byte byte byte byte (4:4) ± byte byte byte byte byte (4:5) ± byte byte byte byte byte
  • 15. 8L + R (L:R)을 숫자 하나로 표현, byte에 저장하려고 (1:3) = 8 X 1 + 3 = 11
  • 16. 몇 진수? byte, word, ~byte field 필드 명세 명령 형식, 표기법 연산자 이름 규칙
  • 17. 명령 워드 0 1 2 3 4 5 ± A A I F C OP ADDRESS,I(F) 연산 코드 이름 예) LDA, STA, STX, …
  • 18. 명령 워드 0 1 2 3 4 5 ± A A I F C OP ADDRESS,I(F) 메모리 주소 MIX에서 유효한 주소는 0~3999 어라? 음수도 되네? 뒤에 다시 설명
  • 19. 명령 워드 0 1 2 3 4 5 ± A A I F C OP ADDRESS,I(F) 색인 지정, 0일 때 생략 ADDRESS에 rIi 값을 더한다. 색인 처리가 끝난 주소 M = ±AA + 색인 지정된 인덱스 레지스터 값 예) ±AA = +2000, I = 3, rI3 = 20 M = 2020
  • 20. 명령 워드 0 1 2 3 4 5 ± A A I F C OP ADDRESS,I(F) 필드 명세 해당 명령 정규(normal) F 명세일 때 생략 - 거의 대부분 워드 전체인 (0:5) - 명령에 따라 달라질 수 있음
  • 21. 몇 진수? byte, word, ~byte field 필드 명세 명령 형식, 표기법 연산자 이름 규칙
  • 22. A rA 쿵짝쿵짝 X rX 쿵짝쿵짝 [연산자 대표 이름] 예) LD, ST, … 1~6(i) rIi 꿍짝쿵짝 N 부호 반대 J rJ 쿵짝쿵짝 Z 0을 ~한다
  • 23. 연산자 설명은 문제 풀이 하면서 하나하나 설명했다간 수명이 줄어들 것 같다.