Peperiksaan
SemesterKeduaSidang
Akademik 1997/98Februari 1998
lOK 221 & lOK 312 -
Teknologi
Mikro-Proses Masa:(3 jam]
Sila
pastikan
bahawa kertas soalan inimengandungi
SEMBILAN(9)
mukasurat yangbercetaksebelum anda memulakan
peperiksaan
ini.Jawab LIMA
(5)
soalan. Semua soalan mestidijawab
di dalamBahasaMalaysia.
Semua soalan mesti
dirujuk kepada
MC68HCll Microcontroller.All
questions refer
toMC68HCll Microcontro//er unless mentioned otherwise.[IQK
221 &IQK 312]
1.
(a)
Jelaskan secaramendalam,
semualangkah-langkah
dalamperlaksanaan
aturcara yang
disimpan
di dalamingatan
sesuatumikropemproses.
Dalamjawapan
andaterangkan
dua fasa utama dalamperlaksanaan
araban danperanan daftar-daftar CPU utama. Anda dinasihatkan
menggunakan
satuaturcaracontoh
bagi penjelasan
anda.(a) Explain clearly,
various stagesoj executing
a program stored in the memoryoj
amicroprocessor.
In your answerhighlight
the two mainphases oj
the instruction and the roleoj major
CPUregisters.
You mayuse a
sample
program tofacilitate
yourexplanation.
(75 markah)
(b)
Suatumikropemproses mempunyai
kebolehan untukmengalamat
16 Mruang
ingatan
danpanjang perkataannya
ialah 16 bit.Apakah panjang
daftar-daftar CPU yangberikut:
Pembilang
aturcara(PC),
daftarindeksX,
daftar indeks
Y, penunjuk himpun (stack pointer) (SP),
danpengumpul (accumulator).
...3/-
(b)
A certainmicroprocessor
iscapable of addressing
16M memory addresses and has a wordlength of
16 bits. What is thelength of
thefollowing
CPUregisters of
thismicroprocessor:
Program
Counter, IndexRegister
X. IndexRegister
y, Stack Pointer,Memory
AddressRegister
andAccumulator.(25 markah)
2.
(a)
Jelaskan mod alamat yangberikutdengan ringkas. Daripada
bukurujukan 6811, pilih
satu contoh arahanbagi setiap
mod alamat ini danjelaskan fungsi
arahan itu.(i) pengalamatan
indeks(ii) pengalamatan
relatif(a) Briefly explain
thefollowing addressing
modes. From thereference
manual
provided,
selectasample
instructionfor
eachof
theseaddressing
modesand
explain
itsfunction.
(i)
Indexedaddressing (ii)
Relativeaddressing (40 markah)
...4/-
[IQK
221 &IQK 312]
(b)
Tulis aturcaraperhimpunan
untukmengira jumlah
10nomborinteger
binaritak bertanda yang
disimpan
dalamjadual.
(Nota:
Silagunakan
daftar D untukmenyimpan jumlah)
(h)
Write anassembly
level program tocalculate the averageof
atableof
10unsigned binary integer
numbers.(60 markah)
3.
(a) Terangkan
kelebihanmenggunakan
JSRdibandingkan dengan
IMP untukmencabang
ke subrutin.(a) Explain clearly
theadvantage of using
JSR overusing
JMP to branch fo subroutines.(40 markah)
(b)
Tukarkan aturcara bahasatinggi
yangberikut,
ke dalam arahan-arahan bahasaperhimpunan
68HClI.(b)
Convert thefollowing high-level programming language
segmentinto 68HCllassembly language
instructions:...5/-
A= 10
While
(A>3) {
Instructionl;
Instruction
2;
Instructionn;
A=A-l;}
(30 markah)
(c) Berapa
kalikahloop
di bawah akandiulang?
(c)
How manytimesdoes thefollowing loop
getrepeated?
LOOP
LDAA#200 Instruction k Instructionk+ l
DECA BLTLOOP
(30 markah)
...6/-
[IQK
221 &IQK 312]
4.
(a)
Tulisarahan-arahan yangpaling
minimumuntukmencapai tujuan
yang berikut:(a)
Writeminimum numberof
instructionstoaccomplish
thefollowing:
(i)
memuatkan(FFH)
ke dalamruangingatan
1234Hdan 1235H(i)
Store al/ones(FFH)
inmemorylocations 1234H and1235H.(ii)
Z-bitperlu dijadikan
1 atau Omengikut
nilai bit yangpaling
tidakbererti
(Least Significant
Bit -LSB)
di dalam daftarA,
tanpamengubahkan kandungan
daftar A.(ii)
Set or clear the Z bit tocorrectly reflect
the valueof
the LSB inregister
A, but donotchange
the contentsof
A.(iii)
Set bit N dan bit Zbagi menggambarkan dengan
betulkandugnan
ruang
ingatan
yangalamatnya (300)10
lebihtinggi daripada
nilaikandungan
daftarA(iv)
Set the NandZbits tocorrectly reflect
the contentsof
thememory location whose addressis(300)10 higher
than the value inregister
A.
(SO markah)
...71-
(b)
Tentukankandungan
PC dan SPselepas perlaksanaan
arahan-arahan yang berikut. Gunakankeadaan-keadaanawalyang diberibagi setiap
arahan.(hj
Determine the contentsof
the PC and SPafter
the executionof
thefollowing
instructions. Use thefollowing
initial conditionsfor
eachof
theproblems.
Besure tobegin
with thesame initial conditionfor
eachpart.A=$89 B=$67 PC=EOOO
SP =$FF83 X= $35A2
Memory
locations:($FF84)
=$67($FF85)
=$50(i)
PSHA(ii)
PSHX(iv)
BSR $23(v)
LDS #$FE32(iii)
RTS(50 markah)
...81-
[IQK
221 &IQK 312]
5.
(a) Terangkan
danbandingkan
yangberikut:Describeandcompare the
following:
(i) pemindahan
110 dikawalaturcaraprogram controlled Ila
transfer (ii) pemindahan
110 dikawalsampuk interrupt
controlled Ilatransfer
(60 markah)
(b) Apakah
vektorsampuk?
Jelaskan duasampuk
yang terkenal dalam68HCll dan
kenalpasti
vektor-vektorsampuknya.
(hj
What is aninterrupt
vector? Describe two most commoninterrupts
in68HCll and
identify
thefollowing interrupt
vectors.(40 markah)
6.(a) Apakah
daftar-daftar yang berkaitandengan pemindahan
I/O selari.Jelaskan
fungsi setiap
bit di dalam daftar-daftar yangpaling
berertikepada pemindahan
I10 ini.(a)
Whatare theregisters
associatedwithParaJ/el Ilatransfer?
Describe thejunction of
each bit in the two mostsignificant registers
associated withparaJ/el
Ila.(40 markah)
9/-
(b) Tunjukkan prosedur
nilai awal 68HCUbagi pemindahan
110 yang berikut:PORTB ialah 'Strobed
output' (penulisan
kePORT Bmenjanakan denyut negatif
di atasSTRB);
PORT C ialah 'strobedinput' (Daftar
C dibacapada tepi
menaik di atasSTRA);
semua output ialah"open-drain"
dan tiadasampuk.
(h)
Showinitializationprocedure
toconfigure
68HCllfor
thefollowing
modeof
110transfer:
PORTB is strobed output
(Writing
puts -vepulse
onSTRB);
PORTe is strobedinput (strobed register
Cloadedonrising edge of STRA)
andhasopendrainoutputsandno
interrupts.
(20 markah)
(c) Interpret
thefollowing
program:L
LDX LDAA STAA LDAA STAA TST BPL NOP
#$1000
#$80
$39,
X#$20
$30,
X$30,
XL
(40 markah)
0000000