Perintah-perintah Transfer Data
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