halaman

Minggu, 03 Mei 2020

Program Konversi Bilangan Desimal ke Oktal


Assembly


TUJUAN
Tujuannya antara lain sebagai berikut:
•Mengenal skema program konversi bilangan decimal ke octal dengan ASSAMBLY
•Mengenal komponen-komponen apa saja yang ada di assembly
•Membuat program sederhana
Elemen Kompetensi
Deskripsi: Membuat program konversi bilangan decimal ke octal dengan bahasa assembly
Kompetensi Dasar : Dapat membuat program konversi bilangan decimal ke octal dengan bahasa assembly dan TASM
Langkah-langkah :
Ketik source code di notepad
Source code konversi bilangan decimal ke oktal
prnstr macro msg
    mov ah, 09h
    lea dx, msg
    int 21h
    endm
   
data segment
    buf1 db "Masukkan Angka Decimal: $"
    buf2 db 0ah,"Bukan Angka Decimal...$"
    buf3 db 0ah,"Konversi decimal ke oktal:$"
    buf4 db 6
        db 0
        db 6 dup(0)
    multiplier db 0ah
data ends

code segment
     assume cs:code,ds:data
start:
    mov ax,data
    mov ds,ax
    mov es,ax
   
    prnstr buf1
   
    mov ah, 0ah
   
    lea dx,buf4
    int 21h
   
    mov si,offset buf4+2
    mov cl,byte ptr [si-1]
    mov ch, 00h
subtract:
    mov al,byte ptr [si]
    cmp al, 30h
    jnb cont1
    prnstr buf2
    jmp stop
cont1 :
    cmp al, 3ah
    jb cont2
    prnstr buf2
    jmp stop
cont2 :
    sub al, 30h
    mov byte ptr [si], al
   
    inc si
    loop subtract
   
    mov si, offset buf4+2
    mov cl, byte ptr [si-1]
    mov ch, 00h
    mov ax, 000h
calc :
    mul multiplier
    mov bl, byte ptr [si]
    mov bh, 00h
    add ax, bx
    inc si
    loop calc
   
    mov si, offset buf4+2
    mov bx, ax
    mov dx, 0000h
    mov ax, 8000h
convert :
    mov cx, 0000h
conv :
    cmp bx, ax
    jb cont3
    sub bx, ax
    inc cx
    jmp conv
cont3 :
    add cl,30h
    mov byte ptr [si], cl
    inc si
    mov cx, 0008h
    div cx
    cmp ax, 0000h
    jnz convert
   
    mov byte ptr [si],'$'
    prnstr buf3
    prnstr buf4+2
stop :
    mov ax, 4c00h
    int 21h
code ends
    end start


source code konversi bilangan decimal ke biner
prnstr macro msg
    mov ah, 09h
    lea dx, msg
    int 21h
    endm
   
data segment
    buf1 db "Masukkan Angka Decimal: $"
    buf2 db 0ah,"Bukan Angka Decimal...$"
    buf3 db 0ah,"Konversi decimal ke biner:$"
    buf4 db 6
        db 0
        db 6 dup(0)
    multiplier db 0ah
data ends

code segment
     assume cs:code,ds:data
start:
    mov ax,data
    mov ds,ax
    mov es,ax
   
    prnstr buf1
   
    mov ah, 0ah
    lea dx,buf4
    int 21h
   
    mov si,offset buf4+2
    mov cl,byte ptr [si-1]
    mov ch, 00h
subtract:
    mov al,byte ptr [si]
    cmp al, 30h
    jnb cont1
    prnstr buf2
    jmp stop
cont1 :
    cmp al, 3ah
    jb cont2
    prnstr buf2
    jmp stop
cont2 :
    sub al, 30h
    mov byte ptr [si], al
   
    inc si
    loop subtract
   
    mov si, offset buf4+2
    mov cl, byte ptr [si-1]
    mov ch, 00h
    mov ax, 000h
calc :
    mul multiplier
    mov bl, byte ptr [si]
    mov bh, 00h
    add ax, bx
    inc si
    loop calc
   
    mov si, offset buf4+2
    mov bx, ax
    mov dx, 0000h
    mov ax, 8000h
convert :
    mov cx, 0000h
conv :
    cmp bx, ax
    jb cont3
    sub bx, ax
    inc cx
    jmp conv
cont3 :
    add cl,30h
    mov byte ptr [si], cl
    inc si
    mov cx, 0002h
    div cx
    cmp ax, 0000h
    jnz convert
   
    mov byte ptr [si],'$'
    prnstr buf3
    prnstr buf4+2
stop :
    mov ax, 4c00h
    int 21h
code ends
    end start

Kemudian Save As dengan Format ASM


Buka command prompt lalu ketik CD C:\TASM\BIN.Tekan enter


Ketik TASM PROYEK\CONVERT.ASM lalu enter


Sesudah itu ketik TLINK CONVERT.OBJ lalu tekan enter


Ketik CONVERT.EXE,lalu enter.Masukan nilai decimal yang akan dikonversi ke octal lalu tekan enter


Ketik CONVERT.EXE,lalu enter.Masukan nilai decimal yang akan dikonversi ke biner lalu tekan enter



TEORI SINGKAT
Sekilas Bahasa Assembly
Bahasa Assembly adalah bahasa yang memudahkan pemahaman bagian computer yang paling rendah, mendekati mesin. Bahasa assembly sebaiknya dipelajari secara kontektual sehingga interaksi perangkat keras dan perangkat lunak computer mungkin lebih mudah dipahami.
Bahasa assembly adalah bahasa pemrograman dengan korespondensi satu-satu antara perintah-perintah/pertanyaannya dan bahasa mesin computer. Bahasa assembly tidak satu jenis sebagaimana CPU computer yang bermacam-macam. Setiap bahasa assembly secara langsung dipengaruhi oleh set intruksi mesin computer dan arsitektur perangkat keras.
Misalnya, bahasa assembly IBM-PC adalah bahasa assembly yang mengacu pada instruksi-instruksi yang dikenali oleh keluarga mikroprosesor intel 8086-80486.

Apa itu assembler?
Assembler adalah program yang mengonversi kode program sumber ke dalam bahasa mesin
Terdapat dua assembler yang dikenal baik untuk IBM-PC , yaitu MASM (Microsoft Assembler) dan TASM (Turbo Assembler).
Bahasa assembly disebut bahasa level-bawah karena dalam struktur dan fungsi dekat dengan bahasa mesin. Sebaliknya, bahasa tingkat tinggi seperti Pascal, Basic, Fortran, dan Cobol mempunyai perintah-perintah yang andal yang diterjemahkan ke dalam berbagai instruksi mesin oleh compiler.


LAB SETUP
-PC
Tabel Checlist
No
Elemen Kompetensi
checlist
1.
Membuat program konversi bilangan decimal ke bilangan octal dengan bahasa assembly
ü

Kesimpulan.
Disini akan dijelaskan bagaimana perangkat keras computer dan sistem operasi bekerja sama dan bagaimana program aplikasi berkomunikasi dengan system operasi. Untuk memahami keseluruhan computer dan system informasinya, seseorang perlu memahami perangkat lunak pada berbagai level. Level pertama adalah program aplikasi. Dalam level ini program berinteraksi dengan DOS. Pada level bahasa tingkat tinggi, perintah /pernyataan yang andal diuraikan ke dalam instruksi- instruksi mesin. Pada level yang lebih rendah (lebih dekat dengan mesin), seseorang akan berinteraksi pada instruksi- instruksi yang dikenali oleh CPU, sebagaimana program berkomunikasi dengan DOS.
Bahasa Assembly adalah bahasa yang memudahkan pemahaman bagian computer yang paling rendah, mendekati mesin. Bahasa assembly sebaiknya dipelajari secara kontektual sehingga interaksi perangkat keras dan perangkat lunak computer mungkin lebih mudah dipahami.
Bahasa assembly adalah bahasa pemrograman dengan korespondensi satu-satu antara perintah-perintah/pertanyaannya dan bahasa mesin computer.

Tidak ada komentar:

Posting Komentar