Program Aplikasi Operasi String dengan LODSB & STOSB

Program  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. Komponen  [kembali]

  • EMU8086




EMU 8086

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:

  1. Emulate : untuk menjalankan emulator kode program yang kita buat
  2. Compile : untuk membuat (compile) “binary executable file” atau ekstensi “.com” atau “.exe” dari kode program.
  3. Run : menjalankan aplikasi dari emulator yang dihasilkan (execute).
  4. 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


4.  Rangkaian       [kembali]


 

5. Video     [kembali]

 

6. Download File       [kembali]

1. Download Program [klik] 

 

 


Lebih baru Lebih lama