94960865-tugas-barak

10
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

Upload: vetank

Post on 15-Oct-2015

10 views

Category:

Documents


0 download

DESCRIPTION

94960865-TUGAS-BARAK94960865-TUGAS-BARAK

TRANSCRIPT

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