Gambar 41. Program dengan MOVSB


[menuju akhir]


1.Tujuan[kembali]

  • Memahami cara kerja MOVSB

2. Alat dan Bahan [kembali]





4.Percobaan [kembali]


  • PENJELASAN :

    1. Baris 1: Penjelasan Tentang Pengcopyan String

    MOVSB adalah instruksi yang berguna untuk memindahkan sebuah string dari posisi memori DS:[SI] ke posisi memori ES:[DI] sebanyak 1 byte setiap kali operasi. Setelah operasi tersebut, register SI dan DI akan bertambah atau berkurang 1 secara otomatis, tergantung pada flag direction (DF).


    2. Baris 2: Penjelasan JMP (Jump)

    JMP adalah perintah untuk melompati bagian dari program. Perintah JMP digunakan dengan sintaks: `JMP Tujuan`, di mana "Tujuan" adalah label yang dituju, misalnya "MULAI". JMP merupakan perintah "Unconditional Jump" karena tidak mempertimbangkan kondisi apa pun; lompatan akan selalu dilakukan setiap kali perintah ini dijalankan.


    3. Baris 3: Penjelasan DB (Define Byte)

    DB (Define Byte) digunakan untuk mendefinisikan byte dalam memori yang dapat dimodifikasi. DB berfungsi sebagai penanda untuk menyimpan data, di mana data ini disimpan dalam memori mikroprosesor yang dapat diakses dengan sangat cepat.


    4. Baris 4: Penjelasan 12,?,12 DUP(?)

    - `12` (nn) menunjukkan jumlah karakter yang dapat dimasukkan, yaitu 12 + 1 = 13 karakter (1 karakter tambahan untuk OD hexa).

    - `?` menunjukkan byte memori yang tidak diinisialisasi.

    - `12 DUP(?)` digunakan untuk menyatakan alokasi memori sebanyak nn, dengan 1 tempat kosong.


    5. Baris 8: Penjelasan MOV AH

    MOV adalah instruksi untuk memindahkan nilai. `MOV AH, 09H` berarti mengisi register AH dengan nilai 09H.


    6. Baris 9: Penjelasan MOV DX

    `MOV DX, kata` adalah instruksi untuk memindahkan nilai dari label "kata" ke register DX.


    7. Baris 10: Penjelasan INT

    INT (Interrupt) adalah permintaan khusus kepada mikroprosesor untuk menjalankan perintah tertentu. `INT 21H` menjalankan interupsi nomor 21, yang melaksanakan tugas sesuai nilai service yang diisikan.


    8. Baris 11: Penjelasan MOV AH, 0AH

    `MOV AH, 0AH` mengisi register AH dengan nilai 0AH.


    9. Baris 14: Penjelasan PUSH

    PUSH adalah instruksi yang digunakan untuk memasukkan nilai dari general-purpose register (AX, BX, CX, DX) ke dalam stack, yaitu area memori yang digunakan untuk menyimpan nilai register sementara. `PUSH DS` menyimpan nilai dari segmen data (DS).


    10. Baris 15: Penjelasan POP

    POP adalah instruksi untuk mengeluarkan data dari stack kembali ke general-purpose register untuk dieksekusi. `POP ES` mengeluarkan nilai dari stack ke register ES (Extra Segment) yang digunakan saat mengakses segmen lain dalam memori.


    11. Baris 16: Penjelasan INC SI

    `INC SI` menambahkan nilai 1 ke register SI.


    12. Baris 17: Penjelasan XOR CH, CH

    `XOR CH, CH` melakukan operasi XOR antara register CH dengan dirinya sendiri, yang hasilnya selalu 0. Ini digunakan untuk menginisialisasi CH ke 0.


    13. Baris 18: Penjelasan CLD

    CLD (Clear Direction Flag) adalah perintah untuk mengatur Direction Flag (DF) menjadi 0, yang memastikan bahwa register SI dan DI akan bertambah setelah setiap operasi string.


    14. Baris 19: Penjelasan MOVSB

    MOVSB digunakan untuk memindahkan satu byte dari posisi memori DS:[SI] ke posisi memori ES:[DI]. Setelah operasi ini, register SI dan DI akan bertambah atau berkurang secara otomatis, tergantung pada Direction Flag (DF).

Output : 


VIDEO PENJELASAN


5.Download File [kembali]

Download HTML [klik]
Download File Simulasi [klik]
Download Video Penjelasan [klik]
    





[menuju awal]

 

Tidak ada komentar:

Posting Komentar

     BAHAN PRESENTASI     MATA KULIAH SISTEM DIGITAL 2024 Oleh Rifqa Sakhia 2210951018 DOSEN PENGAMPU DR. DARWISON, M.T. Referensi  a.Anil K...