94960865-tugas-barak
DESCRIPTION
94960865-TUGAS-BARAK94960865-TUGAS-BARAKTRANSCRIPT
-
Dede Rahmadi
2009-31-178
1
TUGAS BARAK :
Menu emu8086 :
1. Menu File:
New : Untuk membuat file baru dengan extensi com, exe, bin ataupun
boot
Examples : Untuk membuka contoh-contoh mengenai bahasa assembly pada
emu8086
Open : Untuk membuka file yang ada dalam penyimpanan
Save : Untuk menyimpan file program
Save As : Untuk menyimpan file dengan nama lain
Print : Untuk mencetak program
Export to HTML: Untuk menyimpan file dalam format HTML
Exit : Keluar dari program
2. Menu Edit
Undo : Membatalkan perubahan yang dilakukan
Redo : Mengembalikan pembatalan yang dilakukan
Cut : Memotong atau memindahkan coding program
Copy : Menggandakan coding program
Paste : Meletakkan hasil dari copy coding program
Select all : Memilih semua
Find : Temukan huruf atau kata tertentu dalam coding
Find next : Temukan selain dari yang ditemukan find
Replace : Mengganti suatu kata dengan kata lain
Go to line : Menuju ke baris-
Indent : Memberikan tabulasi
-
Dede Rahmadi
2009-31-178
2
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 :Untuk melihat bookmark selanjutnya
Jumpt to first :Untuk melompat atau berpindah ke awal coding
Jump to last :Untuk melompat atau berpindah ke akhir coding
Clear all bookmarks :Untuk membersihkan atau menghapus semua yang
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 :Untuk
Set output directory... : Untuk meletakkan penyimpanan file
program di direktori
5. Menu Emulator
Show emulator : Untuk menampilkan emulator
Assemble and load in the emulator : Untuk memasang & membuka program
pada emulator
6. Menu Math
Multi base calculator : Untuk menampilkan kalkulator penjumlahan biner,
oktal dan hexa
Base converter : Untuk menampilkan ocnverter untuk 8 bit dan 16 bit
-
Dede Rahmadi
2009-31-178
3
7. Menu Ascii Codes
Untuk menampilkan daftar atau tabel kode Ascii
8. Menu Help
Documentation and tutorial : Untuk menampilkan dokumentasi dan tutorial
emu8086
Check for an update... : Untuk mengecek pembaharuan software
About : Untuk mengetahui versi dari emu8086 yang sedang
digunakan
Toolbox emu8086
New : Untuk membuat file baru
Open : Untuk membuka file
Examples : Untuk menampilkan contoh program
Save : Untuk menyimpan program
Compile : Untuk meng-compile program
Emulate : Untuk menjalankan emulator
Calculator : Untuk menampilkan kalkulator penjumlahan biner, oktal dan hexa
Convertor : Untuk menampilkan ocnverter untuk 8 bit dan 16 bit
Options : Untuk merubah font,background jarak tabulasi dsb
Help : Untuk menampilkan bantuan
About : Untuk menampilkan versi dari emu8086
-
Dede Rahmadi
2009-31-178
4
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 bin color
;
; 0 0000 black
; 1 0001 blue
; 2 0010 green
; 3 0011 cyan
; 4 0100 red
; 5 0101 magenta
; 6 0110 brown
; 7 0111 light gray
; 8 1000 dark gray
; 9 1001 light blue
; a 1010 light green
; b 1011 light cyan
; c 1100 light red
-
Dede Rahmadi
2009-31-178
5
; d 1101 light magenta
; e 1110 yellow
; f 1111 white
org 100h ; untuk memulai program pada alamat register 100h
; set video mode ; mengatur mode video
mov ax, 3 ; resolusi text 80x25, 16 colors, 8 pages (ah=0, al=3)
int 10h ; kerjakan perintah itu...
;membatalkan kelap-kelip text dan mengijinkan 16 colors:
mov ax, 1003h
mov bx, 0
int 10h
;untuk mengatur register segmen:
mov ax, 0b800h
mov 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
6
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
7
; 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
add al, ah; jumlahkan al+ah
; 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
8
; 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 dh, 30h;sebagai register yang menampung hasil
mov al, dh;sebagai register yang menampung hasil
int 10h; cetak digit pertama
; print second digit:, cetak digit kedua
; convert to ascii:,sebagai register yang menampung hasil
or dl, 30h; sebagai register yang menampung hasil
mov al, dl; sebagai register yang menampung hasil
int 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
9
; make 5 8 , kurangkan angka 5 dengan 8
; al = 0fdh (not in binary coded decimal form)
mov al, 05h; input angka 5 pada register al
mov bl, 08h; input angka 8 pada register bl
sub 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 ah, 0eh
int 10h
; wait for any key press:, tunggu perintah selanjutnya, seperti menutup program
dsb
mov ah, 0
int 16h
-
Dede Rahmadi
2009-31-178
10
ret ; return control to operating system.