180 likes | 551 Views
System Programming Mid-Term 2. Date: December 30th, 2005 Time: 09:10-12:00 2006/1/6. Q1 (10%). Translate (by hand) the following assembly program to SIC/XE object code. Q1 (10%). Translate (by hand) the following assembly program to SIC/XE object code. Q1 (10%). HSUM2 000000002F03
E N D
System Programming Mid-Term 2 Date: December 30th, 2005 Time: 09:10-12:00 2006/1/6
Q1(10%) • Translate (by hand) the following assembly program to SIC/XE object code.
Q1(10%) • Translate (by hand) the following assembly program to SIC/XE object code.
Q1(10%) HSUM2 000000002F03 T00000010050000010000691017901BA0131BC000 T0000100D2F200A3B2FF40F102F004F0000 E000000 ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
Q2(10%) • Disassemble (convert object code back into assembly language) the following SIC/XE program. HSUM 00100000000E T0010000E01000005000190102D000B3B2FF8 E001000
Q3(20%) • Disassemble the following SIC program. (You may choose meaningful labels for those addresses as you wish.) HEXAM2 00000000005AT0000002000004B04004848001E2000540C005848001E1800585480002C004B3C0006E000T000020205730001ED8005728004230008028004538001E1C004528005138003F1C004E4CT00004020000000000400003000008000000000000700000A000010F1000000E000000
Q4(20%) • Explain the function of the above program. • Bootstrap loader (p.128) • If we modify the first three bytes from 00004B to 000000, will it make any difference? Why? • No, because of both contents loaded are zero. • If we modify Bytes[18:1A] from 2C004B to 2C0000, will it make any difference? Why? • No, because of following instruction is “J”. • What is the ID of the device accessed by this program? • F1
Q5(20%) • Consider the three control sections in Figure 3.8. Suppose they are linked in the sequence of PROGC+PROGB+PROGA, and the beginning load address is 001000. Print the load map (generated after Pass 1) that shows the external symbols and their addresses.
Q6(20%) • REF5 in PROGA • ENDC-LISTC-10 • 001042-001030+FFFFF6=000008 • REF5 in PROGC • 000008 • REF8 in PROGA • LISTB-LISTA-PROGA • 0010B1+FFFFC0-0010D0=FFFFA1 • REF8 in PROGB • LISTB+PROGB-LISTA • 000060+001051-001110=FFFFA1 • REF8 in PROGC • LISTB-LISTA • 0010B1-001110=FFFFA1