ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ
اﻣﺘﺤﺎن ﭘﺎﻳﺎنﺗﺮم ﺳﺎﺧﺘﺎر و زﺑﺎن ﻛﺎﻣﭙﻴﻮﺗﺮ
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 2026 Paperzz