作者SePrPe ( )
看板FCUProblems
标题[考古] 系统程式/黄溪春/972期中考
时间Thu Apr 16 01:58:49 2009
[开课学院]: 资电学院
(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