Perintah-perintah Transfer Data

6

Click here to load reader

Transcript of Perintah-perintah Transfer Data

Perintah-Perintah Transfer Data pada MPF-1Operasi transfer data atau operasi copy data pada mikroprosesor Z-80 CPU sebagian besar menggunakan perintah LD singkatan dari LOAD. Z-80 CPU memiliki 134 perintah LD. Data dapat ditransfer dalam 8 bit atau 16 bit. Perintah transfer data memuat dua operand yaitu operand pertama sebagai tujuan (Destinasi) dan operand kedua menunjukkan lokasi asal. Misal sebagai contoh : LD A, B menunjukkan perintah untuk meng-copy data 8 bit yang ada pada register B ke register A. Hal ini berarti B sebagai asal (Source) dan A sebagai tujuan (Destinasi). Transfer Data 8 Bit Tabel 1. Tabel Operasi Data 8 bit Mnemonik LD B, A LD A, (HL) LD A, 25H LD (HL), A LDD Simbol Operasi BA A (HL) A 25 (HL) A (DE) (HL) DE DE 1 HL HL 1 BC BC 1 (HL) 64 Jenis Transfer Data Register Register Register Memori Register Data Imdm Memori Register Memori Memori

LD (HL), 64 Transfer data 16 bit

Memori Data Imm

Tabel 2. Tabel Transfer Data 16 bit Mnemonik LD SP, HL POP IX LD HL, 1964H PUSH BC LDIR Simbol Operasi SP HL IXH (SP+1) IXL (SP) SP SP+2 HL 1964 (SP 2) C (SP+1) B SP SP 2 (DE) (HL) DE DE 1 HL HL 1 BC BC 1 Diulang sampai BC=0 Jenis Transfer Data Register Register Register Memori Register Data Imm Memori Register Memori Memori

Ada pula perintah EX, EXX singkatan dari EXCHANGE. Z-80 CPU juga memiliki 12 jenis perintah PUSH, dan POP yang dapat digunakan sebagai transfer data dalam operasi stack. Pertukaran Data Tabel 3. Tabel Pertukaran Data 16 bit Mnemonik EX DE, HL EX AF, AF EXX EX (SP), HL EX (SP), IX Simbol Operasi DE HL AF AF BC BC DE DE HL HL H (SP+1) L SP IXL (SP+1) IXL (SP) Jenis Transfer Data Register Register Register Register

Register Memori

Contoh contoh Program Transfer data : a. Operasi Transfer Data 8 bit : 1. Isi register A dengan 93 2. Copy data dari register A ke register B 3. Copy data dari register B ke register C 4. Copy data dari register C ke register D 5. Copy data dari register D ke register E 6. Isi register H dengan 19 7. Isi register L dengan 90 8. Isi data 64 ke alamat yang berada pada memori (HL) 9. Copy data dari memori (HL) ke register B 10. Copy data yang ada pada alamat (1990) ke register A 11. Copy data dari register A ke alamat 1991 12. Berhenti (stop)

Setelah dijalankan program tersebut didapat: Tabel 1 Reg Data b. A 93 B 93 C 93 D 93 E 93 F 00 H 19 L 90 1990 64 1991 64

Operasi Transfer Data 16 bit : 1. Isi register BC dengan data 1963 2. Isi register DE dengan data 1964 3. Isi register HL dengan data 1995 4. Isi register SP dengan data 1991 5. Copy data yang ada pada register C ke memori yang ada pada alamat 1993 6. Copy data yang ada pada register B ke memori yang ada pada alamat 1994 7. Copy data yang ada pada register E ke memori yang ada pada alamat 1995 8. Copy data yang ada pada register D ke memori yang ada pada alamat 1996 9. Isi register IX dengan data 1800 10. Isi register IY dengan data 1813 11. Isi memori (SP-2) dengan data yang ada pada register IXL 12. Isi memori (SP-1) dengan data yang ada pada register IXH 13. SP yang baru adalah SP-2 14. Isi memori (SP-2) dengan data yang ada pada register IYL 15. Isi memori (SP-1) dengan data yang ada pada register IYH 16. SP yang baru adalah SP-2 17. Isi register IXH dengan data yang ada pada memori (SP+1) 18. Isi register IXL dengan data yang ada pada memori (SP+2) 19. SP yang baru adalah SP+2 20. Isi register IYH dengan data yang ada pada memori (SP+1) 21. Isi register IYL dengan data yang ada pada memori (SP+2) 22. SP yang baru adalah SP+2 23. Stop Tabel 2 Reg BC DE HL SP IX IY 198D 198E 198F 1990

Data c.

1963

1964

1995

1991

1800

1813

13

18

00

18

Operasi Pertukaran Data 16 bit : Program: 1. Isi register DE dengan 0101 2. Isi register HL dengan FFFF 3. Tukarkan register DE dengan register HL 4. Isi register BC dengan 0202 5. Isi register DE dengan 0303 6. Isi register A dengan register B 7. Tukarkan register AF dengan register alternatif AF 8. Isi register SP dengan 1990 9. Tukarkan memori (SP+1) dengan register H 10. Tukarkan memori (SP) dengan register L 11. Isi register IX dengan 0022 12. Isi register SP dengan 1992 13. Tukarkan memori (SP+1) dengan register IXH 14. Tukarkan memori (SP) dengan registerIXL 15. Stop