NIM : F1B019038
TUGAS : 5
Instruksi MVI r, data 8 bit´ dan instruksi MVI M, data 8 bit.
Instruksi MVI M, 8 bit, digunakan untuk mengisi data 8 bit pada suatu lokasi
memori yang alamatnya ada pada register HL.
C. Instruksi STA (Store Accumulator Directly in Memory) dan LDA (Load
Accumulator Directly from Memory)
Instruksi ‘ STA’ dipergunakan untuk menyimpan data yang berada pada
akumulator (register A) ke dalam unit memori pada lokasi alamat (4 digit
heksadesimal dari belakang mnemonik STA).
Instruksi LDA digunakan untuk memindahkan data 8 bit dari unit memori
lokasi alamat tertentu ke akumulator (register A).
D. Instruksi LHLD (Load H & L Registers Directly from Memory)
‘X’ dalam nama instruksi transfer data menunjukkan bahwa itu berhubungan dengan
sepasang register (16 bit).
5. Buatlah contoh perintah operasi Aritmatika, kemudian simulasikan dengan simulator
8085!
register A dengan isi register yang lain atau suatu bilangan konstanta.Instruksi
Penjumlahan 8-bit tanpa carry
op – code
MVI C,83 ;
Reg.C= 83
Dari hasil operasi di atas maka : Acc = 08 dan bit register flag akan berisi : S=0, H=0,
b. Instruksi Penjumlahan dengan carry Penjumlahan data 8-bit dengan carry adalah
penjumlahan Accumulator
dengan data atau isi register dan ditambahkan dengan carry sebelum operasi
dilaksanakan. Bentuk formatnya adalah sebagai berikut :
Cy Contoh :
Reg.C = 83
Dari hasil operasi diatas maka : cc=90 dan bit register flag akan berisi: S=1, z=0,
H=1, P=1, Cy=0. Isi register C tetap 83.
register tersebut melalui Accumulator. Instruksi ini adalah DAD (Double ADD).
21-56-84
HL 8456
LXI B,8742
01-42-87
BC 8742
DAD B
CF
RST 1
Setelah operasi diatas isi Register HL=OB98 (H) dan BC=8742 (tetap) dan Cy=1
Setelah operasi diatas isi Register HL=OB98 (H) dan BC=8742 (tetap) dan Cy=1
dengan satu dan penambahan isi pasangan register dengan satu, tetapi penambahan
satu untuk pasangan register tidak mempengaruhi isi bendera, dengan bentuk formasi
sebagai berikut: Tabel 8.4. Instruksi Penambahan Satu
op-code
op-code
; Reg. rp = Reg.rp + 1
op – code
op – code
; Reg. rp = Reg. rp - 1
SUI d8 op-code
84 (H)
MVI B,27
RST 1 Setelah program diatas dieksekusi maka Acc=5D (H) , B=27 (H) , Flag: S=0,
Z=0, H=1,
Cy=0.
c. Instruksi Pengurangan data 8-bit dengan borrow Tabel 8.7. Instruksi pengurangan
8-bit dengan borrow.
; Acc = Acc - Reg.r – Cy
MVI B,27
Cy=1 FF (H)
Setelah program diatas dieksekusi maka Acc=D7 (H) , B=27 (H) , Flag : S=1, Z=0,
H=0, Cy=0, P=1.
Instruksi ini berfungsi untuk menambahkan 06, 60, 66 terhadap isi accumulator jika
hasil penjumlahan lebih besar dari 9. Penambahan 06, 60 atau 66 pada accumulator
berdasarkan isi dari Register Bendera.
Contoh: MVI A, 84
Penjumlahan diatas adalah penjumlahan bukan lagi menjadi penjumlahan hexa tapi
menjadi penjumnlahan decimal yaitu 84+27= 111. Setelah program diatas dieksekusi
maka Acc=11 (H) , B=27 (H) , Flag: S=0, Z=0, H=1,
Cy=1.
data 8-bit atau isi suatu register, tetapi isi dari accumulator tetap yang berubah hanya
register bendera.
Flag = Acc – d8
Instruksi Logika AND ini akan menghasilkan output seperti table kebenaran gerbang
logika AND, jadi instruksi ini padat mewakili fungsi gerbang logika AND biasa.
Fungsi ANI d8
Kode-mesin
E6-d8
op-code
Contoh : MVI A, 84
Fungsi ORI d8
F6-d8
op-code
Assembly
Fungsi XRI d8
Acc = Acc v Reg. r
Instruksi Complement ini ada dua buah yaitu CMC dan CMA, dimana CMC
berfungsi untuk mengkomplemenkan isi bit carry dari register bendera dan CMA
berfungsi untuk mengkomplemenkan isi dari register A.
e. Instruksi Geser (Shift) dan Putar (rotate). Instruksi ini berfungsi untuk menggeser isi dari
Register A kearah kanan atau
Contoh 2 :
STC
; Set Carry Cy = 1
: Complement Carry Cy = 0
; Set Carry
Cy = 1
STC
Cy=1 RAL
; A = 82(H)
Cy = 1
MVI A, 82 ;A=82(H)
;A = C1(H) Cy = 0 RST 1
; A = 05(H)
suatu program, mengambil keputusan dan memodifikasi arah program sesuai dengan
hasil pengambilan keputusan. Instruksi ini terdiri dari :
Instruksi ini terbagi atas dua jenis, yaitu mutlak lompat (unconditional jump) dan
lompat bersyarat (conditional jump).
C3-ll-hh
CA-ll hh
JNZ a16
C2-ll-hh
DA-ll-hh
D2-ll-hh
FA-ll-hh
JP a16
F2-ll-hh
JPE a16
EA-ll-hh
E2-ll-hh
2. Instruksi Cabang dan Kembali (CALL, RET) Instruksi CALL membuat suatu
program melaksanakan suatu program subrutin yang alamat awalnya setelah kode
operasi dari instruksi CALL tersebut, dan akan kembali lagi ke program utama jika
instruksi kembali RET (return) dijumpai. Instruksi ini terdiri dari dua jenis yaitu
instruksi bersyarat dan tidak bersyarat. Syarat dari instruksi ini dilihat dari kondisi isi
register Bendera. Setelah instruksi ini dikerjakan isi register bendera tidak berubah.
CALL a16
CE-ll-hh
DC-ll hh
CC-ll-hh
CNZ a16
C4-ll-hh
CM a16
FC-ll-hh
CP a16
F4-ll-hh
CPE a16
EC-ll-hh
CPO a16
E4-ll-hh
RC
D8 ; Kembali jika ada Carry
RNC
RZ
RNZ
RM
RP
RPE
RPO
( ) = Isi dari suatu alamat ( ( rp ) ) = Isi alamat dimana alamatnya terdapat pada
pasangan register rp d8 = Data 8-bit d16
= Alamat 16-bit ll
= Logika OR ^
= Logika AND
V = Logika EX-OR
Instruksi LXI rp, d16 ; berfungsi mengisi register pair (rp) dari nilai data d16 (alamat
16 bit).