You are on page 1of 10

Dede Rahmadi 2009-31-178 TUGAS BARAK : Menu emu8086 : 1.

. Menu File: New boot Examples emu8086 Open Save Save As Print : Untuk membuat file baru dengan extensi com, exe, bin ataupun : Untuk membuka contoh-contoh mengenai bahasa assembly pada : Untuk membuka file yang ada dalam penyimpanan : Untuk menyimpan file program : Untuk menyimpan file dengan nama lain : Untuk mencetak program

Export to HTML: Untuk menyimpan file dalam format HTML Exit : Keluar dari program

2. Menu Edit Undo Redo Cut Copy Paste Select all Find Find next Replace Go to line Indent : Membatalkan perubahan yang dilakukan : Mengembalikan pembatalan yang dilakukan : Memotong atau memindahkan coding program : Menggandakan coding program : Meletakkan hasil dari copy coding program : Memilih semua : Temukan huruf atau kata tertentu dalam coding : Temukan selain dari yang ditemukan find : Mengganti suatu kata dengan kata lain : Menuju ke baris: Memberikan tabulasi

Dede Rahmadi 2009-31-178 Outdent : Membatalkan tabulasi yang diberikan

Comment block : Menjadikan coding yang di block menjadi tidak aktif Uncomment block : Menjadikan coding yang di block menjadi aktif kembali Advance editor macros : untuk melakukan pengeditan yang lebih lanjut Advance : Lebih lanjut mengenai edit

3. Menu Bookmarks Toogle bookmark : Untuk menandai suatu block tertentu

Previous bookmark : Untuk melihat bookmark atau yang ditandai sebelumnya Next bookmark Jumpt to first Jump to last :Untuk melihat bookmark selanjutnya :Untuk melompat atau berpindah ke awal coding :Untuk melompat atau berpindah ke akhir coding :Untuk membersihkan atau menghapus semua yang

Clear all bookmarks telah ditandai 4. Menu Assembler Compile

: Untuk meng-compile program

Compile and load in the emulator :Untuk meng-compile dan membuka program di emulator Fasm Set output directory... program di direktori 5. Menu Emulator Show emulator : Untuk menampilkan emulator : Untuk memasang & membuka program :Untuk : Untuk meletakkan penyimpanan file

Assemble and load in the emulator pada emulator 6. Menu Math Multi base calculator oktal dan hexa Base converter

: Untuk menampilkan kalkulator penjumlahan biner, : Untuk menampilkan ocnverter untuk 8 bit dan 16 bit

Dede Rahmadi 2009-31-178 7. Menu Ascii Codes Untuk menampilkan daftar atau tabel kode Ascii 8. Menu Help Documentation and tutorial emu8086 Check for an update... About digunakan New Open Examples Save Compile Emulate Calculator Convertor Options Help About Toolbox emu8086 : Untuk membuat file baru : Untuk membuka file : Untuk menampilkan contoh program : Untuk menyimpan program : Untuk meng-compile program : Untuk menjalankan emulator : Untuk menampilkan kalkulator penjumlahan biner, oktal dan hexa : Untuk menampilkan ocnverter untuk 8 bit dan 16 bit : Untuk merubah font,background jarak tabulasi dsb : Untuk menampilkan bantuan : Untuk menampilkan versi dari emu8086 : Untuk menampilkan dokumentasi dan tutorial : Untuk mengecek pembaharuan software : Untuk mengetahui versi dari emu8086 yang sedang

Dede Rahmadi 2009-31-178 Contoh program pada emu8086

name "STT-PLN JAKARTA" ; this example prints out "STT-PLN JAKARTA" ; by writing directly to video memory. ; in vga memory: first byte is ascii character, byte that follows is character attribute. ; if you change the second byte, you can change the color of ; the character even after it is printed. ; character attribute is 8 bit value, ; high 4 bits set background color and low 4 bits set foreground color.

; hex ; ;0 ;1 ;2 ;3 ;4 ;5 ;6 ;7 ;8 ;9 ;a ;b ;c

bin

color

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

black blue green cyan red magenta brown light gray dark gray light blue light green light cyan light red

Dede Rahmadi 2009-31-178 ;d ;e ;f 1101 1110 1111 light magenta yellow white

org 100h ; untuk memulai program pada alamat register 100h ; set video mode mov ax, 3 int 10h ; mengatur mode video

; resolusi text 80x25, 16 colors, 8 pages (ah=0, al=3) ; kerjakan perintah itu...

;membatalkan kelap-kelip text dan mengijinkan 16 colors: mov ax, 1003h mov bx, 0 int 10h

;untuk mengatur register segmen: mov mov ax, 0b800h ds, ax

; cetak STT-PLN JAKARTA ; byte pertama adalah kode ascii, byte kedua untuk kode warna.

mov [02h], 'S'; untuk mencetak huruf S pada register 02h mov [04h], 'T'; untuk mencetak huruf T pada register 04h mov [06h], 'T'; untuk mencetak huruf T pada register 06h mov [08h], '-'; untuk mencetak tanda- pada register 08h mov [0ah], 'P'; untuk mencetak huruf P pada register 0ah mov [0ch], 'L'; untuk mencetak huruf L pada register 0ch

Dede Rahmadi 2009-31-178

mov [0eh], 'N'; untuk mencetak huruf N pada register 0eh mov [10h], ' '; untuk mencetak spasi pada register 10h mov [12h], 'J'; untuk mencetak huruf J pada register 12h mov [14h], 'A'; untuk mencetak huruf A pada register 14h mov [16h], 'K'; untuk mencetak huruf K pada register 16h mov [18h], 'A'; untuk mencetak huruf A pada register 18h mov [1ah], 'R'; untuk mencetak huruf R pada register 1ah mov [1ch], 'T'; untuk mencetak huruf T pada register 1ch mov [1eh], 'A'; untuk mencetak huruf A pada register 1eh

; warna untuk semua karakter: mov cx, 15; jumlah karakter. mov di, 03h ; dimulai dari byte setelah 'h' c: mov [di], 11101100b ; light red(1100) on yellow(1110) add di, 2 ; lewati kode ascii selanjutnya di vga memori. loop c

; wait for any key press , tunggu perintah selanjutnya, seperti menutup program dsb mov ah, 0 int 16h ret ; hal ini hampir sama dengan fungsi getche pada pemrograman C

name "bcd_aaa" ; this example shows the use of aaa instruction (ascii adjust after addition).

Dede Rahmadi 2009-31-178 ; it is used to add huge bcd numbers.

org

100h; untuk memulai program pada alamat register 100h

; first number '9':,angka pertama adalah 9 mov ah, 09h; input angka 9 pada register ah

; second number '5':,angka kedua adalah 5 mov al, 05h; input angka 5 pada register al

; al = al + ah = ; = 09h + 05h = 0eh,=9h+5h = 14h al, ah; jumlahkan al+ah

add

; clear tens byte of bcd ; result:, hasilnya xor ah, ah

; adjust result to bcd form, tambahkan hasil ke dalam bentuk bcd ; ah = 1, al = 4 -> '14' aaa

; print the result:, cetak hasilnya

; store contents of, simpan pada ; ax register:, register ax mov dx, ax; nilai yang ada pada register ax yaitu 14 dipindahkan ke register dx

Dede Rahmadi 2009-31-178

; print first digit:, cetak digit pertama mov ah, 0eh ; pindahkan nilai 14 tadi ke register ah

; convert to ascii:,coding di bawah ini adalah perintah untukmengkonversi nilai tadi ke ascii or mov int dh, 30h;sebagai register yang menampung hasil al, dh;sebagai register yang menampung hasil 10h; cetak digit pertama

; print second digit:, cetak digit kedua ; convert to ascii:,sebagai register yang menampung hasil or mov int dl, 30h; sebagai register yang menampung hasil al, dl; sebagai register yang menampung hasil 10h; cetak digit kedua

; wait for any key press:, tunggu perintah selanjutnya, seperti menutup program dsb mov ah, 0 int 16h

ret ; return control to operating system.

name "bcd_aas" ; this is an example of aas instruction, ; it is used to subtract huge bcd numbers (binary coded decimals).

org

100h; untuk memulai program

Dede Rahmadi 2009-31-178 ; make 5 8 , kurangkan angka 5 dengan 8 ; al = 0fdh (not in binary coded decimal form) mov mov sub al, 05h; input angka 5 pada register al bl, 08h; input angka 8 pada register bl al, bl; al-bl

; convert to binary coded decimal, ; al = 7, nilai al=7 ; and 1 is borrowed from ah, like calculating 15 - 8:, angka 1 dipinjam dari register ah aas

; convert to printable symbol:,sebagai register yang menampung hasil or al, 30h

; print char in al using bios teletype function:,sebagai register yang menampung hasil mov int ah, 0eh 10h

; wait for any key press:, tunggu perintah selanjutnya, seperti menutup program dsb mov ah, 0 int 16h

Dede Rahmadi 2009-31-178 ret ; return control to operating system.

10

You might also like