Anda di halaman 1dari 15

Operasi Data Stack

Email : salahuddin_ali@ymail.com @y salahuddin.ali00@gmail.com Web Site : www.salahuddinali.com

Mikroprosessor 8085A mempunyai sifat penumpukan data dengan system LIFO (Last In First Out). Stack digunakan untuk menyimpan alamat kembali (return) dari subroutine dan juga penyimpanan data untuk sementara waktu. Agar programer mengetahui lokasi Stack penyimpanan data maka perlu alamat Stack tersebut ditandai terlebih dahulu. Penandaan ini dil k dilaksanakan k d dengan mengisi i i SP (St (Stack k P Pointer). i t ) Instruksi yang berhubungan dengan Stack ini , POP, , XTHL. POP membaca data dari adalah PUSH, Stack, dan XTHL adalah mempertukarkan isi Register HL dengan isi Stack yang ditunjuk oleh SP.

PUSH PSW F5 Isi Reg. A dan Flag disimpan pada stack PUSH B C5 Isi pasangan Reg. BC disimpan pada stack PUSH D D5 Isi pasangan Reg. DE disimpan pada stack PUSH H E5 Isi pasangan Reg. HL disimpan pada stack POP PSW F1 data pada stack diambil kembali dan dimasukkan POP B C1 data pada stack diambil kembali dan dimasukkan POP D D1 data pada stack diambil kembali dan dimasukkan POP H E1 ; data pada stack diambil kembali dan dimasukkan XTHL E3 ; isi Reg. HL saling dipertukarkan dengan data stack.

ke Reg. A dan Flag. ke Reg. BC ke Reg. DE ke Reg Reg. HL yang terdapat pada

Bila register SP diisi dengan 9003(H) dan pasangan register DE berisi data 1234(H). Instruksi st u s PUSH US membuat e buat isi s SP S dikurangi d u a g satu (SP-1 = 9002) dan 12(H) dari Reg. D disimpan pada memori 9002. Kemudian isi SP dikurangi satu lagi (SP2=9001) dan kemudian data 34(H) dari Reg. E disimpan di i pada d memory 9001 9001, sedangkan isi alamat 9003 sampai 9004 d i dan isi i register i t t tetap. t

Bila isi SP tidak berubah dari saat instruksi PUSH (SP=9001). Data dari Stack alamat 9001 diambil kembali dan dimasukkan ke Register E setelah itu isi SP ditambah satu (SP+1=9002(H)), k kemudian di i isi i alamat l t 9002(H) di dimasukkan kk ke register D selanjutnya l j isi i i SP ditambah di b h satu lagi l i (SP+2=9003(H)).

Instruksi ini meng meng-exchange exchange isi pasangan Register HL dengan data yang ada pada stack. stack C t h: Contoh
Data 1000 (H) di push pada stack dan HL berisi 2000 (H) (H), maka setelah instruksi XTHL akan mengakibatkan kedua data ini diexchage, sehingga HL berisi 1000 (H) dan stack berisi 2000 (H).

Instruksi Miscelleneous adalah instruksi yang tidak termasuk kepada kelompok sebelumnya. Instruksi-instruksi ini seperti yang terdapat pada table.

Assembly Machine Comment IN p8 DB p8 ; Baca data yang ada pada Port p8 dan OUT p8 D3 p8 beralamat p8 p SPHL F9 Pointer (SP) XCHG EB
simpan di Acc. Acc

; Keluarkan isi Acc ke Port ; data Reg. HL diberikan pada Stack ; HL d dan DE saling li di dipertukarkan t k k

Instruksi IN dan OUT berfungsi untuk berhubungan dengan g peralatan p input/output. p p Instruksi IN dan OUT diikuti dengan alamat input output yang akan dituju. Pada saat mikroprosessor melaksanakan instruksi IN atau OUT saluran alamat byte rendah dan byte tinggi sama yaitu berisiskan alamat input/output yang dituju, dituju jadi untuk mendekodekan alamat input/output dapat diambil dari saluran alamat tinggi atau alamat rendah. Jadi lokasi alamat input/output yang dapat diakses maksimum 256 256. Instruksi OUT 20H menyebabkan isi akkumulator dikeluarkan ke port yang beralamat 20H dan i t k i IN 21H menyebabkan instruksi b bk d data t pada d port t yang beralamat 21H masuk pada akkumulator.

Instruksi ini berguna untuk membebani Stack Pointer dengan isi pasangan register HL. Instruksi SPHL ini hanya 1 byte (OpC d saja). Code j ) Instruksi ini sering digunakan untuk menandai Stack Pointer untuk menggantikan instruksi LXI SP.
Misalnya sebelum instruksi SPHL ini isi Stack P i Pointer (SP) adalah d l h 0008 (H) d dan pasangan register HL berisi 7008 (H). Setelah instruksi ini j microprocessor p maka Stack Pointer dikerjakan akan berisi 7008 (H).

Instruksi ini berfungsi untuk mengexchange isi pasangan register HL dengan pasangan register DE. DE Anggap sebelum instruksi XCHG isi pasangan register HL = 5643 (H) (H), DE = 7613 (H), maka setelah instruksi XCHG dikerjakan mikroprosessor maka isi pasangan register HL = 7613 (H) d dan DE = 5643 (H) (H).

Assembly Machine LXI D, 1200 (H) 11-00-12 LXI H, H 1000 (H) 21 21-00-10 00 10 MOV A, M 7E XCHG EB dipertukarkan. MOV B, M 46 MOV M, A XCHG MOV M, B 1000H. 77 EB 70
Accumulator.

Comment ; Tanda untuk alamat 1200 (H) ; Tanda T d untuk t k alamat l t 1000 (H) ; Data dari alamat 1000 (H) dimasukkan ke ; Tanda untuk alamat saling ; ; ; ; ; ; ; Isi alamat 1200 (H) dimasukkan ke register B Isi alamt 1000 (H) dimasukkan ke alamat 1200 (H). Tanda dipertukarkan kembali kembali. Isi alamat 1200 (H) yang pertama dimasukkan ke alamat memori

Sebutkan 5 jenis instruksi pada Mikroprosessor 8085 menurut fungsinya. Sebutkan dan jelaskan Mode Pengalamatan pada Mikroprosessor 8085 serta berikan contohnya. Isilah alamat, Op-Code dan comment pada table berikut sesuai dengan Instruksi pada i t k i set instruksi t CPU 8085. 8085