Anda di halaman 1dari 9

Nama : Abed Nego Surinanda

NIM : 191311001
Kelas : 2A-TEL
Mata Kuliah : Sistem Mikroprosesor
Tanggal : 24 November 2020

Jawaban UTS Sistem Mikro

A. MEMILIH
1. C. Menyimpan alamat memory stack
2. D. IN
3. D. Pengalamatan tidak langsung
4. D. sbic porta,5
5. D. HL dan X
6. C. Instruksi manipulasi bit
7. D. 512 byte dan 512 byte
8. D. Menyimpan alamat untuk dieksekusi
9. C. IO dalam peta memory
10. D. untuk indicator jumlah bit ‘1’

B. MENGISI
1. IO isolated memory yaitu memory I/O yang letaknya terpisah dari memory data
maupun memory program, karena memory I/O terpisah dari memory program dan
memory data, kita bisa menggunakan memory program dan memory data dengan
lebih leluasa tanpa khawatir tentang memory I/O sehingga terdapat bus umum (data
dan alamat) untuk I / O dan memori tetapi terpisah garis kontrol read dan write untuk
I / O.
2. Register multiguna pada ATMEGA 8535 memiliki 32 byte register yaitu general
purpose register yang dimulai dari r0-r31 yaitu Register X, Y, Z.
3. Peta memori 8085:
Peta Memori di AVR terbagi menjadi 2 bagian yaitu Program memori Data Memori
sedangkan Peta Memori di intel 8085 yaitu RAM,ROM,EPROM

Peta memori ATMEGA 8535:

4. Klasifikasi instruksi pada 8085:


a. Instruksi data transfer
b. Instruksi Aritmatika dan logika
c. Instruksi mesin kontrol/processor kontrol
d. Instruksi Percabangan
Klasifikasi instruksi pada ATMEGA 8535:
a. Instruksi data transfer
b. Instruksi Aritmatika dan logika
c. Instruksi mesin kontrol/processor kontrol
d. Instruksi Percabangan
e. Instruksi manipulasi bit
5. Macam macam mode pengalamatan:
a. Immidiate Adressing/Pengalamatan segera
b. Register Adressing/pengalamatan register
c. Direct adressing/pengalamatan langsung
d. Indirect adressing/pengalamatan tidak langsung
e. Port adressing
6. Instruksi Mesin kontrol adalah suatu instruksi untuk mengatur perilaku dari prosesor,
misalnya kita sebagai user bisa mengatur prosesor untuk mengabaikan/melayani
interrupt.
7. Macam-macam instruksi percabangan
Instruksi pencabangan dibagi menjadi dua, yaitu :
a. Pencabangan bersyarat (bergantung pada nilai bit pada flag register) : JC, JNC,
JZ, JNZ, JP,JM, JPE, JPO.
b. Pencabangan tidak bersyarat : JMP (jump) dan CALL.
8. Special function register pada ATMEGA 8535 merupakan register-register yang
fungsi khusus yang mengontrol atau memantau berbagai aspek fungsi mikroprosesor.
9. Fungsi input reset adalah untuk mereset mikroprosesor dengan men-set Program
Counter menjadi 0, membuat port berimpedansi tinggi dan mengeksekusi instruksi
alamat 0.
10. Memori stack diperlukan karena keterbatasan jumlah register, oleh karena itu harus
ada tempat untuk menyimpan data sementera. Memory stack perlu diinisialisasi
dengan cara men-set base address (address awal) dari stack ke stack pointer, biasanya
base address diisi dengan address ram yang paling tinggi, hal ini dikarenakan stack
akan membesar dan mengurangi jumlah stack pointer
C. ESSAY
1. Program program untuk rangkaian counter

.include "m8535def.inc"
.def jj = r16
.def kk = r17
.def qq = r18
.def notqq = r19

.equ jk0 = 0
.equ jk1 = 1
.equ jk2 = 2

.macro initStack
ldi xl, low(@0)
out spl, xl
ldi xl, high(@0)
out sph, xl
.endm

.cseg
.org 0
rjmp reset

reset:
initStack ramend
ser xl
out porta, xl
out ddra, xl
out portc, xl
out ddrc, xl
clr qq
ser notqq

main:
andi qq
out portc, qq
//J0 = !(q2 XOR q1)
mov xl, qq
ror xl
eor xl, qq
mov xh, xl //K0 = q2 XOR q1
com xl

//Menyimpan J0 dan K0 Register J dan K bit ke 0


bst xl, 1
bld jj, 0
bst xh, 1
bld kk, 0

//J1 = !q2q0
mov xl, notqq
ror xl
ror xl
and xl, qq

//K1 = q2q0
mov xh, qq
ror xh
ror xh
and xh, qq

//Menyimpan J1 dan K1 ke Register J dan K bit ke 1


bst xl, 0
bld jj, 1
bst xh, 0
bld kk, 1
//J2 = q1!q0
mov xl, qq
ror xl
and xl, notqq
mov xh, xl //K2 = q1!q0

//Menyimpan J2 dan K2 ke Register J dan K bit ke 2


bst xl, 0
bld jj, 2
bst xh, 0
bld kk, 2

//update FLIP FLOP


and jj, notqq
com kk
and kk, qq
or jj, kk
mov qq, jj
com jj
mov notqq,jj

rjmp main

forever:
rjmp forever
2. Program program untuk memindahkan data dari Blok1 ke Blok2 atau Blok3
sebanyak 100 byte, dengan ketentuan sbb. Jika paritynya ganjil pindahkan ke Blok2
jika tidak ke Blok3.

;Program memindahkan data


;
;INPUT: 1 blok data, blok1 = 1900h
;
;OUTPUT: Data pada blok1 berpindah ke blok2 jika Parity ganjil, berpindah ke blok3
jika Parity genap
;
KickOff 100h;alamat awal program program
Org 18F8h;Pointer
Blok1:
db 0, 0
Blok2:
db 0, 0
Blok3:
db 0, 0

Org 1900h;Blok data


Db 13h, 54h, 58h, 22h, 65h, 91h, 31h, 56h, 32h, 41h
Db 23h, 34h, 99h, 72h, 97h, 93h, 32h, 21h, 56h, 5h
Db 54h, 38h, 88h, 81h, 79h, 95h, 35h, 43h, 87h, 7h
Db 23h, 19h, 87h, 38h, 76h, 96h, 13h, 56h, 86h, 68h
Db 43h, 24h, 78h, 82h, 67h, 92h, 23h, 87h, 71h, 86h
Db 32h, 12h, 77h, 28h, 65h, 94h, 53h, 34h, 82h, 76h
Db 12h, 2h, 66h, 92h, 64h, 29h, 63h, 76h, 92h, 08h
Db 27h, 45h, 65h, 29h, 63h, 98h, 73h, 53h, 4h, 72h
Db 17h, 9h, 56h, 38h, 62h, 59h, 97h, 32h, 84h, 45h
Db 55h, 7h, 54h, 23h, 61h, 89h, 34h, 72h, 32h, 11h
Org 1A00h
db 0
Org 1B00h
db 0

Org 100h;Blok program


LXI HL, 1900h
SHLD Blok1
LXI HL, 1A00h
SHLD Blok2
LXI HL, 1B00h
SHLD Blok3

MVI D, 100
IN 22h
CPI 0
JPO Move_Block2
JPE Move_Block3

Move_Block2:
LHLD Blok1
MOV B, M
LHLD Blok2
MOV C, M

MOV C, B

LHLD Blok1
MOV M, B
INX HL
SHLD Blok1
LHLD Blok2
MOV M, C
INX HL
SHLD Blok2
DCR D
JNZ Move_Block2
JMP END

Move_Block3:
LHLD Blok1
MOV B, M
LHLD Blok3
MOV C, M

MOV C, B

LHLD Blok1
MOV M, B
INX HL
SHLD Blok1
LHLD Blok3
MOV M, C
INX HL
SHLD Blok3

DCR D
JNZ Move_Block3
JMP END

END:
hlt

Anda mungkin juga menyukai