Posts

Showing posts from September 22, 2012

MATERI INTERRUPT

1. interrupt 21h service 01h NO. INTERRUPT = 21h NO. SERVICE = 01h FUNCTION = Input 1 Karakter (Keyboard Input) Mengambil Input Dari Keyboard (Standard Input Device), lalu menampilkan karakter ke layar (Standard Output Device) dan menyimpan karakter tersebut di AL. Penekanan tombol Ctrl-Break akan dicek. Jika tombol tersebut ditekan, interupt 23h akan dieksekusi. INPUT : AH = 01H OUTPUT : AL = Kode ASCII Hasil Input Tercetak di layar 2. interrupt 21h service 07h NO. INTERRUPT = 21h NO. SERVICE = 07h FUNCTION = Input 1 Karakter Tanpa Echo Tidak Mengecek Ctrl-C (Direct Console Input Without Echo). Menunggu hingga sebuah karakter diketikkan dari standard input device dan menyimpannya ke register AL. Service ini sangat mirip dengan service 01h, hanya saja pada service ini karakter tak ditampilkan ke layar. Service ini tidak mengecek Ctrl-C atau Ctrl-Break. Service ini sering dipakai untuk pemasukan password karena tak menampilkan karakter yang diketikkan.
KONDISI / LOMPAT (JUMP) 1. Lompatan Tak Bersyarat Secara fisik anda hanya dapat melihat bahwa lompatan tak bersyarat terdiri dari satu macam, tapi bila dianalisis jumlah byte yang dipakai untuk lompatan tak bersyarat dapat dikelompokan menjadi 2 macam yaitu : - Lompatan Dekat (Near Jump) - Lompatan Jauh (Far Jump) Adapun secara fisik perintah lompat dapat ditulis sebagai berikut : JMP [lokasi memory] Contoh : JMP 200 Perintah ini adalah untuk melakukan lompatan kearah lokasi memory segment:0200 2. Perbandingan Lompatan Bersyarat Untuk lompatan bersyarat, terdapat beberapa jenis lompatan yang kegunaanya dapat disesuaikan dengan keperluan yang dibutuhkan. Untuk perbandingan Operand dengan menggunakan perintah perbandingan (Compare). Adapun tata penulisan perintah perbandingan adalah : CMP [operand1],[operand2] Contohnya : CMP AX,0102 Perintah ini digunakan untuk membandingkan AX dengan 0102 3. Lompatan Bersyarat - JE (Jump If Equal) Perintah ini berlaku bila pada sa

Contoh Penggunaan LOOP

Image
contoh penggunaan loop : .model small .code org 100h mulai: mov ah, 2h mov dl, 'A' mov cx, 5 lagi : int 21h loop lagi int 20h end mulai Hasilnya : Pengulangan LOOP Tugas : Buat tulisan huruf A - R dilanjut Z - H dan digabung inc : untuk menambah dec : untuk mengurangi Jawab : .model small .code org 100h mulai: mov ah, 2h mov dl, 'A' mov cx, 18 lagi : int 21h inc DL loop lagi mov ah, 2h mov dl, 'Z' mov cx, 19 lagi2 : int 21h dec DL loop lagi2 int 20h end mulai

PROGRAM BAHASA ASSEMBLY

Image
Jenis Extensi Program Hasil Assembly Program COM - Lebih pendek dari file EXE - Lebih cepat dibanding file EXE - Hanya dapat menggunakan 1 segmen - Ukuran file maksimum 64 KB (ukuran satu segment) - Sulit untuk mengakses data atau procedure yang terletak pada segment yang lain. - 100h (256) byte pertama merupakan PSP(Program Segment Prefix) dari program tersebut. - Bisa dibuat dengan DEBUG Program EXE - Lebih panjang dari file COM - Lebih lambat dibanding file COM - Bisa menggunakan lebih dari 1 segmen - Ukuran file tak terbatas sesuai dengan ukuran memory. - Mudah mengakses data atau procedure pada segment yang lain. - Tidak bisa dibuat dengan DEBUG Bentuk Umum Assembly . MODEL SMALL .CODE .STACK 200h / ORG 100h label1: JMP label2 data Label2: program end label1 Contoh Program Assembly .MODEL SMALL .CODE ORG 100h mulai: mov ah,02h mov dl,'A' int 21h int 20h end mulai Daftar interrupt Interrupt 21h – Service 02h Fungsi : Mencetak satu

SIKLUS INTRUKSI PADA BAHASA ASSEMBLY

Siklus Eksekusi - Instruction Addess Calculation (IAC) Yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya. - Instruction Fetch (IF) Yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU. - Instruction Operation Decoding (IOD) Yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan. - Operand Address Calculation (OAC) Yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori. - Operand Fetch (OF) Adalah mengambil operand dari memori atau dari modul I/O. - Data Operation (DO) Yaitu membentuk operasi yang diperintahkan dalam instruksi - Operand Store (OS) Yaitu menyimpan hasil eksekusi ke dalam memori Level Bahasa - Hi

MATERI PEMROGRAMAN DAN MICROPROCESOR

Mengapa Microprocessor....? Mikroprosessor adalah inti dari sistem komputer. Pada saat ini banyak perangkat elektronika yang dikendalikan oleh mikroprosessor / mikrokontroller. Dengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Memori Internal - ROM (Read Only Memory) Memori tempat menyimpan program/source code. Sifat ROM adalah non-viotile, data/program tidak akan hilang walaupun tegangan supply tidak ada. Kapasitas ROM tergantung dari tipe mikrokontroller. Untuk AT89S51 kapasitas ROM adalah 4 KByte. ROM pada AT89S51 menempati address 0000 s/d 0FFF. - RAM (Random Access Memory) Memori tempat menyimpan data sementara. Sifat RAM adalah viotile, data akan hilang jika tegangan supply tidak ada. Kapasitas RAM tergantung pada tipe mikrontroller. Dibagi menjadi dua yaitu : 1. LOWER 128 byte address 00 s/d 7F RAM ini dapat diakses dengan pengalamatan langsung (direct) maupun tak langsung (in