Powered by Blogger.

Diary Kuli Pabrik

sebuah catatan perjalanan dari seorang kuli pabrik yang sedang mencari jati diri. lets enjoy my untold story

Nama: Frida Fatah Abdullah Aziz
NIM: SIR200913
Kuliah: Pemrograman Bahasa Rakitan

masih serupa dengan 2 postingan sebelumnya yaitu ( membuat pasword dan fungsi if-then )dengan konsep membuat program dengan perbandingan kemudian lompat.
untuk pertama tuliskan source berikut ke notepad:

.model small
.code
org 100h
data:
jmp mulai

asal db 'widyautama$'
kata db 'masukan huruf yang dicari : $'
ket1 db 'Huruf ditemukan $'
ket2 db 'huruf tidak ditemukan $'

mulai:
xor bx, bx ;cek panjang kalimat

cek:
mov al, asal [bx] ; pindahan asal [index] ke al
inc bx
cmp al, '$'
jne cek

dec bx
mov cx, bx

xor bx,bx
mov ah,9
mov dx, offset asal
int 21h

mov ah,2
mov dl,13
int 21h
mov dl,10
int 21h

mov ah,9
mov dx,offset kata
int 21h
mov ah,1
int 21h

ulang:
mov dl,asal[bx]
inc bx
cmp dl, '$'
je salah
cmp al,dl
jne ulang
jmp benar

salah:
mov ah,2
mov dl,13
int 21h
mov dl,10
int 21h
mov ah,9
mov dx, offset ket2
int 21h
jmp barisbaru

benar:
mov ah,2
mov dl,13
int 21h
mov dl,10
int 21h
mov ah,9
mov dx, offset asal
int 21h
mov ah,2
mov dl,13
int 21h
mov dl,10
int 21h
mov ah,9
mov dx, offset ket1
int 21h
jmp barisbaru

barisbaru:
mov ah,2
mov dl,13
int 21h
mov dl,10
int 21h
int 20h

end data

setelah program dijalankan maka hasilnya adalah

widyautama
Huruf yang dicari : (kursor _) w
Huruf ditemukan
Share
Tweet
Pin
Share
No komentar

Nama: Frida Fatah Abdullah Aziz
NIM: SIR200913
Kuliah: Pemrograman Bahasa Rakitan

yeah sebenarnya postingan ini serupa dengan postingan sebelumnya (Membuat Password), cuman bedanya pada penerapannya saja. Ok langsung saja Praktek
tuliskan source berikut ke notepad:


setelah kita jalankan programnya maka outputnya adalah
Anda sudah belajar hari ini???(Y/T)
Semoga tercapai cita-citamu (jika menjawab Y)
Cepat Belajar Sekarang!!! (jika menjawab T)
Share
Tweet
Pin
Share
No komentar
Nama: Frida Fatah Abdullah Aziz
NIM: SIR200913
Kuliah: Pemrograman Bahasa Rakitan

Heihooo. . . blajar dan blajar lagi, kali ini kita akan coba membuat password pada assembly. Walaupun saat kuliah saya agak nggak mudeng, tapi ayo kita coba. . . hehehe
Untuk membuat password logikanya kita membandingkan password pada program dengan inputan dari keyboard.
Salah satu perintah yang akan digunakan adalah CMP(compare). CMP akan membandingkan operand1 dengan operand2 dengan cara mengurangkan operand1 dengan operand2. CMP tidak mempengaruhi nilai operand1 dan operand2, perintah CMP hanya akan flags register sebagai hasil perbandingan.

Ok langsung saja prakteknya. . .
Tuliskan Source ini ke notepad:

.model small
.code
org 100h
mulai:
jmp proses
vcal db 10, 'ENTER PASSWORD: $'
vcal1 db 10, 'INCORRECT$'
vcal2 db 10, 'SUGENG RAWUH. . .$'

proses:
mov ah, 09h
lea dx, vcal
int 21h

mov ah, 07h
int 21h

cmp al, 'Y'
je ya1
jne tidak1

ya1:
mov ah, 02h
mov dl, 2Ah
int 21h

mov ah, 07h
int 21h

cmp al, 'O'
je ya2
jne tidak2

tidak1:
mov ah, 09h
lea dx, vcal1
int 21h
jmp proses

ya2:
mov ah, 02h
mov dl, 2Ah
int 21h

mov ah, 07h
int 21h

cmp al, 'U'
je ya3
jne tidak3

tidak2:
mov ah, 09h
lea dx, vcal1
int 21h
jmp proses

ya3:
mov ah, 02h
mov dl, 2Ah
int 21h

mov ah, 07h
int 21h

cmp al, 'R'
je ya4
jne tidak4

tidak3:
mov ah, 09h
lea dx, vcal1
int 21h
jmp proses

ya4:
mov ah, 02h
mov dl, 2Ah
int 21h
mov ah, 09h
lea dx, vcal2
int 21h
int 20h

tidak4:
mov ah, 09h
lea dx, vcal1
int 21h
jmp proses


end mulai

klo udah dijalankan maka akan muncul "ENTER PASSWORD: ", kalau kita salah memasukan password maka akan muncul "INCORRECT"
*catatan:
passwornya "YOUR"
Share
Tweet
Pin
Share
No komentar
Nama: Frida Fatah Abdullah Aziz
NIM: SIR200913
Kuliah: Pemrograman Bahasa Rakitan

Setelah tadi kita belajar mencetak kalimat tanpa atribut, sekarang saya akan bahas tentang kalimat beratribut. Untuk mencetak kalimat beratribut kita menggunakan interupsi 10h. Ok langsung Praktek saja, kali ini saya akan coba membuat kalimat dengan foreground: blue dan background: green

tuliskan source berikut di notepad


setelah dijalankan maka output'a


*catatan:


bl: blink/berkedip
R: merah
G: hijau
B: biru
I: intensitas warna

selamat mencoba
::semoga bermanfaat::
Share
Tweet
Pin
Share
No komentar
Nama: Frida Fatah Abdullah Aziz
NIM: SIR200913
Kuliah: Pemrograman Bahasa Rakitan

Kali ini saya akan membahas materi mencetak kalimat dengan DOS. Untuk mencetak kalimat dengan DOS kita menggunakan interupsi 21 dan fungsi 9. Ok langsung saja praktek.

Tuliskan Source dibawah ini pada notepad:

Output dari program diatas adalah
Frida Fatah
adalah seorang yang baik hati
tidak sombong
dan suka menabung
wkwkwkwk

*catatan:
pada akhir dari setiap kalimat yang ingin dicetak harus kita tambahkan karakter"$". Karakter itu dipakai sebagai akhir kalimat.

selamat mencoba
:: semoga bermanfaat::
Share
Tweet
Pin
Share
No komentar
Nama: Frida Fatah Abdullah Aziz
NIM: SIR200913
Kuliah: Pemrograman Bahasa Rakitan

Heihoo. . . malam semua, kali ini saya akan membahas tentang perulangan menggunakan Loop pada assembly. Sebelumnya Apasih itu Lopping???

Looping adalah proses berulang-ulang. Pada proses perulangan dengan perintah LOOP, disini register CX memegang satu peranan yang khusus dimana register ini dijadikan counter/penghitung terhadap banyaknya looping yang boleh terjadi.

gampangnya pada perintah looping itu, register cx akan dikurangi terlebih dahulu, kemudian akan dilihat apakah register cx sudah bernilai 0. Proses looping akan berhenti apabila register cx sudah bernilai 0.

langsung saja kita latihan.
1. Looping berurutan
seperti biasa tuliskan source dibawah ini pada notepad.


bila program tersebut dijalankan maka outputnya adalah "abcdefghijklmnopqrstuvwxyz"

2. Looping berurutan terbalik
ayo tulisin lagi nih ke notepad


klo yang ini outputnya "zyxwvutsrqponmlkjihgfedcba"

3. Looping berurutan bolak-balik
kaya biasalah tulisin ke notepad lagi ya. . .


kalau programnya dijalankan outputnya adalah "abcdefghijklmnopqrstuvwxyyxwvutsrqponmlkjihgfedcba"

4. Looping melompati 1 karakter
tuliskan source ini ke notepad


output dari program di atas adalah "bdfhjlnprtvxz"

keterangan:
mov dl, ; dl=karakter
mov cx, ; banyaknya perulangan
inc dl ; tambah dl dengan 1
loop ulang ;lompat ke ulang

sampai jumpa pada materi berikutnya
::semoga bermanfaat::
Share
Tweet
Pin
Share
2 komentar
Nama: Frida Fatah Abdullah Aziz
NIM: SIR200913
Kuliah: Pemrograman Bahasa Rakitan

Heihoo. . . Posting lagi nih (lebay ah) , kali ini kita akan coba membahas debug pada assembly. Berhubung file saya hilang entah kemana (mahasiswa malas)hehehe, akhirnya saya browsing di internet tentang materi ini. Finally saya nemu E-book pemrograman bahasa rakitan yang udah jadul banget karangan om S'to (salah satu pengelola Jasakom). Dari situ saya belajar lagi tentang materi ini.

Ok langsung saja kita praktekan apakah operasi penambahan yang kita buat dalam assembly itu benar dengan menggunakan debug.

Pertama-tama ketikan Source seperti pada gambar berikut ini.


Setelah selesai mengetikan Source program tadi, jadikanlah program COM dengan tasm dan tlink/t. Setelah itu cobalah untuk melihat kebenaran dari program tersebut dengan debug. Caranya ketikan: debug (namafile.com) (enter) (tekan) r (enter)


Penekanan "r" pada pertama kali untuk melihat nilai pada semua register.
Setelah itu tekanlah "t" untuk mengeksekusi instruksi yang terdapat pada alamat yang ditunjukan CS:IP(mov ah,15). Setelah menekan "t" maka akan ditampilkan hasil setelah instruksi "MOV AH,15" di eksekusi.


Terlihat bahwa nilai AX berubah dari 0000 menjadi 1500 setelah mendapat perintah MOV AH,15. Tekanlah kembali "t" untuk melihat perubahan yang terjadi pada register-register yang bersangkutan.


Pengetikan "Q" menandakan kita keluar dari debug dan kembali pada DOS

::Semoga Bermanfaat::
Share
Tweet
Pin
Share
No komentar
Nama: Frida Fatah Abdullah Aziz
NIM: SIR 200913
Kuliah: Pemrograman Bahasa Rakitan
Dosen: Bpk. Nahar Mardiyantoro, M.kom

Heiho. . . Selamat Pagi Dunia!!!
"Posting Tugas ke Blog" awal rutinitas di hari ini. hehehehe. . . Postingan ini adalah praktikum pertama dalam kuliah pemrograman bahasa rakitan. Yups sesuai judulnya kali ini kita akan mencetak sebuah karakter pada program assembly.

mr.x: gimana caranya???
aq: Ok cekidot !!!

Pertama-tama kamu sudah harus mempunyai program compiler nya, lalu tuliskan source seperti gambar dibawah ini pada notepad - kemudian save dengan ekstensi .asm

selanjutnya bukalah commont prompt lalu kita masuk pada folder compiler yang sudah kita miliki (ga usah di jelaskan, udah pada tau lah)hehehe. . .
Kemudian kita harus mengcompile file .asm tersebut menjadi file .obj

Caranya ketikan: tasm (spasi) (nama file)
Contoh: tasm coba.asm
lalu tekan enter, maka dengan sendirinya file tersebut tercompile menjadi file object

Seperti pada postingan sebelumnya "file .obj tidak dapat kita eksekusi langsung namun harus kita rubah lagi menjadi file .exe atau .com"

caranya ketikan:
tlink/t (spasi) (nama file) "untuk menghasilkan file .com"
tlink (spasi) (nama file) "untuk menghasilkan file. exe"
Contoh: tlink/t coba.obj

Setelah file tersebut berhasil kita rubah menjadi .com maka kita bisa mengeksekusinya, lihat gambar!


dari gambar di atas dapat kita lihat
Output dari source di atas adalah "a"

ket:
mov ah,02h ; nilai servis untuk mencetak karakter
mov dl,'a' ; karakter ASCII yang akan di cetak
int 21h ; Cetak karakter !
int 20h ; selesai!!!

:: semoga bermanfaat ::
Share
Tweet
Pin
Share
2 komentar
1. Text Editor
Untuk menuliskan Source file program assembly kita bisa menggunakan berbagai program text editor misalnya: SideKick, WordStar, Word Perfect (untuk 3 program tadi kayanya banyak yang ga tau deh) dan yang akan kita gunakan pada saat ini adalah program bawaan dari windows yaitu NOTEPAD.
Setelah kita tuliskan Source file, maka kita harus menyimpannya dengan ekstensi .asm
contoh: coba.asm

2. Compiler
Source file yang tadi kita buat tentunya tidak bisa langsung kita jalankan pada sebuah sistem komputer, maka terlebih dahulu kita harus compile file yang tadi kita buat menjadi file .OBJ (object) kemudian dari file object tersebut kita rubah kembali menjadi file .EXE atau .COM agar file tersebut bisa langsung di eksekusi

untuk compilernya kita gunakan Tasm yang bisa di download
di sini

berikut ini screenshoot pengcompilean file coba.asm

::semoga bermanfaat::
Share
Tweet
Pin
Share
No komentar
Assembly adalah bahasa pemrograman komputer tingkat rendah. Bahasa rakitan adalah notasi untuk bahasa mesin yang bisa dibaca oleh manusia dan berbeda-beda tergantung dari arsitektur komputer yang digunakan. Bahasa mesin adalah pola bit-bit (serangkaian nomer-nomer biner) tertentu yang merupakan kode operasi mesin. Bahasa mesin dibuat lebih mudah dibaca dan ditulis dengan cara mengganti pola bit-bit menjadi julukan-julukan yang disebut mnemonics.

Berbeda dengan bahasa pemrograman tingkat tinggi, bahasa rakitan biasanya mempunyai hubungan 1-1 dengan instruksi bahasa mesin. Misalnya, tiap julukan (mnemonics) yang ditulis di program dengan bahasa rakitan akan diterjemahkan menjadi tepat satu kode operasi yang dapat dimengerti langsung oleh komputer. Pada bahasa tingkat tinggi, satu perintah dapat diterjemahkan menjadi beberapa kode operasi dalam bahasa mesin. Proses pengubahan bahasa rakitan ke bahasa mesin dilakukan oleh assembler, dan proses baliknya dilakukan oleh disassembler.

Walaupun bahasa tingkat tinggi terus berkembang dengan segala fasilitas dan kemudahannya, peranan bahasa pemrograman tingkat rendah tetap tidak dapat digantikan. Bahasa assembly mempunyai keunggulan yang tidak mungkin di ikuti oleh bahasa pemrograman tingkat apapun dalam hal kecepatan, ukuran file yang kecil serta kemudahan dalam manipulasi system komputer.

Untuk menjalankan bahasa rakitan (assembly) kita memerlukan Compiler, disini saya menyediakan compiler berupa tasm yang bisa di Download

di sini
Share
Tweet
Pin
Share
No komentar
Pada bahasa rakitan kita memerlukan compiler untuk mengeksekusi source file yang kita buat agar dapat terbaca oleh sistem komputer.
Silahkan buat teman-teman mendownload compiler ini secara gratis di sini
Share
Tweet
Pin
Share
No komentar
Newer Posts
Older Posts

About Me

My photo
Frida
Graphic Designer | Football Addict | Travelling
View my complete profile

Categories

Adventure AOK Assembly Download event Futsal Grafis Hardware JalanJalan Jaringan LintasAlam OS Pemrograman shop Software Tips n Trik Tugas Visual Basic Wallpaper YogaRimba

Blog Archive

  • ►  2019 (1)
    • ►  April (1)
  • ►  2018 (3)
    • ►  November (3)
  • ►  2012 (2)
    • ►  February (2)
  • ▼  2011 (30)
    • ►  November (2)
    • ►  October (2)
    • ►  August (2)
    • ►  July (2)
    • ►  May (2)
    • ►  April (5)
    • ►  February (4)
    • ▼  January (11)
      • Mencari Huruf atau karakter
      • Fungsi if-then
      • Membuat Password
      • belajar mencetak kalimat berwarna
      • belajar mencetak kalimat
      • Penggunaan Looping (perulangan)
      • Menganalisa program dengan debug
      • Mencetak Karakter dengan Assembly
      • Memulai Assembly
      • Bahasa Rakitan (assembly)
      • Compiler untuk Assembly
  • ►  2010 (10)
    • ►  December (3)
    • ►  September (7)

Social Media

Facebook

Created with by ThemeXpose