Professional Documents
Culture Documents
Bahasa Mesin = Bahasa yang dibangun oleh sejumlah angka yang dapat dimengerti oleh CPU
Register = Memori kecepatan tinggi dalam CPU dan biasanya ada 2 huruf
Instruksi Bahasa Mesin = memerintahkan CPU untuk melaksanakan aksi sederhananya terdiri atas mnemonic ex : clc,inc,mov,add,int bisa terdiri atas operand(register,variabel,lokasi memori/nilai immediate) ex : mov ax,5 ; artinya memindahkan 5 ke dalam register ax mov ax,bx ; artinya ada 2 buah operand
Pernyataan/perintah Bahasa mesin = terdiri atas dua Instruksi dan Perintah Instruksi = Pernyataan yang dapat di eksekusi Perintah = Pernyataan yang menyediakan informasi untuk dapat membantu assembler dalammenghasilkan kode yang dapat di eksekusi Format umum : [name][mnemonic][operand][;comment] ex : Count DB 50 ; artinya DB memerintah memori untuk variabel bernama count dan memberi nilai awal 50
Syarat nama(variabel,label,simbol/katakunci) : 1. 31 karakter pertama yg dikenali 2. Karakter pertama tak boleh angka,tanpa spasi,boleh tanda(.) hanya
boleh pada karakter pertama saja 3. Tidak boleh gunakan kata kunci(direktif/perintah) ex Label : => add: mov ax,10; salah karena nama label dengan perintah add
Tugas CPU : 1. Menemukan instruksi dan mengeksekusi instruksi tersebut 2. Menyimpan data dalam memori/register 3. Melaksanakan perhitungan & perbandingan 4. Memperbarui penunjuk instruksi(percabangan)
CPU dibagi 2 ALU & CU ALU (Arithmetic Logic Unit) = melaksanakan operasi aritmatik,logic,dan penggeseran CU (Control Unit) = mengambil data dan instruksi dan serta menerjemahkan kode alamat untuk ALU
Register = Area penyimpan kecepatan tinggi yg langsung terhubung dengan ALU dan unit kendali. Ketika sesuatu diambil dari memori alamatnya dihitung oleh unit kendali dan dikirim melalui bus alamat(kabel pararel yg mengirim data antar bagian dalam CPU).Nilai dari memori(instruksi & data) dikirim balik ke CPU melalui bus data.Setiap operasi di CPU harus sinkron dengan clock, unit waktu paling dasar untuk instruksi mesin disebut siklus mesin/machine cycle Instruksi mesin dalam prosesor Intel umumnya 3-20 clock
Register Data : 1. AX atau akumulator (kiri AH dan kanan AL) AX register akumulator karena untuk operasi aritmatik 2. BX atau basis (kiri BH dan kanan BL) bisa melaksanakan operasi aritmatik dan perpindahan data dan memiliki pengalamatan khusus dan dapat menyimpan alamat memori yg menunjuk pada variabel lain, seperti register indeks(SI,DI,BP) 3. CX atau counter (kiri CH dan kanan CL) bekerja sebagai counter untuk instruksi pengulangan/looping 4. DX atau Data (kiri DH dan Kanan DL) punya peranan khusus dalam operasi perkalian dan pembagian
memberi warna blink R G B intensitas R G B latar huruf 0 0 0 0 0 0 0 1 jika ingin menampilkan karakter biru 8 4 2 1 8 4 2 1 menampilkan warna latar blink dan warna karakter merah terang 1 0 0 0 1 1 0 0 : 0x8C ditambah pake bahasa hexsa 1 1 1 1 : 0x4E Dasar merah Tulisan Kuning
Versi Int 86/ DOS #include <dos.h>// REGS #include <conio.h> #include <stdlib.h> //return exit succes #define VIDEO_INT 0x10 //HEKSA 10 videoint 86 int main(void) { union REGS in, out;
// H=NAMA AH=FIELD in.h.ah = 0x09; // HEKSA 9 in.h.al = 'Z'; // CETAK HURUF in.h.bh = 0x00; // HAL //in.h.bl = 0x14; // dasar biru tulisan red //in.h.bl = 0xac; // dasar hijau tulisan red //in.h.bl = 0x8c; // blink warna merah terang in.h.bl = 0x4e; // ? hasilkan apa ? in.h.ch = 0x00; // COUNT FONT DARI in.h.cl = 0x05; // COUNT FONT KE clrscr(); int86(VIDEO_INT, &in, &out); getch(); return EXIT_SUCCESS; }
VERSI ASSEMBLY #include <conio.h> #include <stdlib.h> #define VIDEO_INT 0x10 int main(void) { clrscr(); // MOV = BERI NILAI VARIABEL -AH asm mov ah, 0x09; // HEKSA 9 menggunakan opcode mov asm mov al, 0x41; // CETAK HURUF A asm mov bh, 0x00; // HAL asm mov bl, 0x0e; // COLOR FONT YELLOW
asm mov ch, 0x00; asm mov cl, 0x04 ; // COUNT FONT asm int VIDEO_INT; // INTERUPSI HEKSA 10 menggunakan opcode int getch(); return EXIT_SUCCESS; }