ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ اﻣﺘﺤﺎن ﭘﺎﻳﺎنﺗﺮم ﺳﺎﺧﺘﺎر و زﺑﺎن ﻛﺎﻣﭙﻴﻮﺗﺮ 1382/10/17 9/00 -12/00 )ﻧﻴﻤﺴﺎل اول (82-83 داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﻴﺮﻋﻤﺎدي ﺷﻤﺎره درس40-126 : ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﻲ داﻧﺸﺠﻮ: ﻧﻤﺮه: ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ: ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ ﺳﺆاﻻت: .1 ﻓﺮق وﻗﻔﻪ ) (Interruptو TRAPرا در رﻳﺰﭘﺮدازﻧﺪهي 68000ﺗﻮﺿﻴﺢ دﻫﻴﺪ. ) 1ﻧﻤﺮه( .2ﺧﻄﺎ)ﻫﺎ(ي ﻧﻮﺷﺘﺎري ) (Syntaxﺑﺮﻧﺎﻣﻪي زﻳﺮ را ﭘﻴﺪا ﻛﺮده و ﺻﺤﻴﺢ آن)ﻫﺎ( را در ﻣﻘﺎﺑﻞ دﺳﺘﻮر)ات( ﻏﻠﻂ در ﺟﺪول ﺑﻨﻮﻳﺴﻴﺪ 1) .ﻧﻤﺮه( ﺑﺮﻧﺎﻣﻪ ﻏﻠﻂ ﺑﺮﻧﺎﻣﻪ ﺻﺤﻴﺢ #$87654321,D0 MOVE.L #$(12345678),A0 MOVEA.L #D0,A1 CMPI.B )D0,-(A0 MOVE.W .3ﺳﻄﻮح اﻟﻮﻳﺖ وﻗﻔﻪ در رﻳﺰﭘﺮدازﻧﺪهي 68000از ﺳﻄﺢ ) 0ﭘﺎﻳﻴﻦﺗﺮﻳﻦ( ﺗﺎ ﺳﻄﺢ ) 7ﺑﺎﻻﺗﺮﻳﻦ( اﺳﺖ .ﭼﻨﺎﻧﭽﻪ ﻣﻘﺪار رﺟﻴﺴﺘﺮ وﺿﻌﻴﺖ در ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺒﺘﻨﻲ ﺑﺮ 68000ﺑﺮاﺑﺮ 0xA500ﺑﺎﺷﺪ ،ﭘﺎﻳﻴﻦﺗﺮﻳﻦ ﺳﻄﺢ اﻟﻮﻳﺖ وﻗﻔﻪ ﻛﺪام اﺳﺖ؟ ﭘﺎﺳﺦ - 0 1 2 3 4 C V Z N X 5 6 7 8 9 10 I0 I1 I2 11 12 ) 1ﻧﻤﺮه( 13 S 14 15 T 1382/10/17 اﻣﺘﺤﺎن ﭘﺎﻳﺎنﺗﺮم ﺳﺎﺧﺘﺎر و زﺑﺎن ﻛﺎﻣﭙﻴﻮﺗﺮ ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﻲ داﻧﺸﺠﻮ: ﺻﻔﺤﻪ 2از 10 ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ: .4ﺷﻜﻞ زﻳﺮ ﻣﺮاﺣﻞ ﮔﺎم ﺑﻪ ﮔﺎمِ ﺗﻮﻟﻴﺪ و اﺟﺮاي ﻳﻚ ﺑﺮﻧﺎﻣﻪ را ﻧﺸﺎن ﻣﻲدﻫﺪ .ﭼﻪ ﻋﻨﺎﺻﺮي ﺑﺎﻳﺪ در ﺧﺎﻧﻪﻫﺎي ﺧﺎﻟﻲ ﻗﺮار داﺳﺘﻪ ﺑﺎﺷﻨﺪ؟ اﻳﻦ ﻋﻨﺎﺻﺮ را در ﺧﺎﻧﻪﻫﺎي ﺧﺎﻟﻲ ﺑﻨﻮﻳﺴﻴﺪ. ) 1ﻧﻤﺮه( Assembler Linker Loader .5ﺗﻜﺮار ﻳﻚ ﻗﻄﻌﻪ ﻛﺪ در ﻳﻚ ﺑﺮﻧﺎﻣﻪ را ﻣﻲﺗﻮان ﺑﻪ ﺳﻪ ﻃﺮﻳﻖ اﻧﺠﺎم داد .اﻳﻦ ﻃﺮق را ﻧﺎم ﺑﺮده ،ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ آن را در ﺟﺪول زﻳﺮ ﺑﻨﻮﻳﺴﻴﺪ. ﻃﺮق ﺗﻜﺮار ﻳﻚ ﻗﻄﻌﻪ ﻛﺪ در ﻳﻚ ﺑﺮﻧﺎﻣﻪ .1 .2 .3 ) 1ﻧﻤﺮه( ﻣﺰاﻳﺎ ﻣﻌﺎﻳﺐ 1382/10/17 اﻣﺘﺤﺎن ﭘﺎﻳﺎنﺗﺮم ﺳﺎﺧﺘﺎر و زﺑﺎن ﻛﺎﻣﭙﻴﻮﺗﺮ ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﻲ داﻧﺸﺠﻮ: .6 ﺻﻔﺤﻪ 3از 10 ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ: ﻳﻚ آﻛﻮﻣﻮﻻﺗﻮر 8ﺑﻴﺘﻲ ) (A: Accumulatorو ﻳﻚ ﺣﺎﻓﻈﻪ ﺑﺎ ﻣﻘﺎدﻳﺮ زﻳﺮ ﻣﻔﺮوضاﻧﺪ .ﻣﻘﺎدﻳﺮ ﺑﻪ ﺻﻮرت Big-endianدر ﺣﺎﻓﻈﻪ ذﺧﻴﺮه ﻫﺴﺘﻨﺪ )ﻫﻤﻪ ﻣﻘﺎدﻳﺮ در ﻣﺒﻨﺎي 16ﻣﻲﺑﺎﺷﻨﺪ(: Memory ↓ : 90 01 02 03 : FE F0 02 03 : B0 E0 03 04 Address ↓ 6000 6001 6002 6003 9000 9001 9002 9003 F000 F001 F002 F003 ﭘﺲ از اﺟﺮاي ﻫﺮ ﻳﻚ از دﺳﺘﻮرات زﻳﺮ ﭼﻪ ﻣﻘﺪار درون آﻛﻮﻣﻮﻻﺗﻮر Aﺑﺎر ﻣﻲﺷﻮد؟ ﻣﻘﺪار ﻣﺮﺑﻮﻃﻪ را در ﻣﺒﻨﺎي 16در ﺟﺪول زﻳﺮ ﺑﻨﻮﻳﺴﻴﺪ. ) 1ﻧﻤﺮه( ﭘﺎﺳﺦ- A: Accumulator Instruction Load A immediate, PC=$6000 1- Load A direct, PC=$6000 2- Load A indirect, PC=$6000 3- .7ﺣﺎﻓﻈﻪ ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ 32k × 8 bitsاﺳﺖ .ﭼﻨﺪ ﺑﻴﺖ آدرس ﺑﺮاي آدرس ﻧﺸﺎﻧﻲ ﻫﺮ ﺑﺎﻳﺖ ﻻزم اﺳﺖ؟ ﭘﺎﺳﺦ- ) 1ﻧﻤﺮه( 1382/10/17 اﻣﺘﺤﺎن ﭘﺎﻳﺎنﺗﺮم ﺳﺎﺧﺘﺎر و زﺑﺎن ﻛﺎﻣﭙﻴﻮﺗﺮ ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﻲ داﻧﺸﺠﻮ: ﺻﻔﺤﻪ 4از 10 ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ: .8ﺑﺮﻧﺎﻣﻪي اﺳﻤﺒﻠﻲ زﻳﺮ ﻣﻔﺮوض اﺳﺖ .ﻣﺤﺘﻮاي ﻓﻀﺎي ﭘﺸﺘﻪ ﭘﺲ از اﺟﺮاي اﻳﻦ ﺑﺮﻧﺎﻣﻪ ﭼﻴﺴﺖ؟ ﻣﻘﺎدﻳﺮ را در ﻣﺒﻨﺎي 16در ﺧﺎﻧﻪﻫﺎي ﻣﺮﺑﻮﻃﻪي ﺟﺪول زﻳﺮ ﺑﻨﻮﻳﺴﻴﺪ. ) 1ﻧﻤﺮه( ﻓﻀﺎي ﭘﺸﺘﻪ آدرس ﻛﺪ اﺳﻤﺒﻠﻲ $1000 ORG $1000 EQU STACK , SP LEA 00001000 NOP 00001004 JSR 00001006 NOP 0000100A TRAP 0000100C : 00000FFC آدرس ROUTIN1 00000FFD #0 STACK: 00000FFE 00000FFF NOP ROUTINE2 00001000 00001001 ROUTIN1: 0000100E JSR 00001010 NOP 00001014 RTS 00001016 00001002 NOP 00001003 00001004 ROUTIN2: 00001018 NOP 0000101A RTS 0000101C : END .9ﺑﺎ اﺳﺘﻔﺎده از ﻟﻴﺴﺖ ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮراﻟﻌﻤﻞ ) 68000ﻟﻴﺴﺖ ﭘﻴﻮﺳﺖ( ،ﻛﺪ ﻣﺎﺷﻴﻦ/ﻛﺪ اﺳﻤﺒﻠﻲ زﻳﺮ را ﺑﻪ ﻛﺪ اﺳﻤﺒﻠﻲ/ﻛﺪ ﻣﺎﺷﻴﻦ ﺗﺒﺪﻳﻞ ﻧﻤﻮده و در ﺳﺘﻮن ﻣﺮﺑﻮﻃﻪ در ﺟﺪول ﺑﻨﻮﻳﺴﻴﺪ. ﻛﺪ اﺳﻤﺒﻠﻲ #$32 , D1 MOVE.B ﻛﺪ ﻣﺎﺷﻴﻦ ) 2ﻧﻤﺮه( ﻛﺪ اﺳﻤﺒﻠﻲ ﻛﺪ ﻣﺎﺷﻴﻦ 3A381200 1382/10/17 اﻣﺘﺤﺎن ﭘﺎﻳﺎنﺗﺮم ﺳﺎﺧﺘﺎر و زﺑﺎن ﻛﺎﻣﭙﻴﻮﺗﺮ ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﻲ داﻧﺸﺠﻮ: ﺻﻔﺤﻪ 5از 10 ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ: .10رﺟﻴﺴﺘﺮﻫﺎ و ﺧﺎﻧﻪﻫﺎﻳﻲ از ﺣﺎﻓﻈﻪ ﻳﻚ رﻳﺰﭘﺪازﻧﺪهي 68000داراي ﻣﻘﺎدﻳﺮي ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲﺑﺎﺷﻨﺪ. ﻣﺤﺘﻮاي رﺟﻴﺴﺘﺮﻫﺎ PC = 00001000 A4 = 0000054D A0 = 00FF0001 D4 = 00000000 D0 = 00ABCDEF SP = 0000077A A5 = 00000540 A1 = 008003D4 D5 = 00000000 D1 = 00004C4F CCR (SR) = 2708 A6 = 00000540 A2 = 00002002 D6 = 00001521 D2 = AFBF4C4F A7 = 0000077A A3 = 00000540 D7 = 00000000 D3 = 00000000 آدرس ﺣﺎﻓﻈﻪ ﻣﺤﺘﻮاي ﺣﺎﻓﻈﻪ 00 00 00 00 00 3F 68 6F 00 00 03 00 02 00 00 03 00 02 00 01 00 00 00 00 00 00 00 01 00 : #$4000 , A5 (A2)+ , D0 )D6 , 0(A5,D0.W MOVE.L MOVE.W MOVE.B 3F 00002000 : 6F 00004000 68 2AC000040000 301A 1B860000 00001000 00001006 00001008 ﭘﺲ از اﺟﺮاي ﺳﻪ دﺳﺘﻮر ﻓﻮق ،رﺟﻴﺴﺘﺮﻫﺎ و ﺣﺎﻓﻈﻪ ﭼﻪ ﻣﻘﺎدﻳﺮي ﺧﻮاﻫﻨﺪ داﺷﺖ؟ ﭘﺎﺳﺦ را در ﻣﺒﻨﺎي 16در ﺟﺪاول زﻳﺮ ﺑﻨﻮﻳﺴﻴﺪ .ﻓﻘﻂ ﺧﺎﻧﻪﻫﺎﻳﻲ ﻛﻪ ﻣﻘﺎدﻳﺮﺷﺎن ﺗﻐﻴﻴﺮ ﻣﻲﻛﻨﺪ در ﺟﺪاول زﻳﺮ ﺑﻨﻮﻳﺴﻴﺪ ) 2ﻧﻤﺮه( ﭘﺎﺳﺦ- = PC = D2 = A2 = )CCR (SR = D6 = A5 آدرس ﺣﺎﻓﻈﻪ ﻣﺤﺘﻮي ﺣﺎﻓﻈﻪ 00002000 : : 00004000 1382/10/17 اﻣﺘﺤﺎن ﭘﺎﻳﺎنﺗﺮم ﺳﺎﺧﺘﺎر و زﺑﺎن ﻛﺎﻣﭙﻴﻮﺗﺮ ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﻲ داﻧﺸﺠﻮ: ﺻﻔﺤﻪ 6از 10 ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ: .11ده ﺧﺎﻧﻪ از ﺣﺎﻓﻈﻪ ﻳﻚ رﻳﺰﭘﺪازﻧﺪهي 68000داراي ﻣﻘﺎدﻳﺮي ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲﺑﺎﺷﻨﺪ: Memory $00 $11 $22 $33 $44 $55 $66 $77 $88 $99 Address $6000 $6001 $6002 $6003 $6004 $6005 $6006 $6007 $6008 $6009 ﭘﺲ از اﺟﺮاي ﻫﺮ ﻳﻚ از دﺳﺘﻮرات زﻳﺮ ،ﺣﺎﻓﻈﻪ ﭼﻪ ﻣﻘﺎدﻳﺮي ﺧﻮاﻫﺪ داﺷﺖ؟ اﻟﻒ( #$DDAA,$6004 MOVE.W ب( #$1234,6006 ADDI.W ج( $6008 LSL د( $6004 ASR. ﭘﺎﺳﺦ را در ﺟﺪول زﻳﺮ ﺑﻨﻮﻳﺴﻴﺪ .ﻓﻘﻂ ﻣﻘﺎدﻳﺮي ﻛﻪ در ﺣﺎﻓﻈﻪ ﺗﻐﻴﻴﺮ ﻣﻲﻛﻨﻨﺪ ،در ﺟﺪول ﺑﻨﻮﻳﺴﻴﺪ .ﺣﺎﻓﻈﻪ ﭘﺲ از اﺟﺮاي ﻫﺮ دﺳﺘﻮر ﺑﻪ ﺣﺎﻟﺖ اوﻟﻴﻪ آن ﺑﺮﮔﺮداﻧﺪه ﻣﻲﺷﻮد. د ج ) 2ﻧﻤﺮه( ب اﻟﻒ Memory Address $00 $6000 $11 $6001 $22 $6002 $33 $6003 $44 $6004 $55 $6005 $66 $6006 $77 $6007 $88 $6008 $99 $6009 1382/10/17 اﻣﺘﺤﺎن ﭘﺎﻳﺎنﺗﺮم ﺳﺎﺧﺘﺎر و زﺑﺎن ﻛﺎﻣﭙﻴﻮﺗﺮ ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﻲ داﻧﺸﺠﻮ: ﺻﻔﺤﻪ 7از 10 ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ: .12ﻳﻚ ﺑﺮﻧﺎﻣﻪ اﺳﻤﺒﻠﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺣﺮوف ﻋﺪدي )" ("9" ،"8" ،"7" ،"6" ،"5" ،"4" ،"3" ،"2" ،"1" ،"0ﻣﺨﺘﻮم ﺑﻪ ﺻﻔﺮ ) ($00را ﺑﻪ ﻋﺪد واﻗﻌﻲ آن ﺗﺒﺪﻳﻞ ﻧﻤﺎﻳﺪ. ) 3ﻧﻤﺮه( راﻫﻨﻤﺎﻳﻲ :ذﺧﻴﺮهي ﻣﺠﻤﻮﻋﻪ ﺣﺮوف ﻋﺪدي " "123ﺑﻪ ﺳﻪ ﺧﺎﻧﻪ )ﺑﺎﻳﺖ( از ﺣﺎﻓﻈﻪ ﻧﻴﺎز دارد ،ﻟﻴﻜﻦ ﻋﺪد 123ﻳﻌﻨﻲ $7Bﺗﻨﻬﺎ ﺑﻪ ﻳﻚ ﺧﺎﻧﻪ )ﺑﺎﻳﺖ( از ﺣﺎﻓﻈﻪ ﻧﻴﺎز دارد. ﭘﺎﺳﺦ- .13ﻣﻘﺎدﻳﺮ ﺻﺤﻴﺢ Aو Bو ﻓﻠﻮﭼﺎرت زﻳﺮ ﻣﻔﺮوﺿﻨﺪ: START )(C 1 (B) - 1 )(B (B) < 0 EXIT )(A) * (C )(C اﻟﻒ :اﻳﻦ ﻓﻠﻮﭼﺎرت ﭼﻪ ﻛﺎري اﻧﺠﺎم ﻣﻲدﻫﺪ؟. ج: ﭘﺎﺳﺦ اﻟﻒ- ﭘﺎﺳﺦ ب- ﻳﻚ ﺑﺮﻧﺎﻣﻪي اﺳﻤﺒﻠﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻛﺎرِ ﻓﻠﻮﭼﺎرت ﻣﺰﺑﻮر را اﻧﺠﺎم دﻫﺪ. ) 0,5ﻧﻤﺮه( ) 2,5ﻧﻤﺮه(
© Copyright 2024 Paperzz