Program Aplikasi Operasi String dengan LODSB & STOSB
Program Aplikasi Operasi String
dengan LODSB & STOSB
1. Tujuan [Kembali]
- Memahami Penggunaan EMU 8086
- Mempelajari Cara meletakan dan mengambil string
- Implementasi operasi string dengan LODSB & STOSB
2. Alat dan Bahan [Kembali]
- · EMU8086
EMU8086 - MICROPROCESSOR EMULATOR adalah emulator
gratis untuk banyak platform. Ini menyediakan pengguna dengan kemampuan untuk
meniru prosesor 8086 lama, yang digunakan dalam komputer Macintosh dan Windows
dari tahun 1980-an dan awal 1990-an. Ini dapat meniru sejumlah besar perangkat
lunak yang digunakan pada mikroprosesor ini, tetapi pengguna yang cerdas juga
dapat memprogram kode assembly mereka sendiri untuk berjalan di atasnya.
EMU8086 - MICROPROCESSOR EMULATOR mengutamakan
prosesor, bukan fungsi lain yang dimiliki oleh mikrokomputer yang menjalankan
prosesor 8086. Namun, masih berfungsi banyak fungsi yang sama yang emulator
untuk mikrokomputer yang lebih spesifik mungkin, dan lebih banyak lagi. Sebagai
contoh, baik NEC-P9801 dan komputer IBM-kompatibel awal menggunakan 8086.
Menggunakan EMU8086, seseorang mungkin dapat menulis perangkat lunak perakitan
yang dapat berjalan di salah satu perangkat tersebut. Di sisi lain, EMU8086 tidak
dapat mengakses beberapa fungsionalitas perangkat keras yang lebih canggih yang
mungkin Anda temukan di monitor atau komponen lain dari perangkat tersebut.
3. Dasar Teori [Kembali]
Emu8086 merupakan aplikasi emulator bagi pemrograman
bahasa assembler atau mikrokontroler. Dengan menggunakan aplikasi emulator,
kita dapat mensimulasikan apakah program kontrol hardware yang kita buat sudah
benar atau masih salah.
Dalam “emu8086” terdapat beberapa menu, antara lain:
- Emulate
: untuk menjalankan emulator kode program yang kita buat
- Compile
: untuk membuat (compile) “binary executable file” atau ekstensi “.com”
atau “.exe” dari kode program.
- Run
: menjalankan aplikasi dari emulator yang dihasilkan (execute).
- Single
Step : Menjalankan aplikasi dengan cara tracing (diproses perbaris kode
program).
Memulai pemrograman bahasa Assembler terdiri dari
beberapa kode operasi code (op code) dan pseudo ops. Bentuk instruksinya adalah
op code diikuti operand. Opcode adalah perintah yang akan dilaksanakan,
sedangkan operand dpaat terdiri dari sumber (source) dan tujuan (destination).
Misal : MOV AX,BX
Opcode dari contoh di atas adalah MOV, sedangkan
operandnya adalah AX, BX. Maksud kode di atas adalah perintah untuk menyalin
data yang ada di register BX (source operand) ke register AX (destination
operand).
Pseucode operation
(pseudo ops) adalah perintah kepada assembler untuk memberitahukan apa yang
harus dilakukan terhadap data, percabangan bersyarat, perintah macro dan
listing. Beberapa pseudo ops yang sering dijumpai adalah sebagai berikut :
Untuk menjalankan
Klik “compile” kemudian pilih lokasi di mana file executable akan
disimpan, lalu “single step”, sehingga hasilnya akan terlihat seperti dibawah
ini :
Contoh operasi
penambahan dan pengurangan bahasa assembler menggunakan "Emu8086"
Untuk menjalankan
Klik “compile” kemudian pilih lokasi di mana file executable akan
disimpan, lalu “single step”, atau bisa langsung "Run" sehingga
hasilnya akan terlihat seperti dibawah ini :
Hasil program penambahan dan pengurangan
Penjelasan
MULAI: MOV AX,469
;Perintah untuk memasukkan nilai 469 ke
register AX
XOR CX,CX
; Perintah melakukan logika XOR register
CX dengan register
CX agar nilai dalam
register CX dapat direset, CX=0
ULANG1: MOV BH,10
; Perintah untuk memasukkan nilai
10 ke register BH
DIV
BH ;
Perintah untuk membagi nilai pada register AX dengan nilai
pada register BH
PUSH AX
; Perintah untuk
memasukkan nilai register AX ke STACK
INC
CX
; Perintah untuk
melakukan increment pada register CX atau
menambahkan satu kepada register CX
XOR
AH,AH
; Perintah untuk melakukan logika XOR register AH
dengan
register AH agar nilai dalam
register AH dapat direset, AH=0
CMP
AL,00
; Perintah untuk compile nilai register AL, apakah
AL=0 atau tidak.
JNE
ULANG1
; Perintah untuk lompat ke ULANG1 apabila nilai
register
tidak sama, apabila sama maka
program dilanjutkan ke Ulang2
Ulang2: pop dx
; Perintah untuk mengeluarkan isi register dari STACK
menjadi register dx
mov
dl,dh
; Perintah untuk
memindahkan nilai dh ke dl atau memindahkan
nilai sisa
add
dl,30h
; Perintah untuk menambahkan 30hexa ke
dalam register dl
mov
ah,02
; Perintah untuk memindahkan nilai 02 ke
dalam register ah
int
21h
; Perintah untuk
menampilkan isi register ke layar
Loop ulang2
; Perintah untuk melakukan looping ke ulang2
MOV
AH,4CH
; Perintah untuk memindahkan nilai 4Chexa ke register AH
int
21h
; Akhir program
Komentar
Posting Komentar