Dropdown

Mikroprosessor & Mikrokontroller : Program Aplikasi Operasi String MOVSB



 Program Aplikasi Operasi String dengan MOVSB



PENJELASAN

MOVSB yang berguna untuk memindahkan suatu string dari posisi memory DS:[SI] ke posisi memory ES:[DI] sebanyak 1 byte setiap kali operasi. Setelah melakukan operasi tersebut, register DI dan SI akan bertambah atau berkurang satu secara otomatis.

1. Baris 1 menjelasankan tentang pernyataan pengcopyan string

2.Baris 2, JMP (Jump) merupakan perintah untuk melompati daerah program. Perintah JMP digunakan dengan syntax : JMP Tujuan, yang menjadi tujuannya adalah kata MULAI. Perintah JMP ini dikategorikan sebagai Unconditional Jump, karena perintah ini tidak menyeleksi keadaan apapun untuk melakukan suatu lompatan. Setiap ditemui perintah ini, lompatan pasti dilakukan.

3. Baris 3, DB (Define Byte) menyatakan bahwa data yang disimpan dapat dimodifikasi. DB berfunsgi sebagai register, yang mana fungsi register sendiri adalah sebagian memori dari mikroprosesor yang dapat diakses dengan kecepatan yang sangat tinggi.

4. Penulisan 12,?,12 DUP(?) pada baris ke 4 menyatakan bahwa :
    . 12 (nn) = jumlah karakter yang dapat dimasukkan sebanyak 12+1, yaitu 13 karakter yanng dimana 1 adalah tempat OD hexa.
     . ? = Indikator dari berapa banyak karakter yang dimasukkan (tidak dengan OD hexa). Tanda tanya (?) mengartikan bahwa satu byte memori yang tidak diisi.
      . 12 DUP(?) = berguna untuk menyatakan berapa tempat yang harus disediakan yaitu nn, 1 tempat kosong

5. Maksud dari MOV AH pada baris ke 8 adalah : MOV yang berarti pemindahan nilai, MOV AH, 09H berarti AH=09H.

6. Maksud dari MOV DX kata, pada baris ke 9 adalah : register untuk membaca isi data yang diberi label "kata"

7. Maksud dari INT pada baris ke 10 adalah : INT (Interrupt) merupakan suatu permintaan khusus kepada mikroprosesor untuk melakukan suatu perintah. INT 21H berfungsi menjalankan interupsi nomor 21. Interupsi ini akan mengerjakan sesuai dengan nilai service yang diisikan.

8. MOV AH,0AH pada baris 11 menyatakan bahwa mengisi data sebanyak 10 ke dalam register AH.

9. Pada baris ke 14 terdapat PUSH, yaitu merupakan operasi yang digunakan ketika hendak memasukkan register yang ada pada general purspose register (AX, BX, CX, DX) ke lokasi stack (bagian dari memori yang digunakan untuk menyimpan nilai dari register secara sementara). Sedangkan DS adalah Data Segment berfungsi untuk menampung kata yang akan dicetak.

10. Pada baris ke 15 terdapat POP, yang merupakan perintah yang digunakan untuk mengeluarkan data yang ada pada stack ke general purpose register untuk di eksekusi. Sedangkan ES adalah Extra Segment yang berfungsi untuk pemograman pada saat melakukan operasi ke segment lain.

11. INC SI mengartikan bahwa menambahkan SI dengan 1, sehingga totalnya mejadi 13 hexa.

12. XOR CH, CH mengartikan bahwa proses XOR terhadap CH yang hasilnya juga akan ditampung oleh CH.

13. CLD adalah perintah untuk menset direction flag menjadi 0 atau 1.

14. MOVSB berguna untuk memindahkan suatu string dan posisi memori DS:[SI] ke posisi memori ES:[DI] sebanyak 1 byte setiap kali operasi. Setelah melakukan operasi tersebut, register DI dan SI akan bertambah atau berkurang secara otomatis.


Setelah di running terjadi pengulangan kata sebanyak 2 kali.

FILE DOWNLOAD

FILE VIDEO : download
FILE PROGRAM : download




No comments:

Post a Comment