[考古] 系統程式/黃溪春/972期中考

看板FCUProblems作者 ( )時間16年前 (2009/04/16 01:58), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
[開課學院]: 資電學院(ex:金融學院,商學院,理工學院,資電學院,建設學院,文學院...) [開課系所]: 資訊系(ex:中文系,外文系,電機系,財稅系..) [課程名稱]: 系統程式 [老師名稱]: 黃溪春 老師 [開課學期]: 972 [類型]: 97-2期中考ex:(第n次)小考/98-2期中考/98-2期末考 ◎請針對SIC/XE電腦系統回答問題◎ 一、依下列各記憶體位址(address)與內容(value),暫存器內容以及機器指令LDA等資訊,   完成空格(1)~(8)的值。需列出計算過程。(16%) address value --------------- 001800 003090 (PC)=003000 002090 001000 (B)=001200 002600 003600 (X)=000090 003090 000500 003600 003090 003690 002600 004600 000090 Machine instruction --------------------------------------------------------------- Hex Binary Target Value loaded ------ ------------------------------ op nixbpe disp address into register A --------------------------------------------------------------- 03A600 000000 111010 0110 0000 0000 (1) (2) 024600 000000 100100 0110 0000 0000 (3) (4) 014600 000000 010100 0110 0000 0000 (5) (6) 003600 000000 000011 0110 0000 0000 (7) (8) (1) (PC)+disp+(X)→3000+600+90→3690 (2) simple addressing:(TA)=(3690)→002600 (3) (B)+disp→1200+600→1800 (4) indirect addressing:((TA))=((1800))→(3090)→000500 (5) (B)+disp→1200+600→1800 (6) immediate addressing:001800 (7) address→b/p/e/disp→3600 (8) simple addressing:(TA)=(3600)→003090 二、組譯(assemble)下列程式碼,完成空格(1)~(12)的內容,需有計算式。(36%) Loc Source statement Object code ------------------------------------------- 0000 PROGA START 0 ┌────────┬───────┐ (8) FIRST LDX #16 (1) │ Mnemonic │ Opcode │ (9) LDA #DAT2 (2) │ name │ (Hexadecimal)│ 0006 LOOP ADD TAB,X (3) ├────────┼───────┤ (10) STA =C'COM' (4) │ ADD │ 18 │ ... ├────────┼───────┤ 0060 JEQ LOOP (5) │ J │ 3C │ (11) CPT EQU * ├────────┼───────┤ ... │ JEQ │ 30 │ 00C0 J @DAT2 (6) ├────────┼───────┤ ... │ LDA │ 00 │ 0100 TAB RESW 10 ├────────┼───────┤ (12) DAT1 WORD 32 (7) │ LDX │ 04 │ ... ├────────┼───────┤ 0200 DAT2 RESW 1 │ STA │ 0C │ END FIRST └────────┴───────┘ (1) (16)10=(010)16 op nixbpe disp(12) 0000 01 010000 0000 0001 0000 →050010 (2) disp=(TA)-(PC) =200-006 =1FA op nixbpe disp(12) 0000 00 010010 0001 1111 1010 →0121FA (3) disp=(TA)-(PC) =100-009 =0F7 op nixbpe disp(12) 0001 10 111010 0F7 →1BA0F7 (4) disp=203-00C =1F7 op nixbpe disp 0000 11 110010 1F7 →0F21F7 (5) disp=006-063 =-5D=FA3 op nixbpe disp 0011 00 110010 FA3 →332FA3 (6) disp=200-0C3 =13D op nixbpe disp 0011 11 100010 13D →3E213D (7) (32)10=(20)16 →000020 (8) 0000 (9) 0003 (10) 0009 (11) 0063 (12) 3*10=(30)10=(1E)16 0100+1E→011E 三、若問題二採用「Load-and-go Assembler處理,   (1)當組譯完指令JEQ LOOP時,Symbol table的內容為何?(6%) (2)此類型Assembler的使用時機為何?(6%) (1) Symbol Value ┌───┬─┬─┐ ┌──┬─┐ │ TAB │* │→│ │0007│0 │ ├───┼─┴─┤ └──┴─┘ │FIRST │0000 │ ├───┼─┬─┤ ┌──┬─┐ │DAT2 │* │→│ │0004│0 │ ├───┼─┴─┤ └──┴─┘ │LOOP │0006 │ ├───┼───┤ │PROGA │0000 │ └───┴───┘ (2)參考教科書 2.4.1 四、說明「Two-pass Assembler」的各個Pass分別做了那些事?(10%) 參考教科書 2.1.1 五、說明「Literal」與「Immediate operand」之差異?(12%) 參考教科書 2.3.1 六、「Relocatable Program」有何優點?Assembler如何達成此特性?(14%) 參考教科書2.2.2 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.145.30
文章代碼(AID): #19vY1QLN (FCUProblems)