Tugas 1. Teknik Interface (Perangkat Lunak) 






1. Teori  [kembali]

MEMBACA DAN MENULIS KE MEMORI Register-register yang dipakai adalah SI, DI, BX dan BP. Dari keempat register tersebut dapat dibagi menjadi tiga bagian pengalamatan yaitu : 
a. Base Addressing Mode:  [BX] dengan segment DS  [BP] dengan segment         SS  
b. Index Addressing Mode:    [SI] dengan segment DS  [DI] dengan segment DS c. Base Index Addressing Mode:     [BX + SI] dengan segment DS  [BX + DI]         dengan segment DS  [BP + SI] dengan segment SS  [BP + DI] dengan                segment SS
 Cara memakai register pembaca dan penulis langsung ke memori adalah : a)  Isikan ke dalam register bersangkutan [BX,BP,SI,DI] ofset dari tempat yang ingin dibaca.  Contoh : START: JMP MULAI KATA DB 'LOKASI YANG AKAN DIBACA' MULAI:  MOV BX,OFFSET KATA b)   Tentukan   register  tempat   mengisi   nilai   yang   ingin   ditulisi   atau tempat menampung hasil pembacaan.  Contoh :  MOV CL, [BX] ; Bila DS:BX merupakan offset "kata", maka isi register CL adalah ASCII dari huruf L atau 4CH. 
INPUT LEBIH DARI SATU KARAKTER   Gunakan Int 21 hexa service number (0A) hexa dengan ketentuan: 
1. Harus mendefinisikan sebuah variabel tempat menampung masukan dengan     tata penulisan: [label] db nn,mm,nn dup (?), dimana: 
    a) nn adalah jumlah terbanyak karakter yang dapat dimasukkan + 1, guna + 1         adalah untuk    tempat OD hexa (CR). 
    b) mm adalah indikator dari berapa banyak karakter yang dimasukkan (tidak         dengan OD hexa) . mm diisi secara otomatis oleh komputer setiap kali                 melakukan input, sehingga pada saat mendefinisikan variabel tempat                 menampung mm ini dapat dikosongkan dengan menggunakan tanda                 tanya (?) yang artinya satu byte memory yang tidak diisi. Jumlah                         maksimum mm adalah nn - 1.
     c) nn dup (?) berguna untuk menyatakan berapa tempat yang  harus                     disediakan yaitu nn * 1 tempat kosong, yang dapat diwakili dengan tanda             tanya (?). 
2.  DS:DX harus berisi segment dan offset awal variabel di atas. Contoh program menggunakan Int 21 hexa service 0A hexa ditunjukkan pada gambar 40.  
 
OPERASI STRING     
a. Peng-copy-an String dan Arah Proses Untuk melakukan peng-copy-an string, digunakan perintah Assambler yang bernama MOVS yang mempunyai dua besaran untuk perpindahan yaitu : 
1). 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 otomati. 

2). MOVSW yang berguna untuk memindahkan suatu string dari posisi memory       DS:[SI] ke posisi memory ES:[DI] sebanyak 1 word setiap kali operasi.               Setelah melakukan operasi tersebut, register DI dan SI akan bertambah              atau berkurang dua secara otomatis. Bila direction flag berisikan 0 akan              proses akan berlangsung ke bawah(ke arah memory yang lebih besar) dan       bila berisikan 1 maka proses akan berlangsung ke atas(ke arah memory              yang lebih kecil). Perintah-perintah untuk menset direction flag menjadi 0           atau 1 adalah 'CLD' dan 'STD' yang masing-masing berarti 'Clear Direction          Flag' dan 'Set Direction Flag'. 
 

 

2. Simulasi  [kembali]







3. Link Download [kembali]

4. Contoh Soal  [kembali] 

1) indikator dari berapa banyak karakter yang dimasukkan (tidak dengan OD hexa) adalah....
    a. mm                     b. nn dup
    c. nn                        d. MOV BX

    (JAWABAN "A")

 2) Untuk melakukan peng-copy-an string, digunakan perintah Assambler yang bernama...
    a. ADD                      b. ACALL
    c. MOVS                   d. DJNZ

    (JAWABAN "C")

      Tidak ada komentar:

      Posting Komentar

      ELEKTRONIKA    FALDO DEMI PRATAMA 1810952023 Dosen Pengampu :   Darwison, M.T. Referensi : a. Darwison, 2010, ”TEORI...