• Tidak ada hasil yang ditemukan

BAB 3 Pemrograman Zilog Z80 Lanjutan

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 Pemrograman Zilog Z80 Lanjutan"

Copied!
41
0
0

Teks penuh

(1)

BAB 3

BAB 3

Pemrograman Zilog

Pemrograman Zilog

Z80

Z80

Lanjutan

Lanjutan

Oleh Oleh ::

Setiawardhana Setiawardhana

Buku

Buku:: BahasaBahasa Assembly (Buku KomputerAssembly (Buku Komputer 3)3) oleholeh : Son: Son KuswadiKuswadi

Politeknik Elektronika Negeri

(2)

Pokok Bahasan

Pokok Bahasan

Addressing Mode Addressing Mode ??

FLAGFLAG ??

Instruksi AritmatikaInstruksi Aritmatika??

BranchBranch ??

(3)

Addressing mode

Addressing mode

RegisterRegister DirectDirect ImmediateImmediate

Register IndirectRegister Indirect

(4)

Addressing mode

Addressing mode

-

-

Register

Register

Perpindahan dariPerpindahan dari source operand internal source operand internal

register

register keke destination operand internal registerdestination operand internal register ContohContoh : : LD A,B LD A,B LD B,C LD B,C

(5)

Addressing mode

Addressing mode

-

-

Direct

Direct

Menyebut langsung alamat memori pada Menyebut langsung alamat memori pada

bagian instruksi bagian instruksi

ContohContoh : (: (InstruksiInstruksi 33--byte)byte)

LD A,(800Ah) LD A,(800Ah) LD (8050h),A LD (8050h),A

(6)

Addressing mode

Addressing mode

-

-

Immediate

Immediate

Data yangData yang diolah merupakan bagian dari diolah merupakan bagian dari

instruksi instruksi

ContohContoh : (: (InstruksiInstruksi 22 atauatau 3 byte)3 byte)

LD A,4Eh LD A,4Eh LD H, LD H,FFhFFh LD HL,8003h LD HL,8003h

(7)

Addressing mode

Addressing mode

Register Indirect

Register Indirect

MenggunakanMenggunakan register internal (16 bit)register internal (16 bit) atau atau

pasangan

pasangan registerregister sebagai sumber dari alamat sebagai sumber dari alamat memori memori Contoh Contoh :: LD (HL),A LD (HL),A LD A,(DE) LD A,(DE) LD (BC),A LD (BC),A

(8)

Addressing mode

Addressing mode

-

-

Indexed

Indexed

Register IXRegister IX dandan IYIY

Bisa diisiBisa diisi datadata sembarangsembarang

Sebagai penunjuk alamatSebagai penunjuk alamat sourcesource atauatau

destination destination ContohContoh :: LD A,(IY+3) LD A,(IY+3) LD (IX+2),B LD (IX+2),B

(9)

Addressing mode

Addressing mode

-

-

Indexed

Indexed

ContohContoh ::

Register IYRegister IY : 8060h: 8060h

InstruksiInstruksi : LD (IY+3),A: LD (IY+3),A

HasilHasil :: memindahkanmemindahkan datadata dari dari

register A

register A ke alamatke alamat 8060h+3 8060h+3 = 8063h

(10)

Konsep

Konsep

-

-

Indexed Addressing

Indexed Addressing

4A A IY 8060 8063 (8060)+3 XX SEBELUM INSTRUKSI 4A A IY 8060 8063 (8060)+3 4A SESUDAH INSTRUKSI

(11)

FLAG

FLAG

Menandai operasiMenandai operasi CPUCPU

Flag register Z80 :Flag register Z80 :

CY CY N N P/V P/V X X H H X X Z Z S S CY Carry Flag P/V Parity/Overflow Flag

H Half Carry Flag

Z Zero Flag

S Sign Flag

(12)

Flag

Flag

CY : Carry FlagCY : Carry Flag

“1” = true ,“1” = true , bila mikroprosessor membangkitkanbila mikroprosessor membangkitkan

carry internal

carry internal keke carry bitcarry bit

Operasi aritmatika dan logikaOperasi aritmatika dan logika

BitBit keke--9 ?9 ?

(13)

Flag

Flag

P/VP/V ParityParity ContohContoh :: 0101000 0101000 0001000 0001000 --- ++ 0110000 = parity

0110000 = parity genapgenap

OverflowOverflow

ContohContoh :: penambahanpenambahan22 bilangan positifbilangan positif

0111 1110 = +126 0111 1110 = +126 0000 0010 = + 2 0000 0010 = + 2 --- ++ 1000 0000 =

1000 0000 = --128 (invalid = overflow)128 (invalid = overflow)

ContohContoh :: penambahanpenambahan22 bilangan negatifbilangan negatif

1000 0010 = 1000 0010 = --126126 1000 1000 = 1000 1000 = --120120 --- ++ 0000 1010 carry 1 (

(14)

Flag

Flag

Half CarryHalf Carry

Flag “true”Flag “true” bila adabila ada carrycarry daridari bit 3bit 3 dandan 44

InstruksiInstruksi DAA (DAA (desimaldesimal adjust accumulation)adjust accumulation)

DAADAA menanganimenangani 4 bit4 bit dandan carrycarry daridari bit 3bit 3 keke

bit 4 bit 4

(15)

Flag

Flag

ZeroZero

“true”“true” bila hasil dari operasi adalahbila hasil dari operasi adalah ““nolnol””

ContohContoh:: 0111 1000 0111 1000 0111 1000 0111 1000 - -0000 -0000 0000 0000

(16)

Flag

Flag

Sign FlagSign Flag

“true”“true” bilabila MSBMSB dari hasildari hasil “1”“1”

Operasi aritmatika bertandaOperasi aritmatika bertanda

(17)

Flag

Flag

N : flagN : flag

OperasiOperasi BCD, 4 bitBCD, 4 bit

InstruksiInstruksi DAADAA bergantung padabergantung pada bit Nbit N

NN didi set “1”set “1” setelah pengurangansetelah pengurangan

(18)

Praktek

Praktek

Addressing mode

Addressing mode

RegisterRegister LD A,3Ah LD A,3Ah LD B,A LD B,A LD C,B LD C,B LD D,C LD D,C LD E,D LD E,D HALT HALT

(19)

Praktek

Praktek

Addressing mode

Addressing mode

DirectDirect LD A,(8040h) LD A,(8040h) OUT (0FEh),A OUT (0FEh),A OUT (0FDh),A OUT (0FDh),A HALT HALT

(20)

Praktek

Praktek

Addressing mode

Addressing mode

Immediate / Register IndirectImmediate / Register Indirect

LD A,36h LD A,36h LD H,80h LD H,80h LD L,40h LD L,40h LD (HL),A LD (HL),A HALT HALT

(21)

Praktek

Praktek

Addressing mode

Addressing mode

IndexedIndexed LD IX,8040h LD IX,8040h LD A,(IX+3) LD A,(IX+3) OUT (0FDh),A OUT (0FDh),A LD A,(IX+4) LD A,(IX+4) OUT (0FEh),A OUT (0FEh),A HALT HALT

(22)

Instruksi Aritmatika

Instruksi Aritmatika

PenambahanPenambahan PenguranganPengurangan

(23)

Penambahan

Penambahan

IsiIsi registerregister ke akumulatorke akumulator

ADD

ADD A,BA,B ADD A,C ADD A,C

Isi memori ke akumulatorIsi memori ke akumulator

ADD A,(HL) ADD A,(HL)

Penambahan segeraPenambahan segera (immediate)(immediate)

ADD A,25h ADD A,25h So’al

So’al ::

Tambahkan angka

Tambahkan angka 01F3h01F3h dengandengan 03A6h ?03A6h ? Kurangkan angka

(24)

MenambahkanMenambahkan duadua data data padapada suatusuatu alamatalamat memorimemori

tertentu tertentu ORG 8020H ORG 8020H LD HL,8040H LD HL,8040H LD DE,8042H LD DE,8042H LD BC,8044H LD BC,8044H LD A,(HL) LD A,(HL) EX DE,HL EX DE,HL ADD A,(HL) ADD A,(HL) LD (BC),A LD (BC),A INC HL INC HL LD A,(HL) LD A,(HL) EX DE,HL EX DE,HL INC HL INC HL ADC A,(HL) ADC A,(HL) INC BC INC BC LD (BC),A LD (BC),A HALT HALT

Penambahan

(25)

MengurangkanMengurangkan duadua data data padapada suatusuatu alamatalamat

memori

memori tertentutertentu

ORG 8050H ORG 8050H LD DE,8052H LD DE,8052H LD BC,8054H LD BC,8054H LD A,(HL) LD A,(HL) EX DE,HL EX DE,HL SUB A,(HL) SUB A,(HL) LD (BC),A LD (BC),A EX DE,HL EX DE,HL INC HL INC HL LD A,(HL) LD A,(HL) EX DE,HL EX DE,HL INC HL INC HL SBC A,(HL) SBC A,(HL) INC BC INC BC LD (BC),A LD (BC),A HALT HALT

Pengurangan

(26)

Double Add

Double Add

pasangan

pasangan

register

register

Menambah bilanganMenambah bilangan 16 bit16 bit dari pasangandari pasangan register register

(BC,DE,HL,SP)

(BC,DE,HL,SP) ke pasanganke pasangan register HL.register HL.

Hasil disimpan diHasil disimpan di HLHL Mnemonic :Mnemonic : ADD HL,BC ADD HL,BC ADD HL,DE ADD HL,DE ADD HL,HL ADD HL,HL ADD HL,SP ADD HL,SP

(27)

Increment

Increment

8 bit increment8 bit increment

INC INC rr

INC

INC (HL)(HL)

16 bit increment16 bit increment

INC INC BCBC INC INC DEDE INC INC HLHL INC INC SPSP

(28)

Decrement

Decrement

8 bit decrement8 bit decrement

DEC DEC rr

DEC

DEC (HL)(HL)

16 bit decrement16 bit decrement

DEC DEC BCBC DEC DEC DEDE DEC DEC HLHL DEC DEC SPSP

(29)

Percabangan bersyarat

Percabangan bersyarat

B = 0

YA (Loncat)

(30)

Percabangan bersyarat

Percabangan bersyarat

MnemonicMnemonic lengkaplengkap ::

JPJP Z,Z,addraddr JumpJump bilabila Zero trueZero true

JPJP NZ,NZ,addraddr JumpJump bilabila Zero falseZero false

JPJP C,C,addraddr JumpJump bilabila Carry trueCarry true

JPJP NC,addrNC,addr JumpJump bilabila Carry falseCarry false

JPJP PE,PE,addraddr JumpJump bilabila ParityParity genapgenap

JPJP PO,addrPO,addr JumpJump bilaParity ganjilbilaParity ganjil

JPJP M,M,addraddr JumpJump bilabila minusminus

(31)

Instruksi Logika

Instruksi Logika

ANDAND OROR ExORExOR

(32)

AND

AND

Contoh Contoh IN A,(0FCh)IN A,(0FCh)

AND 0BFh AND 0BFh 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 A B Hasil

(33)

OR

OR

Contoh Contoh :: IN A,(0FCh)IN A,(0FCh)

OR 0BFh OR 0BFh 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 A B Hasil

(34)

XOR

XOR

Contoh Contoh :: IN A,(0FCh)IN A,(0FCh)

XOR 0BFh XOR 0BFh 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 A B Hasil

(35)

Instruksi

Instruksi

Compare

Compare

BandingkaBandingka 2 operand2 operand

Set flagSet flag sesuai hasilsesuai hasil comparecompare Contoh Contoh LD A,44h LD A,44h LD B,45h LD B,45h CP B CP B Proses Proses : : 44h 44h –– 45h = 45h = --1 = 0FFh1 = 0FFh Zero Flag

Zero Flag = false= false Carry Flag

(36)

Instruksi

Instruksi

Rotate

Rotate

Rotate Rotate tanpa tanpa carrycarry

RLCA

RLCA rotate rotate kekirikekiri RRCA

RRCA rotate rotate kekanankekanan

1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 Awal RLCA RRCA

(37)

Instruksi

Instruksi

Rotate

Rotate

Rotate Rotate dengandengan carrycarry

RLCA

RLCA rotate kekirirotate kekiri RRCA

RRCA rotate rotate kekanankekanan Data yang

Data yang digeser disimpan ke register CYdigeser disimpan ke register CY 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 Awal RLCA RRCA

(38)

Complement Accumulator, Carry

Complement Accumulator, Carry dan dan Set CarrySet Carry

Complement AccumulatorComplement Accumulator

Mnemonic

Mnemonic : CPL: CPL

Bit CPL

Bit CPL 1 1 jadijadi 0 0 dan dan 0 0 jadi jadi 11

Carry Carry dan dan Set CarrySet Carry

Mnemonic

Mnemonic : CCF (Complement Carry Flag): CCF (Complement Carry Flag) : SCF (Set Carry Flag)

(39)
(40)
(41)

Referensi

Dokumen terkait

Pengembangan PKW melalui peningkatan fungsi industri pengolahan dan industri jasa hasil hutan yang bernilai tambah tinggi dan ramah lingkungan dilakukan di PKW Tegal dan

Penilaian unjuk kerja merupakan penilaian yang dilakukan dengan mengamati kegiatan peserta didik dalam melakukan sesuatu. Penilaian ini cocok digunakan untuk

+ INDONESIAN FCPF CARBON FUND: Program Pengurangan Emisi Berbasis Lahan di Kalimantan Timur JAKARTA, 29 APRIL 2016... + Konteks Strategis dan Latar

PUSAT KAJIAN SUMBERDAYA PESISIR DAN LAUTAN INSTITUT PERTANIAN BOGOR.. PENGANTAR EKONOMI

Maka pada akhirnya C.Den Hammer pegawai pemerintah kolonial Belanda, Inspektur Pengajaran Hindia Belanda di Bandung, datang menyelidiki dan menyaksikan dengan

Pengetahuan tentang Tuhan dan kesetiaan terhadap aturan-aturan-Nya merupakan dasar bagi tiap agama, baik agama langit atau pun bumi. Namun kesadaran manusia akan

memberikan percobaan gratis secara cuma – cuma kepada konsumen yang tujuannya untuk memberikan gambaran baik dalam manfaat, rupa, ataupun bau dari produk yang dipromosikan,

50 (Revisi 2010) tentang “Instrumen Keuangan: Penyajian”, aset dan liabilitas keuangan saling hapus dan nilai netonya disajikan dalam laporan posisi keuangan, jika