2 3 2 q ORG STAB SYMBOL VALUE
2. 3. 2 기호 정의문 q ORG의 사용 STAB SYMBOL VALUE FLAGS RESB ORG RESB RESW RESB ORG 1100 STAB 6 1 2 STAB + 1100 (LOCCTR 재설정) (LOCCTR의 복귀) q 어셈블러 지시자(EQU, ORG)의 제약 v 오른쪽의 기호는 이전에 프로그램에서 먼저 나타나야 함 ALPHA RESW 1 BETA EQU ALPHA BETA ALPHA 시스템 프로그래밍 EQU RESW ALPHA 1 컴퓨터공학부
5 원시프로그램 Default(1) 70 95 CDATA(1) 100 105 CBLKS(1) 125 목적프로그램 Default(1) Default(2) CDATA(2) 0027 004 D Default(3) 0066 Default(3) CDATA(1) CDATA(3) CDATA(2) 006 C Default(2) 180 185 CDATA(2) 메모리에 로드된 프로그램 0000 CDATA(3) 006 D 0071 210 Default(3) CBLKS(1) 245 253 CDATA(3) 시스템 프로그래밍 컴퓨터공학부
2. 3. 5 제어 섹션과 프로그램 링크 15 0003 H COPY CLOOP +JSUB RDREC 4 B 100000 001033 D BUFFER 000033 BUFEND 001033 LENGTH 00002 D R RDREC WRREC T 000000 1 D 172027 4 B 100000 032023 290000 332007 4 B 100000 3 F 2 FEC…… T 00001 D 0 D 010003 0 F 200 A 4 B 100000 3 E 2000 T 000030 03 454 F 46 15행 M 000004 05 +RDREC 65행 35행 P 113참조 M 000011 05 +WRREC M 000024 05 +WRREC E 000000 시스템 프로그래밍 컴퓨터공학부
2. 3. 5 제어 섹션과 프로그램 링크 190 0028 MAXLEN WORD BUFEND-BUFFER 000000 H RDREC 0000002 B R BUFFER LENGTH BUFEND T 000000 1 DB 410 B 400 B 440 77201 F E 3201 B 332 FFA DB 201 BA 004 332009 57900000 b 850 T 00001 D 0 E 3 B 2 FE 913100000 4 F 0000 F 1 000000 M 000018 05 +BUFFER M 000021 05 +LENGTH M 000028 06 +BUFEND M 000028 06 -BUFFER 190행 E 시스템 프로그래밍 컴퓨터공학부
q 적재 실행(load-and-go) 어셈블러 메모리 주소 1000 1010 내용 기호 454 F 4600 00030000 00 xxxxxxxx xxxxxxxx …… 2000 xxxxxxxx xxxxxx 14 2010 1009 48 -- --00100 C 281006 30 ---- 48 -- 2020 --3 C 2012 시스템 프로그래밍 값 100 C * 1003 1006 WRREC * EOF 1000 ENDFIL * RETADR 1009 BUFFER 100 F CLOOP 2012 FIRST 200 F …… …… LENGTH RDREC THREE ZERO 2013 0 201 F 0 201 C 0 컴퓨터공학부
메모리 주소 1000 1010 내용 454 F 4600 00030000 00 xxxxxxxx xxxx …… 2000 xxxxxxxx 기호 xxxxxxxx 14 2010 1009 4820 3 D 00100 C 281006 30 2024 48 -- 2020 --3 C 2012 0010000 C 100 F 0010 030 C 100 C 2030 48 ----08 10094 C 00 00 F 10010 00041006 2040 001006 E 0 20393020 43 D 82039 281006 30 2050 ---- 5490 0 F …… 시스템 프로그래밍 값 LENGTH 100 C RDREC 203 D 1003 1006 * 1000 2024 RETADR 1009 BUFFER 100 F CLOOP 2012 FIRST 200 F MAXLEN 203 A INPUT 2039 EXIT * RLOOP 2043 …… …… THREE ZERO WRREC EOF ENDFIL 201 F 2031 0 2050 0 컴퓨터공학부
2. 4. 1 단일 패스 어셈블러 q 목적 프로그램 생성(단일 패스 어셈블러) v 외부 저장 장치가 속도가 느리거나 사용이 불편할 경우 v 전방 참조 문제 : 로더에 의해 해결 H COPY 001000 00107 A T 001000 09 454 F 46 000003 000000 T 00200 F 15 141009 480000 00100 C 281006 300000 480000 3 C 2012 T 00201 C 02 2024 T 002024 19 001000 0 C 100 F 001003 0 C 100 C 480000 081009 4 C 0000 F 1 001000 T 002013 02 203 D T 00203 D 1 E 041006 001006 E 02039 302043 D 82039281006 300000 54900 F …… T 002050 02 205 B T 00205 B 07 10100 C 4 C 000005 …… E 000000 시스템 프로그래밍 컴퓨터공학부
2. 4. 2 다중 패스 어셈블러 q 2번 문장의 패스 1 수행 결과의 기호 테이블 MAXLEN EQU BUFEND-BUFFER BUFEND * HALFSZ &1 MAXLEN/2 시스템 프로그래밍 MAXLEN 0 0 MAXLEN &2 BUFEND-BUFFER HALFSZ 0 BUFFER * MAXLEN 0 컴퓨터공학부
2. 4. 2 다중 패스 어셈블러 q 3번 문장의 패스 1 수행 결과의 기호 테이블 PEVBT EQU BUFFER-1 BUFEND * MAXLEN 0 HALFSZ &1 MAXLEN/2 0 PREVBT &1 BUFFER-1 0 MAXLEN &2 BUFEND-BUFFER HALFSZ 0 BUFFER * MAXLEN 시스템 프로그래밍 PREVBT 0 컴퓨터공학부
2. 4. 2 다중 패스 어셈블러 q 4번 문장의 패스 1에서의 주소 배정이 1034(16진수) 1034 BUFFER RESB 4096 BUFEND * HALFSZ &1 MAXLEN/2 PREVBT 1033 MAXLEN 0 0 0 MAXLEN &1 BUFEND-BUFFER 1034 시스템 프로그래밍 HALFSZ 0 0 컴퓨터공학부
2. 4. 2 다중 패스 어셈블러 q 5번 문장의 패스 1에서의 주소 배정이 2034(16진수) 2034 BUFEND * BUFEND 2034 0 HALFSZ 800 0 PREVBT 시스템 프로그래밍 EQU 1033 0 MAXLEN 1000 0 BUFFER 1034 0 컴퓨터공학부
- Slides: 30