Machine
Machine
Assembler Features
Assembler: Machine Dependent
Features
• SIC/XE and assembler translation
• Program Relocation
• Modification Records in an Object File
SIC/XE Assembler
• We have learned the 2-pass assembler for SIC
• What’s new for SIC/XE?
• More addressing modes
• Program relocation
Instruction Format and
Addressing Mode
• SIC/XE:
• PC-relative or base-relative addressing: op m
• Indirect addressing: op @m
• Immediate addressing: op #c
• Extended format: +op m
• Index addressing: op m,x
• Register-to-register instructions
• Larger memory multi-programming (program
allocation)
Translation
• Register translation
• Register name (A, X, L, B, S, T, F, PC, SW) translated to
their ids (0,1, 2, 3, 4, 5, 6, 8, 9)
• May be preloaded in SYMTAB
• Address translation
• Register-memory instructions: try PC-relative first, then
base-relative addressing
• Assembler makes its own decision
• User must specify extended format (format 4)
• Format 3: 12-bit displacement
• Base-relative: 0~4095 PC-relative: -2048~2047
• Format 4: 20-bit address field
An SIC/XE Example (Figure 2.6)
Line Loc Source statement Object code
5 0000 COPY START 0
10 0000 FIRST STL RETADR 17202D
12 0003 LDB #LENGTH 69202D
13 BASE LENGTH
15 0006 CLOOP +JSUB RDREC 4B101036
20 000A LDA LENGTH 032026
25 000D COMP #0 290000
30 0010 JEQ ENDFIL 332007
35 0013 +JSUB WRREC 4B10105D
40 0017 J CLOOP 3F2FEC
45 001A ENDFIL LDA EOF 032010
50 001D STA BUFFER 0F2016
55 0020 LDA #3 010003
60 0023 STA LENGTH 0F200D
65 0026 +JSUB WRREC 4B10105D
70 002A J @RETADR 3E2003
80 002D EOF BYTE C’EOF’ 454F46
95 0030 RETADR RESW 1
100 0033 LENGTH RESW 1
105 0036 BUFFER RESB 4096
115 . READ RECORD INTO BUFFER
120 .
125 1036 RDREC CLEAR X B410
130 1038 CLEAR A B400
132 103A CLEAR S B440
133 103C +LDT #4096 75101000
135 1040 RLOOP TD INPUT E32019
140 1043 JEQ RLOOP 332FFA
145 1046 RD INPUT DB2013
150 1049 COMPR A,S A004
155 104B JEQ EXIT 332008
160 104E STCH BUFFER,X 57C003
165 1051 TIXR T B850
170 1053 JLT RLOOP 3B2FEA
175 1056 EXIT STX LENGTH 134000
180 1059 RSUB 4F0000
185 105C INPUT BYTE X’F1’ F1
195 .
200 . WRITE RECORD FROM BUFFER
205 .
210 105D WRREC CLEAR X B410
212 105F LDT LENGTH 774000
215 1062 WLOOP TD OUTPUT E32011
220 1065 JEQ WLOOP 332FFA
225 1068 LDCH BUFFER,X 53C003
230 106B WD OUTPUT DF2008
235 106E TIXR T B850
240 1070 JLT WLOOP 3B2FEF
245 1073 RSUB 4F0000
250 1076 OUTPUT BYTE X’05’ 05
255 END FIRST
PC-Relative Addressing Mode
Base-Relative Addressing Mode
Immediate Address Translation
Immediate Address Translation
Indirect Address Translation
Program Relocation
Program Relocation