Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[아꿈사발표자료] TAOCP 1.3.2 MIX 어셈블리 언어 연습문제 (110312)

2,835 views

Published on

아꿈사 발표자료
2011년 3월 12일
TAOCP 1.3.2 MIX 어셈블리 언어 연습문제

Published in: Technology
  • Be the first to comment

  • Be the first to like this

[아꿈사발표자료] TAOCP 1.3.2 MIX 어셈블리 언어 연습문제 (110312)

  1. 1. TAOCP #1 1.3.2. MIX 어셈블리 언어 (연습문제 풀이) 아꿈사 http://cafe.naver.com/architect1 최성기
  2. 2. 1.3.2. MIX 어셈블리 언어 연습문제 (1부) 연습문제 (2부) 2. [10] 9. [25] 3. [23] 10. [31] 4. [25] 14. [31] 8. [24] 20. [33]
  3. 3. 1.3.2. MIX 어셈블리 언어 연습문제 (1부) 연습문제 (2부) 2. [10] 9. [25] 3. [23] 10. [31] 4. [25] 14. [31] 8. [24] 20. [33]
  4. 4. 2. [10] 프로그램 M의 줄 12는 “JMP *”인데, 여기서 *는그 줄의 장소를 뜻한다. 이 자체로 보면 자신으로 점프하는 명령이므로 무한루프가 될 것 같지만, 프로그램 M은무한루프에 빠지지 않는다. 왜 그럴까?
  5. 5. 2. [10] 프로그램 M의 줄 12는 “JMP *”인데, 여기서 *는그 줄의 장소를 뜻한다. 이 자체로 보면 자신으로 점프하는 명령이므로 무한루프가 될 것 같지만, 프로그램 M은무한루프에 빠지지 않는다. 왜 그럴까? 여기서 주소가 재설정됨 03줄이 실행되는 순간 이 값이 수정된다.
  6. 6. 3. [23] 프로그램 M과 함께 쓰인다고 할 때, 다음 프로그램의 효과는 무엇인가? (0) (0) 프로그램 M 다음 프로그램(?)
  7. 7. 3. [23] 프로그램 M과 함께 쓰인다고 할 때, 다음 프로그램의 효과는 무엇인가? (0) 0번 디바이스에서 1001번지로 데이터 읽어 들임 (0) 0번 장치가 사용 중이면 제자리로 점프(=대기) rI1 레지스터에 숫자 100(데이터 사이즈) 입력 MAXIMUM 서브루틴으로 점프. 1000+rI1번지의 값(마지막 데이터)을 rX에 로딩 최대값을제일 끝으로 rA의 값(최대값)을 1000+rI1번지(마지막)에 저장 이동. rX의 값을 1000+rI2번지(최대값 있던 곳)에 저장 rI1 레지의 값을 하나 줄인다. (데이터 사이즈 축소) rI1 레지의 값이 양수라면 1H로 이동. 1번 디바이스로 1001번지부터의 값을 출력 스토옵 ~ selection sort. ������(������2 )
  8. 8. 4. [25] 프로그램 P를 손으로 직접 어셈블해 볼 것. (생각보다는 오래 걸리지 않을 것이다.) 기호적 프로그램에 해당하는 실제의 수치적 메모리 내용은 무엇인가? …교수님, 생각보다 오래 걸리던데요;;
  9. 9. 4. [25] 프로그램 P를 손으로 직접 어셈블해 볼 것. OP(C) Addr ,I (F) MIXAL : LDA 2000,2(0:3) Addr I F CAssembly : + 2000 2 3 8 기본 적으로 이런 절차가 50여 회 반복됩니다. 물론 그 외 다양한 추가 규칙이 등장하며 로케이션(Location)도 신경 써야겠죠.
  10. 10. 4. 정답.
  11. 11. 8. [24] 다음 프로그램이 하는 일은 무엇인가? (컴퓨터로실행하지 말고 직접 손으로 풀어볼 것!)초 rI1 <- 1기 rI2 <- 0화 rX <- ‘AAAAA’ Zero(0)출력메 B rI2 : 출력 버퍼를 채울 때마다 증가.인 (= 출력 데이터의 크기) A ‘AAAAA’출력처리 rI1 : loop A를 돌 때마다 증가. rI3 : rI1로 초기화 후 (2H),출 이 값만큼 loop B를 반복한다. C D력
  12. 12. 메모리 아름답지 못한 출력.
  13. 13. 9. [25] 장소 INST에는 하나의 MIX 명령에 해당하는 하나의 MIX 워드가 들어있다. 그 워드가 유효한 C, ± AA, I,F 필드를 가진다면 장소 GOOD으로, 아니면 BAD로 점프하는 프로그램을 작성하라. -> 메모리 블록의 데이터에 대해, 올바른 MIX 명령인지 판별하라는 소리.
  14. 14. ±AA I F CI 필드 : 값이 6 이하이면 유효C 필드 : 존재하는 값이면 (표 1.3.1-1) 유효F 필드 : C필드에 따라 다르게 판단.ex) C=7(MOVE)이면 F는 어떤 값이든 가능. C=8(LDA)이면 F는 8L+R 형태여야 한다. ( 0 ≤ ������ ≤ ������ ≤ 5 )±AA필드 : C가 메모리 주소를 요구하는 명령이고 I=0일 때에는 올바른 메모리 주소 (0~3999) 여야 한다.
  15. 15. 끝. 질문은 님께~

×