6.Program Mencetak Angka 1 Sampai 9 Dengan Perintah Add Pada Assembly

8
PROGRAM MENCETAK ANGKA 1 SAMPAI 9 DENGAN PERINTAH ADD PADA ASSEMBLY Assalamua'laikum wr.wb. baiklah kita akan membuat program mencetak angka 1 -9 dengan perintah add pada assembly Dasar Teori APA ITU MODEL SMALL ? Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk memory yang digunakan oleh program kita. Supaya lebih jelas model-model yang bisa digunakan adalah : TINY Jika program anda hanya menggunakan 1 segment seperti program COM. Model ini disediakan khusus untuk program COM. SMALL Jika data dan code yang digunakan oleh program kurang dari ukuran 1 segment atau 64 KB. MEDIUM Jika data yang digunakan oleh program kurang dari 64 KB tetapi code yang digunakan bisa lebih dari 64 KB. COMPACT Jika data yang digunakan bisa lebih besar dari 64 KB tetapi codenya kurang dari 64 KB. LARGE Jika data dan code yang dipakai oleh program bisa lebih dari 64 KB. HUGE jika data, code maupun array yang digunakan bisa lebih dari 64 KB. Mungkin ada yang bertanya-tanya mengapa pada program COM yang dibuat digunakan model SMALL dan bukannya TINY ? Hal ini disebabkan karena banyak dari compiler bahasa tingkat tinggi yang tidak bisa berkomunikasi dengan model TINY, sehingga kita menggunakan model SMALL sebagai pemecahannya.

description

assembly

Transcript of 6.Program Mencetak Angka 1 Sampai 9 Dengan Perintah Add Pada Assembly

Page 1: 6.Program Mencetak Angka 1 Sampai 9 Dengan Perintah Add Pada Assembly

PROGRAM MENCETAK ANGKA 1 SAMPAI 9 DENGAN PERINTAH ADD PADA ASSEMBLY

 Assalamua'laikum wr.wb.baiklah kita akan membuat program mencetak angka 1 -9 dengan perintah add pada assembly

Dasar TeoriAPA ITU MODEL SMALL ?

Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk memory yang digunakan oleh program kita. Supaya lebih jelas model-model yang bisa digunakan adalah :

  TINYJika program anda hanya menggunakan 1 segment seperti program COM. Model ini disediakan khusus untuk program COM.

  SMALLJika data dan code yang digunakan oleh program kurang dari ukuran 1 segment atau 64 KB.

  MEDIUMJika data yang digunakan oleh program kurang dari 64 KB tetapi code yang digunakan bisa lebih dari 64 KB.

  COMPACTJika data yang digunakan bisa lebih besar dari 64 KB tetapi codenya kurang dari 64 KB.

  LARGEJika data dan code yang dipakai oleh program bisa lebih dari 64 KB.

  HUGEjika data, code maupun array yang digunakan bisa lebih dari 64 KB.

 Mungkin ada yang bertanya-tanya mengapa pada program COM yang dibuat digunakan

model SMALL dan bukannya TINY ? Hal ini disebabkan karena banyak dari compiler bahasa tingkat tinggi yang tidak bisa berkomunikasi dengan model TINY, sehingga kita menggunakan model SMALL sebagai pemecahannya. APA ITU CODE?

Tanda directive ini digunakan untuk memberitahukan kepada assembler bahwa kita akan mulai menggunakan Code Segment-nya disini. Code segment ini digunakan untuk menyimpan program yang nantinya akan dijalankan. APA ITU ORG 100h ?

Pada program COM perintah ini akan selalu digunakan. Perintah ini digunakan untuk memberitahukan assembler supaya program pada saat dijalankan(diload ke memory) ditaruh mulai pada offset ke 100h(256) byte. Dapat dikatakan juga bahwa kita menyediakan 100h byte kosong pada saat program dijalankan. 100h byte kosong ini nantinya akan ditempati oleh PSP(Program Segment Prefix) dari program tersebut. PSP ini digunakan oleh DOS untuk mengontrol jalannya program tersebut. APA ITU PERINTAH MOV ?

Page 2: 6.Program Mencetak Angka 1 Sampai 9 Dengan Perintah Add Pada Assembly

Perintah MOV digunakan untuk mengcopy nilai atau angka menuju suatu register,variabel atau memory. Adapun syntax untuk perintah MOV ini adalah :MOV Tujuan,AsalSebagai contohnya : MOV AL,9 ; masukkan nilai 9 pada AL.MOV AH,AL ; nilai AL=9 dan AH=9MOV AX,9 ; AX=AH+AL hingga AH=0 dan AL:=9 

Pada baris pertama(MOV AL,9), kita memberikan nilai 9 pada register AL. Kemudian pada baris kedua(MOV AH,AL) kita mengcopykan nilai register AL untuk AH. Jadi setelah operasi ini register AL akan tetap bernilai 9, dan register AH akan sama nilainya dengan AL atau 9. Pada baris ketiga(MOV AX,9), kita memberikan register AX nilai 9. Karena AX terdiri atas AH dan AL, maka register AH akan bernilai 0, sedangkan AL akan bernilai 9.

 Perintah MOV akan mengcopykan nilai pada sumber untuk dimasukan ke Tujuan, nilai

sumber tidaklah berubah. Inilah sebabnya MOV(E) akan kita terjemahkan disini dengan mengcopy, dan bukannya memindahkan. APA ITU PERINTAH INT ?

Didalam pemrograman assambler, kita akan banyak sekali menggunakan interupsi untuk membantu kita dalam mengerjakan suatu pekerjaan. Untuk menghasilkan suatu interupsi digunakan perintah INT dengan syntax:INT NoInt

Dengan NoInt adalah nomor interupsi yang ingin dihasilkan. Sebagai contohnya bila kita ingin menghasilkan interupsi 21h, bisa dituliskan dengan: INT 21h, maka interupsi 21h akan segera terjadi.

Interupsi 20h berfungsi untuk mengakhiri program dan menyerahkan kendali sepenuhnya kepada Dos. Pada program COM cara ini bukanlah satu-satunya tetapi cara inilah yang paling efektif untuk digunakan. Bila anda lupa untuk mengakhiri sebuah program maka program anda tidak akan tahu kapan harus selesai, hal ini akan menyebabkan komputer menjadi hang. Untuk mencetak karakter kita bisa mengunakan interupsi 21h. Bila ingin mencetak karakter harus menggunakan register AH dengan nilai 2 yaitu nilai servis untuk mencetak karakter dan meletakkan kode ASCII dari karakter yang ingin dicetak pada register DL sebelum menghasilkan interupsi 21h.  Untuk mencetak karakter kita bisa mengunakan interupsi 21h. Bila ingin mencetak karakter harus menggunakan register AH dengan nilai 2 yaitu nilai servis untuk mencetak karakter dan meletakkan kode ASCII dari karakter yang ingin dicetak pada register DL sebelum menghasilkan interupsi 21h. APA ITU PERINTAH ADD ? 

Perintah ADD ini akan menambahkan nilai pada Tujuan dan Asal. Hasil yang didapat akan ditaruh pada Tujuan, dalam bahasa pascal sama dengan instruksi Tujuan:=Tujuan + Asal. 

Page 3: 6.Program Mencetak Angka 1 Sampai 9 Dengan Perintah Add Pada Assembly

Untuk menambah dalam bahasa assembler digunakan perintah ADD dan ADC serta INC. Perintah ADD digunakan dengan syntax : ADD Tujuan,Asal Sebagai contohnya : MOV AH,15h ; AH:=15h MOV AL,4 ; AL:=4 ADD AH,AL ; AH:=AH+AL, jadi AH=19h Dan

Mov ah,09h;nilai servis untuk mencetak karakterMov dl,’A’; cetak karakter AAdd dl,1;tambahkan karakter A+1 jadi B , dan seterusnya.

 

 Langsung saja ikuti langkah-langkah nya

1. panggil atau buka M-DOS ( command prompt ) dari menu start pada dekstop>pilih command prompt>lalu klik dua kali . atau jika belum punya Program Software asembly nya bisa sobat download terlebih dahulu disini downloadProgram Software assembly.

2.lalu akan muncul kotak dialog dari command prompt yang kita panggil tadi

Page 4: 6.Program Mencetak Angka 1 Sampai 9 Dengan Perintah Add Pada Assembly

 

3.buka lembar kerja pada command prompt dengan cara mengetikan edit pada kotak dialog cmd yg dipanggil tadi , lalu enter

 

4.maka akan muncul lembar kerja seperti ini

 

Page 5: 6.Program Mencetak Angka 1 Sampai 9 Dengan Perintah Add Pada Assembly

5.ketikkan program pada lembar kerja edit seperti pada gambar dibawah ini

6. Simpan Program yang telah sobat ketik pada folder assembly, disini saya menyimpannya dengan nama add1.asm (harus menggunakan Ekstensi .asm)

3. setelah disave , kemudian Panggil Comand Promptnya lalu Ketik D: ( atau jika sobat menyimpan program nya di  disk C maka Ketik C: ) , lalu enter

4. ketik Cd Assembly ( atau folder folder tempat menyimpan program assembly) , Lalu Enter

5.ketik Cd Asm ( atau folder folder tempat menyimpan program assembly) , Lalu Enter

Page 7: 6.Program Mencetak Angka 1 Sampai 9 Dengan Perintah Add Pada Assembly

angka 1 sampai 9 berhasil di cetak . semoga bermanfaat :-) File ini bisa sobat download disini : Download Program Mencetak angka 1-9 pada assembly Semoga bermanfaat )) jangan lupa untuk memberikan + pada materi ini dan blognya ))Tunggu terus sob postingan selanjutnya ))Jazzakumullah khoiron katsiron , nun walqolami wama yasturun , Wassalamua’laikum wr.wb ))