Pages

Tugas Praktikum XII



.model small ;data dan code yang digunakan program kurang dari 1 segmen atau 64KB
.code ;code segmen digunakan untuk menyimpan program yang nantinya akan dijalankan
org 100h ;program pada saat dijalankan ditaruh pada offset 100h (255) byte

TData: JMP Proses ;Lompat ke Proses
Kal DB 'LANG LING LUNG' ;Kalimat yang akan dicetak
Ganti DB 13,10,'$' ;Perintah ganti baris/break row
Stacks DW ? ; menyimpan nilai dari suatu register untuk sementara sebesar 2 Byte (DW=define word)
Proses:
LEA DX,Kal ;Load effective Address, register DX akan mencatat isi/nilai Kal
PUSH DX ;menyimpan data 1 word dari DX ke stack (SS:SP)

MOV AH,09 ;servis untuk mencetak kalimat
INT 21h ;cetak kalimat
LEA DX,Ganti ; ambil offset Ganti
INT 21h ;cetak kalimat

POP DX ;mengambil data dai stack dan disimpan ke DX
INT 21h ;cetak kalimat

Exit: INT 20h ;selesai, kembali ke DOS
END TData


Hasilnya kalimat  LANG LING LUNG akan dicetak 2x dengan ganti bais

Penjelasan dari koding diatas sebagai berikut: Kita menggunakan perintah PUSH, kita menyimpan nilai register DX pada stack, kemudian pada perintah POP kita mengambil keluar nilai yang disimpan tersebut dari stack. Pada program ini kita bisa lihat peran stack menggantikan variable untuk menyimpan nilai.

Read Users' Comments (0)

0 Response to "Tugas Praktikum XII"

Posting Komentar