NIM :
NO. ABSEN :
MK : MIKROPROSESOR A2
LATIHAN 14.1
Jika anda diberikan beberapa komponen berikut ini untuk dirangkai menjadi system
mikroprosesor.
Sebuah mikroprosesor dengan word size 32 bit yang mempunyai memory space sebesar 1
Mega word.
Sebuah RAM (Sebut saja RAM 1) 128 kByte dengan satu saluran chip select active low
dan dua saluran chip select active high.
Sebuah RAM (Sebut saja RAM 2) 32 kByte dengan saluran CS1 dan CS2 active low.
Sebuah EEPROM 2 kByte dengan saluran CS active high
Sebuah ROM 64 kByte dengan saluran CS active high
Sebuah PIA 1 kByte dengan saluran CS0 active high, CS1 dan CS2 active low
Kosong
RAM 2 10000 H
11FFF H
Kosong
EEPROM 20000 H
201FF H
Kosong
ROM 30000 H
33FFF H
Kosong
PIA 40000 H
400FF H
Kosong 401FF H
FFFFF H
RAM 1 00000 H
07FFF H
RAM 2 08000 H
09FFF H
EEPROM 0A000 H
0A1FF H
ROM 0A200 H
0F0FF H
PIA 0F100 H
0F1FF H
Kosong 0F200 H
FFFFF H
Jawab ; Sistem Mikroprosesor adalah gabungan dari beberapa komponen dalam hal ini Memory
Unit, Input, Output Unit, dan CPU yang bekerja sebagai pengolah data elektronik digital. Sebuah
mikroprosesor agar dapat berfungsi memerlukan sebuah sistem yang disebut sistem
mikroprosesor.
jawab;
LATIHAN 14.3
Jika anda diberikan beberapa komponen berikut ini untuk di rangkai menjadi sistem
mikroprosesor
Sebuah mikroprosesor dengan word size 16 bit yang mempunyai memory space sebesar
128 kilo word
Sebuah RAM 16 kbyte dengan satu saluran chip select avtive low and dua saluran chip
select active low
Sebuah RAM 4 kbyte dengan saluran CS1 dn CS2 active low
Sebuah EEPROM 1 kbyte dengan saluran CS active
Sebuah PROM 2 kbyte dengan Saliuran CS active
Sebuah PIA 512 byte dengan saluran CS0 active high ,CS1 dan CS2 active low
RAM 1 00000 H
01FFF H
Kosong
RAM 2 10000 H
107FF H
Kosong
EPROM 20000 H
201FF H
Kosong
PROM 30000 H
303FF H
Kosong
PIA 40000 H
400FF H
Kosong 400FF H
FFFFF H
RAM 1 00000 H
01FFF H
Kosong
RAM 2 02000 H
027FF H
Kosong
EPROM 02800 H
029FF H
Kosong
PROM 02A00 H
02DFF H
Kosong
PIA 02E00 H
02EFF H
Kosong 02000 H
FFFFF H
b. Desainlah rangkaian address decoder-nya
LATIHAN 14.4
Jika anda diberikan beberapa komponen berikut ini untuk di rangkai menjadi sistem
mikroprosesor
Sebuahmikroprosesor32bitdenganmemoryspacesebesar1Megaword.
Dua RAM dengan kapasitas 128 kbyte
SebuahPROM8kBytedengansaluranCSactivehigh
SebuahROM64kBytedengansaluranCSactivehigh
Sebuah I/O1kByte dengansaluranCS0activehigh, CS1danCS2activelow
RAM 1 00000 H
07FFF H
Kosong
RAM 2 10000 H
17FFF H
Kosong
ROM 20000 H
20FFF H
Kosong
PROM 30000 H
33FFF H
Kosong
I/O 40000 H
400FF H
Kosong 400FF H
FFFFF H
RAM 1 00000 H
07FFF H
Kosong
RAM 2 08000 H
0FFFF H
Kosong
ROM 10000 H
10FFF H
Kosong
PROM 11000 H
14FFF H
Kosong
I/O 15000 H
150FF H
Kosong 16000 H
FFFFF H
LATIHAN 14.5
Jika anda diberikan beberapa komponen berikut ini untuk dirangkai menjadi sistem
mikroprosesor.
Sebuah mikroprosesor dengan word size 16 bit yang mempunyai memory space sebesar 64
kilo word.
Sebuah RAM 8 kByte dengan saluran CS1 dan CS2 active high.
Sebuah EPROM 1 kByte dengan saluran CS active low
Sebuah ROM 2 kByte dengan saluran CS active high
Sebuah PIA 256 Byte dengan saluran CS0 active high, CS1 dan CS2 active low
16 → 4 4 4 4
14 → 2 4 4 4
9→ 1 4 4
10 → 2 4 4
7 3 4
Berdasarkan kombinasi biner tersebut, serta hasil perhitungan nilai masing-masing komponen,
maka prediksi alamat awal adalah sebagai berikut.
Alternatif 1
Output dari rangkaian addres decorder berdasarkan chip select masing-masing komponen
adalah sebagai berikut.
PIA = 7F H = 007F H
Dapat Disimpulkan bahwa input rangkaian addres decordernya adalah sebagai berikut.
Output dari rangkaian addres decorder berdasarkan chip select masing-masing komponen
adalah sebagai berikut.
LATIHAN 14.6
Jika anda diberikan beberapa komponen berikut ini untuk dirangkai menjadi sistem
mikroprosesor.
Sebuah mikroprosesor 8 bit dengan 16 saluran alamat.
Sebuah RAM 2 kByte dengan CS0 active low, CS1 dan CS2 active high
Sebuah EEPROM 1 kByte dengan CS active low
Sebuah PROM 600 Byte dengan CS active high
Sebuah PIA 70 Byte dengan CS0 active high dan CS1 active low
Penyelesaian:
PROM2 64 Byte
64 Byte = 26 Byte
6→ 2 4
PROM4 8 Byte
8 Byte = 23 Byte
3→ 3
Nilai penjumlah/
111 Biner
Pengurangannya
7 Heksa
=
Jadi nilai penjumlah/pengurang untuk PROM4 = 7 H
PIA1 64 Byte
64 Byte = 26 Byte
6→ 2 4
PIA2 4 Byte
4 Byte = 22 Byte
2→ 2
PIA3 2 Byte
2 Byte = 21 Byte
1→ 1
Terdapat 9 komponen
1 RAM 0000
2 EEPROM 0001
3 PROM1 0010
4 PROM2 0011
5 PROM3 0100
6 PROM4 0101
7 PIA1 0110
8 PIA2 0111
9 PIA3 1000
Output dari rangkaian address decoder berdasarkan chip select masing-masing komponen
sebagaimana telah diketahui dalam kasus ini sebagai berikut:
Output dari rangkaian address decoder berdasarkan chip select masing-masing komponen
sebagaimana telah diketahui dalam kasus ini sebagai berikut:
LATIHAN 14.7
Jika anda diberikan beberapa komponen berikut ini untuk dirangkai menjadi system
mikroprosesor.
RAM 1 00000 H
00FFF H
Kosong
ROM 10000 H
107FF H
Kosong
EEPROM 20000 H
201FF H
Kosong
PIA 30000 H
3007F H
Kosong 40080 H
FFFFF H
RAM 1 00000 H
00FFF H
ROM 01000 H
017FF H
EEPROM 01800 H
019FF H
PIA 01A00 H
01A7F H
Kosong 01A80 H
FFFFF H
Jika anda diberikan beberapa komponen berikut ini untuk dirangkai menjadi system
mikroprosesor.
RAM 1 0000 H
07FF H
Kosong
EEPROM 1000 H
17FF H
Kosong
ROM 2000 H
21FF H
Kosong
PIA 3000 H
307F H
Kosong 4080 H
FFFF H
RAM 1 0000 H
07FF H
EEPROM 0800 H
0FFF H
ROM 1000 H
11FF H
PIA 1200 H
127F H
Kosong 1280 H
FFFF H
LATIHAN 14.9
Jika anda diberikan beberapa komponen berikut ini untuk dirangkai menjadi system
mikroprosesor.
Nilai 11 1111
Penjumlahan / 3 F
pengurangannya=
Jadi nilai penjumlahan / pengurangan PIO = 3F H.
Menentukan alamat awal dan alamat akhir masing–masing komponen.
RAM 1 0000 H
0FFF H
Kosong
RAM 2 1000 H
17FF H
Kosong
EEPROM 2000 H
23FF H
Kosong
ROM 3000 H
3FFF H
Kosong
PIA 4000 H
403F H
Kosong 4040 H
FFFF H
Nilai 11 1111
Penjumlahan / 3 F
pengurangannya=
Jadi nilai penjumlahan / pengurangan PIO = 3F H.
Menentukan alamat awal dan alamat akhir masing–masing komponen.
RAM 1 0000 H
0FFF H
RAM 2 1000 H
17FF H
EEPROM 1800 H
1BFF H
ROM 1C00 H
D0FF H
PIO D100 H
D13F H
Kosong D140 H
FFFF H
b. Desainlah rangkaian address decoder-nya
SOAL REVIEW
KONDISI AWAL
2.desainlah program dalam bahasa assembly ntuk memindahkan isi alamat 0031H s/d004A H
kealamat 0051 H s/d 006A H .jelaskan intruks dlam program ;
Jawab;
JAWAB;
Demikian programnya ;
4. a.desainlah program dalam bahasa assembly untuk menambahkan atau menjumlahkan isi
alamat 0061 H s/d 0072 H , dan alamat disimpan di alamat 0071 H s/d 007BH .diasumsikan
tidak menghasilkan carry
b. ubahlah terjemahan / transferlah desain program anda pada nomor a tersebut dalam bentuk
bilangan heksadesimalnya yang penenmpatanya programnya diawali dengan alamat 0000H.
Jawab;
25 byte>membutuhkan 25 lokasi
alamat dalam program ini
Bila ditulis dengan lengkap lokasi alamat beserta isinya dengan hexadecimal sebagai berikut;
C.25 byte
5. desainlah program dalam bahasa assembly ntuk memindahkan isi alamat 0031H s/d004A H
kealamat 0051 H s/d 006A H .jelaskan intruks dlam program ;
Jawab;
6.desainlah program dalam bahasa assembly ntuk memindahkan isi alamat 0021H s/d003E H
kealamat 0041 H s/d 005E H .jelaskan intruks dlam program ;
Jawab;
7. a.desainlah program dalam bahasa assembly untuk menambahkan atau menjumlahkan isi
alamat 0031 H s/d 0038 H , dan alamat disimpan di alamat 0041 H s/d 0049 H .diasumsikan
tidak menghasilkan carry
b. ubahlah terjemahan / transferlah desain program anda pada nomor a tersebut dalam bentuk
bilangan heksadesimalnya yang penenmpatanya programnya diawali dengan alamat 0000H.
Jawab;
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis dengan lengkap lokasi alamat beserta isinya dengan hexadecimal sebagai berikut;
C.16 byte
8.desainlah program untuk system mikroprosesor dalam bahsa assembly untuk memindahkan
atau menjumlahkan isi alamat 53 H dan isi dari alamat 54 H kemudian hasil penjumlahan
tersebut dikalika dengan 3 dan hasil akhirnya disimpan ke alamat 60 H .tetapi seblum hasil di
simpan maka terlebih dahulu ke alamat 70 H
JAWAB;
Demikian programnya ;
19 byte
10.desainlah program dalam bahasa assembly ntuk menambahkan isi alamat 0031 H s/d 004A H
Jawab;
11.a.desainlah program dalam bahasa assembly untuk menambahkan atau menjumlahkan isi
alamat 0061 H s/d 0072 H , dan alamat disimpan di alamat 0071 H s/d 007BH .diasumsikan
tidak menghasilkan carry
b. ubahlah terjemahan / transferlah desain program anda pada nomor a tersebut dalam bentuk
bilangan heksadesimalnya yang penenmpatanya programnya diawali dengan alamat 0000H.
C.berapakah jumlah byte yang dibutuhkan untuk program pada nomor a
Jawab;
25 byte>membutuhkan 25 lokasi
alamat dalam program ini
Bila ditulis dengan lengkap lokasi alamat beserta isinya dengan hexadecimal sebagai berikut;
C.25 byte
12. jelaskan dengan singkat dan berikanlah contohnya ,perbedaan nya stack RAM ,stack Pointer
dan stack addressing
Jawab;
Stack addresing : -pengalamatan yng alamat efektifnya (alamat yang dituju ) ditentukan
dengan isi stack pointer jadi alamat yang dituju
-isi sp harus ditentukan terlebih dahulu dan perlu hati hati dalam
menentukan
Stack RAM ;-suatu memori baca tulis (RAM) yang pada umunya terletak di luar
mikroprosesor
-untuk menyimpan data penting dalam operassi operasi yang menggunakan
sp
jawab;
jawab;
a.perbedaanya hanya pada informasi alamat yang dituju tidak disimpan di dalam memori ,tetapi
disimpan dalam register yang merupakan bagian intruksi .jadi alamat tempat adadalam register
tersebut
b.perbedaanya itu terletak pada tempat pengambilan alamat efektifnya untuk mengakses suatu
data tertentu
15. desainlah sebuah program dalam bahasa assembly untuk system mikroprpsesor untuk
melaksanakan opersai berikut ini
Menentukan nilai maksimm dan minimum dari sejumlah data yang berada pada lokasi
alamat 61 H s/d 8A H ,kemudian hasilnya disimpan di alamat 5F H dan dialamat 60 H
Pada saat yang bersamaan seluruh data pada lokasi atau alamat 61 H s/d 8A H
dijumlahkan kemudian hasilnya disimpan dialamat 5E H
Untuk mempermudahkan program anda ,banyaknya data yang dibandingkan tau
dijumlahkan adalah 8AH – 61 H +1H = 2AH ,disimpan dilokasi alamat 60H
Diasiumsikan bahwa hasil penjumlahan data yang merupakan isi alamat 61 H s/d 8A
tidak menghassilkan carry
Jawab;
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 2AH 06
02 28
03 LXI ,H , 60 H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
16.diketahui kondisi awal Stack RAM ,stack pointer dan program counter berikut ini
Stack RAM
17.diketahui kondisi awal Stack RAM ,stack pointer dan program counter berikut ini
Stack RAM
Jawab;
(51H)-(52H)> (53H)
Bila ditulis dengan lengkap lokasi alamat beserta isinya dengan hexadecimal sebagai berikut;
Jawab;
Bila ditulis dengan lengkap lokasi alamat beserta isinya dengan hexadecimal sebagai berikut;
Jawab;
25 byte>membutuhkan 25 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 101H 06
02 28
03 LXI ,H , 51H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
Jawab;
25 byte>membutuhkan 25 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 9H 06
02 28
03 LXI ,H , 51H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
22.desainlah program mikroprosesor menggunakan bahasa rakitan untuk menjumlahkan isi
alamat 2DH s/d 62H (jadi (2DH)-(2EH)-(2FH) dst nya).. Serta diasumsikan bahwa hasil akhir
penjumlahannya tidak menghasilkan carry.kemudian hasilnya disimpan;
jawab;
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 40H 06
02 28
03 LXI ,H , 2CH 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0C STA 2C H 32
0D 40
0E 00
0F HLT 76
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 40H 06
02 28
03 LXI ,H , 2CH 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
jawab;
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 40H 06
02 28
03 LXI ,H , 2CH 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0C STA 2C H 32
0D 40
0E 00
0F HLT 76
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
ALAMAT INTRUKSI HEXADESIMAL
00 SUB A 97
01 MVI B , 40H 06
02 28
03 LXI ,H , 2CH 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
24.desainlah program sistem mikroprosesor menggunakan bahasa assembly / rakitan untuk
mengurangkan isi alamat 2DH s/d 62H (jadi (2DH)-(2EH)-(2FH) dst nya).. Serta diasumsikan
bahwa hasil akhir pengurangannya bukan bilangan negatif.kemudian hasilnya disimpan;
jawab;
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 84H 06
02 28
03 LXI ,H , 2CH 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0C STA 2C H 32
0D 40
0E 00
0F HLT 76
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 40H 06
02 28
03 LXI ,H , 2CH 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
Jawab;
16 byte>membutuhkan 16 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
01 MVI B , 19H 06
02 28
03 LXI ,H , 51 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0C STA 60 H s/d 69 H 32
0D 40
0E 00
0F HLT 76
26.desainlah program sistem mikroprosesor menggunakan bahasa assembly / rakitan untuk
menjumlahkannya dua bilangan heksadesimal 80 digit ,jika mikroprosesor yang digunakan
mempunyai word size 8 bit .dimisalkan bahwa bilangan desimal 80 digit yang akan dijumlahkan
berada pada lokasi alamat 51 H s/d 5A H serta bilangan hexadesimal 80 digit lainnya (sebagai
penjumlahannya ) berada pada lokasi alamat 61 H s/d 6A H.selanjutnya hasil penjumlahannya
tersebut disimpan ;
a.di alamat 60 H s/d 69 H .serta diasumsikan bahwa hasil akhir penjumlahanya tidak
menghasilkan carry
b.di alamat 91 H s/d 9A H .serta diasumsikan bahwa hasil akhir penjumlahanya tidak
menghasilkan carry
jawab;
(60)+(61)+(62)+(63)+(64)+(65)+(66)+(67)+(68)+(69)+(70)+(71)+(72)+(73)+(74)+(75)+(76)+(7
7)+(78)+(79) > (60)+(61)+(62)+(63)+(64)+(65)+(66)+(67)+(68)+(69)
Program tersebut walaupun berulang ,tetapi tidak dapat dibuat lopping karena berulangnya tidak
sama persis sama ,yaitu adakalanya LDA XXH ,nilai XX nya berbeda beda.
Program tersebut bila ditulis lengkap sesuai format bakunya ,dengan lokasi alamat beserta isinya
dalam hexadecimal seperti berikut;
(60)+(61)+(62)+(63)+(64)+(65)+(66)+(67)+(68)+(69)+(70)+(71)+(72)+(73)+(74)+(75)+(76)+(7
7)+(78)+(79) > (91) s/d (9A)
Dari hasil program tersebut terlihat adanya tiga intruksi berulang yaitu MOV B,A kemudian
LDA XXH dan ADD
Program tersebut walaupun berulang ,tetapi tidak dapat dibuat lopping karena berulangnya tidak
sama persis sama ,yaitu adakalanya LDA XXH ,nilai XX nya berbeda beda.
Program tersebut bila ditulis lengkap sesuai format bakunya ,dengan lokasi alamat beserta isinya
dalam hexadecimal seperti berikut;
Jawab;
byte kode intruksi artinya
24 byte>membutuhkan 24 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 3H 06
02 28
03 LXI ,H , 51H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
28.desainlah program sistem mikroprosesor menggunakan bahasa assembly / rakitan untuk
menjumlahkannya dua bilangan heksadesimal 80 digit ,jika mikroprosesor yang digunakan
mempunyai word size 8 bit .dimisalkan bahwa bilangan desimal 80 digit yang akan dijumlahkan
berada pada lokasi alamat 60 H s/d 69 H serta bilangan desimal 80 digit lainnya (sebagai
penjumlahannya ) berada pada lokasi alamat 70 H s/d 79 H.selanjutnya hasil penjumlahannya
tersebut disimpan ;
a.di alamat 60 H s/d 69 H .serta diasumsikan bahwa hasil akhir penjumlahanya tidak
menghasilkan carry
b.di alamat 91 H s/d 9A H .serta diasumsikan bahwa hasil akhir penjumlahanya tidak
menghasilkan carry
jawab;
Dari hasil program tersebut terlihat adanya tiga intruksi berulang yaitu MOV B,A kemudian
LDA XXH dan ADD
Program tersebut walaupun berulang ,tetapi tidak dapat dibuat lopping karena berulangnya tidak
sama persis sama ,yaitu adakalanya LDA XXH ,nilai XX nya berbeda beda.
Program tersebut bila ditulis lengkap sesuai format bakunya ,dengan lokasi alamat beserta isinya
dalam hexadecimal seperti berikut;
Alamat memori instruksi hexadesimal
00 LDA 60 3A
01 41
02 00
03 MOV A,B 47
04 LDA 61 3A
05 42
06 00
07 ADD B 80
08 MOV A,B 47
09 LDA 62 3A
0A 43
0B 00
0C ADD B 80
0D MOV A,B 47
0E LDA 63 3A
0F 44
01 00
11 ADD B 80
12 MOV A,B 47
13 LDA 64 3A
14 45
15 00
16 ADD B 80
17 MOV A,B 47
18 LDA 65 3A
19 46
1A 00
1B ADD B 80
1C MOV A,B 47
1D LDA 66 3A
1E 47
1F 00
02 ADD B 80
21 MOV A,B 47
22 LDA 67 3A
23 48
24 00
25 ADD B 80
26 MOV A,B 47
27 LDA 68 3A
28 49
29 00
2A ADD B 80
2B MOV A,B 47
2C LDA 69 3A
2D 50
2E 00
2F ADD B 80
03 MOV A,B 47
31 LDA 70 3A
32 51
33 00
34 ADD B 80
35 MOV A,B 47
36 LDA 71 3A
37 52
38 ADD B 80
39 MOV A,B 47
3A LDA 72 3A
3B 53
3C 00
3D ADD B 80
3E MOV A,B 47
3F LDA 73 3A
04 54
41 00
42 ADD B 80
43 MOV A,B 47
44 LDA 74 3A
45 55
46 00
47 ADD B 80
48 MOV A,B 47
49 LDA 75 3A
05 56
51 00
52 ADD B 80
53 MOVA,B 47
54 LDA 76 3A
55 57
56 00
57 ADD B 80
58 MOV A,B 47
59 LDA 77 3A
06 58
61 00
62 ADD B 80
63 MOV A,B 47
64 LDA 78 3A
65 59
66 00
67 ADD B 80
68 MOV A,B 47
69 LDA 79 3A
07 60
71 00
72 ADD B 80
73 STA 60H s/d69H 47
74 00
75 61
76 HLT 76
(60)+(61)+(62)+(63)+(64)+(65)+(66)+(67)+(68)+(69)+(70)+(71)+(72)+(73)+(74)+(75)+(76)+(7
7)+(78)+(79) > (91) s/d (9A)
Dari hasil program tersebut terlihat adanya tiga intruksi berulang yaitu MOV B,A kemudian
LDA XXH dan ADD
Program tersebut walaupun berulang ,tetapi tidak dapat dibuat lopping karena berulangnya tidak
sama persis sama ,yaitu adakalanya LDA XXH ,nilai XX nya berbeda beda.
Program tersebut bila ditulis lengkap sesuai format bakunya ,dengan lokasi alamat beserta isinya
dalam hexadecimal seperti berikut;
Jawab;
20 byte>membutuhkan 20 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
01 MVI B , 9H 06
02 28
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
30.desainlah program sistem mikroprosesor menggunakan bahasa assembly / rakitan untuk
menjumlahkannya dua bilangan desimal 20 digit ,jika mikroprosesor yang digunakan
mempunyai word size =8 bit = 2digit dalam nyble .dimisalkan bahwa bilangan desimal 20 digit
yang akan dijumlahkan berada pada lokasi alamat 60 H s/d 69 H serta bilangan desimal 20 digit
lainnya (sebagai penjumlahannya ) berada pada lokasi alamat 70 H s/d 79 H.selanjutnya hasil
penjumlahannya tersebut disimpan ;
a.di alamat 60 H s/d 69 H .serta diasumsikan bahwa hasil akhir penjumlahanya tidak
menghasilkan carry
b.di alamat 91 H s/d 9A H .serta diasumsikan bahwa hasil akhir penjumlahanya tidak
menghasilkan carry
jawab;
20 byte>membutuhkan 20 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 10H 06
02 28
03 LXI ,H , 60H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0C STA 60 H s/d 69 H 32
0D 40
0E 00
0F HLT 76
20 byte>membutuhkan 20 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 10H 06
02 28
03 LXI ,H , 60 H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0D 40
0E 00
0F HLT 76
Jawab;
a.di alamat 51 H s/d 5A H .serta diasumsikan bahwa hasil akhir pengurangannya bukan bilangan
negatif
b.di alamat 71 H s/d 7A H .serta diasumsikan bahwa hasil akhir pengurangannya bukan bilangan
negatif
jawab;
20 byte>membutuhkan 20 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 20H 06
02 28
03 LXI ,H , 51H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0C STA 51 H s/d 59 H 32
0D 40
0E 00
0F HLT 76
20 byte>membutuhkan 20 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 20H 06
02 28
03 LXI ,H , 51 s/d 6A H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0C STA 51 H s/d 5A H 32
0D 40
0E 00
0F HLT 76
Jawab;
(60H) +(61H)+……+(69H) >70 H s/d 79 H
24 byte>membutuhkan 24 lokasi
alamat dalam program ini
Bila ditulis lengkap dengan lokasi alamat dalam bilangan hexadecimal sebagai berikut ;
00 SUB A 97
01 MVI B , 10H 06
02 28
03 LXI ,H , 60H 21
04 42
05 JUML 00
06 INX H 23
07 ADD M 86
08 DCR S 05
09 JNX JUML C2
0A 05
0B 00
0C STA 70 H s/d 79 H 32
0D 40
0E 00
0F HLT 76