9:

50:

04

0

Mengenai : Pertemuan 5 (Membuat Program COM & Mencetak Huruf)

Type : Materi

Total : 1 Materi

Uploader : Christo Kevin

Editor : Marvin Launics Wenno, ST., MM

Jenis : PowerPoint 2016

Status : Completed

Dirilis : Senin, 16 September 2017

Jurusan : Teknik Elektro Komputer

Semester : Semester 3

Credits : Nyontek-Bareng


***Pengunjung yang baik, selalu meninggalkan jejak komentar :)***


Yo, kali ini mimin mau share materi ke 5 kita, sebenarnya materi ini sudah direquest oleh ibu Jovanka, tapi berhubung kemarin laptop mimin bermasalah, jadi tidak sempat post. Maaf ya terlambat postnya dan sekali lagi saya mengucapkan Terima Kasih sebesar-besarnya kepada mener Marvin W. yang sudah berbaik hati membuatkan materi untuk kita sekalian. Horas mener, ok kembali ke topik. Sekilas mengenai materi ini adalah materi yang membahas mengenai cara mencetak nama, sebenanya semester 2 sudah pernah didapat, tapi ini agak beda dari sebelumnya, jadi disimak ya :)

Baca juga : Materi sebelumnya mengenai Memulai dengan Assembly

Ok semoga apa yang mimin share ini bisa bermanfaat bagi para pembaca budiman yang setia :)

Perhatian : Kami tidak bertanggung jawab atas resiko segala jenis penyalahgunaan postingan dibawah ini! Mohon untuk tidak copas sembarangan

Mata Kuliah Tentang / Judul Dipersembahkan
Bahasa Rakitan Materi 5 Marvin Launics Wenno, ST., MM 

Download Link

BAHASA RAKITAN


REVIEW
  • TEXT EDITOR
  • COMPILER
  • LINKING
  • PERBEDAAN PROGRAM COM DAN EXE
  • LABEL
  • KOMENTAR
  • MOV
  • INT

PERTEMUAN 5.
MEMBUAT PROGRAM COM
MENCETAK HURUF



Model Program COM
Untuk membuat program .COM yang hanya menggunakan 1 segment, bisa anda buat dengan model program seperti gambar.
Bentuk yang digunakan disini adalah bentuk program yang dianjurkan (Ideal). Dipilihnya bentuk program ideal dikarenakan pertimbangan dari berbagai keunggulan bentuk program ideal ini seperti, prosesnya lebih cepat dan lebih mudah digunakan oleh berbagai bahasa tingkat tinggi yang terkenal (Turbo Pascal dan C).

Turbo Pascal dan C
---------------------------------------------------------------------------------------
.MODEL SMALL
.CODE

ORG 100H

Label1   : JMP Label2
                  +----------------------------------------+
                  |    TEMPAT DATA PROGRAM    |

                  +----------------------------------------+

Label2   : +----------------------------------------+
                 |   TEMPAT DATA PROGRAM    |

                +----------------------------------------+

                  INT 20H

END         Label1
------------------------------------------------------------------------------------------
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.

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.

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 saatprogram 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.

JMP
Perintah JMP(JUMP) ini digunakan untuk melompat menuju tempat yang ditunjukkan oleh perintah JUMP. Adapun syntaxnya adalah:
JUMP Tujuan .
Dimana tujuannya dapat berupa label seperti yang digunakan pada bagan diatas. Mengenai perintah JUMP ini akan kita bahas lebih lanjut nantinya.
Perintah JUMP yang digunakan pada bagan diatas dimaksudkan agar melewati tempat data program, karena jika tidak ada perintah JUMP ini maka data program akan ikut dieksekusi sehingga kemungkinan besar akan menyebabkan program anda menjadi Hang.

INT 20h
Perintah INT adalah suatu perintah untuk menghasilkan suatu interupsi dengan syntax:

Syntax
INT NoInt

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.

Mencetak Huruf
Bila dihasilkan interupsi 21h apa yangakan dikerjakan oleh komputer ?.
Jawabnya, ada banyak sekali kemungkinan.
Pada saat terjadi interupsi 21h maka pertama-tama yang dilakukan komputer adalah melihat isi atau nilai apa yang terdapat pada register AH.
Misalkan bila nilai AHadalah 2maka komputer akan mencetak sebuah karakter, berdasarkan kode ASCII yang terdapat pada register DL.
Bila nilai pada register AH bukanlah 2, pada saat dilakukan interupsi 21h maka yang dikerjakaan oleh komputer akan lain lagi.
Dengan demikian kita bisa mencetak sebuah karakter yang diinginkan dengan meletakkan angka 2 pada register AH dan meletakkan kode ASCII dari karakter yang ingin dicetak pada register DL sebelum menghasilkan interupsi 21h.

Mencetak Huruf dengan Interuksi 21h
;====================================;
; PROGRAM :             AO . ASM                           ;
; FUNGSI      :             MENCETAX RANTER      ;
                                    ‘M’ DENGAN INT 21         ;

;================================S’to=;

             . MODEL SHALL
             . CODE
             ORG 100h
Proses :
               MOV AH, 02h ; Nilai servis untuk mencetak karakter
               MOV DL, ‘M’ ; DL = Karakter ASCII yang akan dicetak
               INT 21h           ; Cetak Karakter !!

               INT 20h           ; Selesai ! kembali ke dos
END       Proses
Setelah program di atas kita ketik, compile-lah dengan menggunakan TASM.EXE dengan perintah :

Perintah TASM.EXE
C:\>tasm a0
Turbo Assembler Version 2.0 Copyright (c) 1988, 1990
Borland International

Assembling file:         a0.ASM
Error messages:          None
Warning messages:     None
Passes:                        1
Remaining memory:   306k


Perintah TASM.EXE
C:\>dir a0.*

Volume in drive C is S’to
Directory of C:\

A0              ASM                 506 08-14-94 3:56p
A0              OBJ                   179 08-14-94 11:24p
      2 file(s)                           685 bytes
                                             1,267,200 bytes free


File dengan Format Program COM
C:\>tlink/t a0
Turbo Link Version 3.0 Copyright (c) 1987, 1990
Borland International


C:\>tlink/t a0
Turbo Link Version 3.0 Copyright (c) 1987, 1990
Borland International


C:\>dir a0.*
Volume in drive C is S’to


Directory of C:\
A0          ASM        506        08-14-94 3:56p
A0          OBJ         179        08-14-94 11:26p
A0          MAP        229        08-14-94 11:26p
A0         COM        8            08-14-94 11:26p
             4 file(s)                   922 bytes
                                             1,266,176 bytes free

Setelah kedua proses itu selesai maka dihasilkanlah suatu program COM yang sudah siap untuk dijalankan. File-file yang tidak digunakan bisa anda hapus. Bila program dijalankan maka pada layar akan ditampilkan

Tampilan pada Layar
C:\>A0 A
   A
Kita lihat disini bahwa karakter yang tercetak adalah yang sesuai dengan kode ASCII yang ada pada register DL. Sebagai latihan cobalah anda ubah register DL dengan angka 65 yang merupakan kode ASCII karakter 'A'. Hasil yang didapatkan adalah sama.

THANKS!
Add Google Classroom
Bahasa Rakitan
fui6kml
       
 Mohon jangan asal copas tanpa meninggalkan komentar, like atau saran serta link sumbernya ya gais :)

Posting Komentar Disqus

 
Top