Gambar 35 - Program Push dan Pop



1. Tujuan [kembali]

  1. Untuk mengetahui apa itu push dan pop
  2. Untuk mengetahui cara kerja push dan pop 

2. Dasar Teori [kembali]

OPERASI STACK
Stack adalah tempat peletakan sementara isi register.Stack pada file.COM terdapat diakhir segment dan ketika pertama kali dijalankan program penunjuk stack (SP) akan langsung ke byte terakhir dari segment.
Perintah Stack
Operasi stack mempunyai dua fungsi, yaitu fungsi untukmemasukkan isi suatu register/variabel ke stack yaitu PUSH[operand 16 bit]. seperti ditunjukkan pada gambar 32.

 

Untuk mengeluarkan isi register/variabel dari stack yaitu POP [Operand 16 bit]. seperti ditunjukkan pada gambar 33.Bila setelah itu dilakukan perintah PUSH CX dengan register CX berisikan angka 0007, maka terlihat di stack.

Bila perintah POP CX ditambahkan, keadaan stack akan kembali lagi pada tampilan stack yang pertama.Sedang pada saat melakukan POP lagi pada tampilan stack akan kosong dan tinggal angka 0000 yang merupakan awal stack, seperti ditunjukkan pada gambar 34.


3. Gambar Simulasi
 [kembali]
Program dengan Memanfaatkan Instruksi PUSH dan POP. Dimana pada baris MOV BL, DL diganti dengan PUSH DX dan baris MOV DL,BL diganti dengan POP DX. 

Soal: 1. Buatlah program untuk menampilkan angka 0 sampai 9

  

                2. Buatlah program untuk menampilkan huruf A sampai Z

 

4. Video Simulasi [kembali]

 

5. Penjelasan   [kembali]

1. Buatlah program untuk menampilkan angka 0 sampai 9 sebanyak 10 baris.

MOV AH, 02h        ;merupakan perintah untuk menggunakan register AH diberi nilai hea 02

MOV CX, 0Ah       ;merupakan perintah untuk menggcounter register CX dengan A hexa yang artinya pengulangan 10 kali

MOV DL, 30h        ;merupakan penampilkan pada layar 30 hexa yang artinya karakter 0

ulangi:

INT 21h                  ;merupakan perintah interrupt untuk mencetak huruf ke layar

PUSH DX               ;merupakan perintah untuk memasukkan isi register ke stack

MOV DL, 20h        ;merupakan perintah mengaplikasikan isi ke layar

INT 21h                  ;merupakan perintah interrupt untuk mencetak huruf ke layar

POP DX                 ;merupakan perintah Untuk mengeluarkan isi register/variabel dari stack

INC DL                  ;merupakan perintah DL + 1 yang artinya karakter berikutnya

LOOP ulangi         ;merupakan perintah program looping ke ulangi

MOV AH, 4CH     ;merupakan perintah mengisi register AH dengan nilai 4C

INT 21H                ;merupakan perintah akhiri program

 

2. Buatlah program untuk menampilkan huruf A sampai Z sebanyak 26 baris.

MOV AH, 02h          ;merupakan perintah untuk menggunakan register AH diberi nilai hea 02

MOV CX, 1Ah         ;merupakan perintah untuk menggcounter register CX dengan A hexa yang artinya pengulangan 26 kali

MOV DL, 41h          ;merupakan penampilkan pada layar 30 hexa yang artinya karakter A

ulangi:

INT 21h                    ;merupakan perintah interrupt untuk mencetak huruf ke layar

PUSH DX                 ;merupakan perintah untuk memasukkan isi register ke stack

MOV DL, 20h          ;merupakan perintah mengaplikasikan isi ke layar

INT 21h                    ;merupakan perintah interrupt untuk mencetak huruf ke layar

POP DX                   ;merupakan perintah Untuk mengeluarkan isi register/variabel dari stack

INC DL                    ;merupakan perintah DL + 1 yang artinya karakter berikutnya

LOOP ulangi            ;merupakan perintah program looping ke ulangi

MOV AH, 4CH        ;merupakan perintah mengisi register AH dengan nilai 4C

INT 21H                   ;merupakan perintah akhiri program

 

6. Link Download [kembali]

File program 0-9     Klik Disini

File program A-Z    Klik Disini

          File Video Simulasi = Klik Disini 

Tidak ada komentar:

Posting Komentar