inter fase perangkat lunak





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

7. Contoh Soal [Kembali]

1. Untuk memasukkan nilai di dalam stack kemudian dimasukkan pada register tertentu merupakan fungsi dari perintah ...

a. PUSH
b. INT
c. INC
d.CMP
e. POP
Jawaban : a.PUSH
Pembahasan:
Fungsi perintah berikut.
PUSH : Memasukkan nilai register ke dalam STACK
POP : Mengeluarkan nilai dari STACK untuk dimasukkan ke register tertentu
CMP : Melakukan proses compile untuk nilai register/ membandingkan nilai register
INT : Untuk menampilkan isi register ke layar
INC : Untuk menambahkan satu digit ke dalam nilai register

2. Untuk Memindahkan nilai ke dalam register dengan angka hexa tertentu pada bahasa assembly menggunakan perintah...
a. PUSH
b. ADD
c.MOV
d. LOOP
e. DIV
Jawaban : c.MOV
Pembahasan : 
Fungsi perintah berikut.
LOOP : Mengulangi perintah
DIV : Melakukan operasi pembagian
PUSH ; Memasukkan nilai register ke dalam STACK
MOV : Memindahkan nilai ke dalam register
ADD : Menambahkan nilai ke dalam register 

Tidak ada komentar:

Posting Komentar