bahasa asembler 3b

Tampilkan postingan dengan label bahasa asembler 3b. Tampilkan semua postingan
Tampilkan postingan dengan label bahasa asembler 3b. Tampilkan semua postingan

bahasa asembler 3b






3B



Syntax : JBE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila CF=1 atau ZF=1.

"Tujuan" dapat berupa nama label ataupun alamat memory. Pada lompatan

bersyarat ini, besarnya lompatan tidak bisa melebihi -128 dan +127 byte. JBE

identik dengan perintah JNA. 

Catatan : JBE dan JNA melakukan operasi pada bilangan tidak bertanda  . 

Contoh: 

 CMP AX,BX 

 JBE KecilSama 

Pada perintah diatas, loncatan menuju label "KecilSama" akan dilakukan 

bila pada perintah CMP diatasnya register AX lebih kecil atau sama dengan

register BX. 

Mnemonic : JC (Jump On Carry)

Tersedia pada : 8088 keatas 

Syntax : JC Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Sama dengan JB dan JNAE.
Mnemonic : JCXZ (Jump If CX = 0)

Tersedia pada : 8088 keatas 

Syntax : JCXZ Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila register CX=0.

"Tujuan" dapat berupa nama label ataupun alamat memory. Pada lompatan

bersyarat ini, besarnya lompatan tidak bisa melebihi -128 dan +127 byte. 

Contoh: 

 MOV AH,00 ; 

 LEA DX,Buffer ; Masukan string dari keyboard 

 INT 21h ; 

 

 MOV CX,Buffer[1] ; CX = banyaknya masukan string 

 JCXZ Tdk ; bila  tidak ada, lompat ke "Tdk" 

Mnemonic : JE (Jump Equal)

Tersedia pada : 8088 keatas 

Syntax : JE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "Tujuan" bila ZF=1. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. JE identik dengan 

JZ. 

Contoh: 

 CMP AX,BX 

 JE Sama 

Pada perintah diatas, loncatan menuju label "Sama" akan dilakukan bila 

pada perintah CMP diatasnya register AX sama dengan register BX yang

memicu  zero flag bernilai 1. 

Mnemonic : JG (Jump If Greater)

Tersedia pada : 8088 keatas Syntax : JG Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila ZF=0 dan SF=OF.

"Tujuan" dapat berupa nama label ataupun alamat memory. Pada lompatan

bersyarat ini, besarnya lompatan tidak bisa melebihi -128 dan +127 byte. JG 

identik dengan perintah JNLE. 

Catatan : JG dan JNLE melakukan operasi pada bilangan bertanda  . 

Contoh: 

 CMP AX,BX 

 JG Besar 

Pada perintah diatas, loncatan menuju label "Besar" akan dilakukan bila

pada perintah CMP diatasnya register AX lebih besar dibandingkan dengan 

register BX. 

Mnemonic : JGE (Jump If Greater or Equal)

Tersedia pada : 8088 keatas 

Syntax : JGE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila SF=OF. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. JGE identik dengan

perintah JNL. 

Catatan : JGE dan JNL melakukan operasi pada bilangan bertanda  . 

Contoh: 

 CMP AX,BX 

 JGE BesarSama 

Pada perintah diatas, loncatan menuju label "BesarSama" akan dilakukan 

bila pada perintah CMP diatasnya register AX lebih besar atau sama dengan

register BX. 

Mnemonic : JL (Jump If Less Than)

Tersedia pada : 8088 keatas 

Syntax : JL Tujuan

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila SF tidak sama

dengan OF. "Tujuan" dapat berupa nama label ataupun alamat memory. Pada 

lompatan bersyarat ini, besarnya lompatan tidak bisa melebihi -128 dan +127

byte. JL identik dengan perintah JNGE. 

Catatan : JL dan JNGE melakukan operasi pada bilangan bertanda  . 

Contoh: 

 CMP AX,BX 

 JL Kecil 

Pada perintah diatas, loncatan menuju label "Kecil" akan dilakukan bila

pada perintah CMP diatasnya register AX lebih kecil dibandingkan dengan 

register BX. 

Mnemonic : JLE (Jump If Less Than or Equal)

Tersedia pada : 8088 keatas 

Syntax : JLE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila ZF=1 atau SF 

tidak sama dengan OF. "Tujuan" dapat berupa nama label ataupun alamat memory. 

Pada lompatan bersyarat ini, besarnya lompatan tidak bisa melebihi -128 dan 

+127 byte. JLE identik dengan perintah JNG. 

Catatan : JLE dan JNG melakukan operasi pada bilangan bertanda  . 

Contoh: 

 CMP AX,BX 

 JLE KecilSama 

Pada perintah diatas, loncatan menuju label "KecilSama" akan dilakukan 

bila pada perintah CMP diatasnya register AX lebih kecil atau sama dengan

register BX. 

Mnemonic : JMP (Jump) 

Tersedia pada : 8088 keatas
(224)
Syntax : JMP Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan lompatan menuju "Tujuan" yang dapat berupa suatu

label atau  alamat memory. Tidak seperti lompatan bersyarat, perintah JMP

dapat melakukan lompatan ke segment lain. 

Contoh: 

 JMP Proses 

Mnemonic : JNA (Jump If Not Above)

Tersedia pada : 8088 keatas 

Syntax : JNA Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JBE. 

Mnemonic : JNAE (Jump If Not Above or Equal)

Tersedia pada : 8088 keatas 

Syntax : JNAE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JB. 

Mnemonic : JNB (Jump If Not Bellow)

Tersedia pada : 8088 keatas 

Syntax : JNB Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JAE. 

Mnemonic : JNBE (Jump If Not Bellow or Equal)

Tersedia pada : 8088 keatas 

Syntax : JNBE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JA. 
Mnemonic : JNC (Jump Not Carry)

Tersedia pada : 8088 keatas 

Syntax : JNC Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JNB. 

Mnemonic : JNE (Jump Not Equal)

Tersedia pada : 8088 keatas 

Syntax : JNE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila ZF=0. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. JNE identik dengan

perintah JNZ. 

Contoh: 

 CMP AX,BX 

 JNE TidakSama 

Pada perintah diatas, loncatan menuju label "TidakSama" akan dilakukan 

bila pada perintah CMP diatasnya register AX tidak sama dengan register BX. 

Mnemonic : JNG (Jump If Not Greater)

Tersedia pada : 8088 keatas 

Syntax : JNG Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JLE. 

Mnemonic : JNGE (Jump If Not Greater or Equal) 

Tersedia pada : 8088 keatas 

Syntax : JNGE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JL.

Mnemonic : JNL (Jump If Not Less Than)

Tersedia pada : 8088 keatas 

Syntax : JNL Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JGE. 

 

Mnemonic : JNLE (Jump If Not Less or Equal)

Tersedia pada : 8088 keatas 

Syntax : JNLE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JG. 

Mnemonic : JNO (Jump On Not Overflow)

Tersedia pada : 8088 keatas 

Syntax : JNO Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila OF=0. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. 

Catatan : JNO melakukan operasi pada bilangan bertanda  . 

Mnemonic : JNP (Jump On No Parity)

Tersedia pada : 8088 keatas 

Syntax : JNP Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila PF=0. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. JNP identik dengan

perintah JPO. 

Catatan : JNP dan JPO melakukan operasi pada bilangan tidak bertanda  .


Mnemonic : JNS (Jump On No Sign)

Tersedia pada : 8088 keatas 

Syntax : JNS Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila SF=0. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. 

Catatan : JNS melakukan operasi pada bilangan bertanda  . 

Mnemonic : JNZ (Jump On Not Zero)

Tersedia pada : 8088 keatas 

Syntax : JNZ Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JNE. 

Mnemonic : JO (Jump On Overflow)

Tersedia pada : 8088 keatas 

Syntax : JO Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila OF=1. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. 

Catatan : JO melakukan operasi pada bilangan bertanda  . 

Mnemonic : JP (Jump On Parity)

Tersedia pada : 8088 keatas 

Syntax : JP Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila PF=1. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. JP identik dengan 

perintah JPE.

Mnemonic : JPE (Jump On Parity Even)

Tersedia pada : 8088 keatas 

Syntax : JPE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JP. 

Mnemonic : JPO (Jump On Parity Odd)

Tersedia pada : 8088 keatas 

Syntax : JPO Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JNP. 

Mnemonic : JS (Jump On Sign)

Tersedia pada : 8088 keatas 

Syntax : JS Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Melakukan suatu loncatan menuju "tujuan" bila SF=1. "Tujuan"

dapat berupa nama label ataupun alamat memory. Pada lompatan bersyarat ini, 

besarnya lompatan tidak bisa melebihi -128 dan +127 byte. 

Catatan : JS melakukan operasi pada bilangan bertanda  . 

Mnemonic : JZ (Jump On Zero)

Tersedia pada : 8088 keatas 

Syntax : JZ Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan JE. 

Mnemonic : LAHF (Load Flags Into AH Register) 

Tersedia pada : 8088 keatas 

Pengaruh flag : Tidak Ada 

Syntax : LAHF

Fungsi : Untuk menyalinkan  CF, PF, AF, ZF dan SF yang terletak pada

bit ke 0, 2, 4, 6 dan 7 dari flags register menuju register AH pada bit yang

sesuai(0, 2, 4, 6 dan 7). 

Contoh: 

Dengan fungsi ini, kita  bisa menyimpan 8 bit rendah dari flags register 

untuk menghindari perubahan akibat dari suatu proses, seperti: 

 LAHF ; Simpan flags pada AH 

 PUSH AX ; Nilai AH disimpan ke stack 

 +--------+ 

 | Proses | 

 +--------+ 

 POP AX ; Keluarkan AH dari stack 

 SAHF ; Masukkan ke flag register 

Mnemonic : LDS (Load Pointer Using DS Register)

Tersedia pada : 8088 keatas 

Syntax : LDS Operand,Mem32 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk menyimpan Double Word dari memory. 16 bit rendah akan 

disimpan pada "Operand" sedang  16 bit tingginya akan disimpan pada register

DS. "Mem32" mencatat lokasi dari suatu memory yang didiartikan  dengan tipe

Double Word(DD). 

Contoh: 

 TData: JMP Proses 

 Tabel DD ?,?,? 

 Proses: 

 LDS BX,Tabel 

Sesudah  intruksi diatas dijalankan, maka pasangan register DS:BX akan

mencatat alamat dari variabel "Tabel". 

Mnemonic : LEA (Load Effective Address)

Tersedia pada : 8088 keatas 

Syntax : LEA Operand,Mem16 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk memperoleh  alamat efektif atau offset dari "Mem16" 

yang mana  "Operand" yaitu  suatu register 16 bit. Perintah LEA hampir sama 

dengan perintah OFFSET yang juga dipakai  untuk memperoleh  offset dari suatu

memory. Perintah LEA lebih fleksibel untuk dipakai  dibandingkan dengan

perintah OFFSET sebab  dengan LEA pelajar  bisa memberi  tambahan nilai pada

"Mem16". 

Contoh: 

 TData :JMP Proses 

 Kal '0123456789abcd' 

 Proses: 

 MOV SI,10 

 LEA BX,Kal[SI] 

 

Dengan perintah diatas, register BX akan mencatat offset ke 10 dari Kal. 

Mnemonic : LES (Load Pointer Using ES Register)

Tersedia pada : 8088 keatas 

Syntax : LES Operand,Mem32 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk menyimpan Double Word dari memory. 16 bit rendah akan 

disimpan pada "Operand" sedang  16 bit tingginya akan disimpan pada register

ES. "Mem32" mencatat lokasi dari suatu memory yang didiartikan  dengan tipe

Double Word(DD). 

Contoh: 

 

 TData: JMP Proses 

 Tabel DD ?,?,? 

 Proses: 

 LES BX,Tabel 

Sesudah  intruksi diatas dijalankan, maka pasangan register ES:BX akan

mencatat alamat dari variabel "Tabel". 

Mnemonic : LOCK (Lock The BUS)

Tersedia pada : 8088 keatas 

Syntax : LOCK Operand 

Pengaruh flag : Tidak Ada 

Fungsi : Perintah ini dipakai  terutama pada komputer yang memiliki 

procesor lebih dari satu. Perintah LOCK mengunci suatu area pada  pemakaian

oleh mikroprocesor lainnya. 

Catatan: Perintah XCHG selalu mengaktifkan LOCK. 

Mnemonic : LODSB (Load A Byte From String Into AL)

Tersedia pada : 8088 keatas 

Syntax : LODSB 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk menyalin  data 1 byte dari alamat DS:SI ke register AL. 

Mnemonic : LOOP

Tersedia pada : 8088 keatas 

Syntax : LOOP Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk melakukan suatu proses yang berulang (Looping) dengan 

CX sebagai counternya. Perintah LOOP akan mengurangkan CX dengan 1 lalu 

dilihat apakah CX sudah  mencapai nol. Proses looping akan selesai bila  

register CX sudah  mencapai nol. Oleh sebab  inilah maka bila  pelajar  menjadikan 

CX=0 pada saat pertama kali, pelajar  akan memperoleh  suatu pengulangan yang 

terbanyak sebab  pengurangan 0-1=-1(FFFF). 

Catatan: LOOP hanya dapat melakukan lompatan menuju "Tujuan" bila jaraknya

tidak lebih dari -128 dan +127 byte. 

Contoh: 

 XOR CX,CX ; Melakukan pengulangan 

 Ulang: ; sebanyak FFFF kali 

 LOOP Ulang ;


Mnemonic : LOOPE ( Loop While Equal) 

Tersedia pada : 8088 keatas 

Syntax : LOOPE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk melakukan pengulangan selama register CX tidak sama

dengan 0 dan ZF=1. LOOPE hanya dapat melakukan lompatan menuju "Tujuan" bila

jaraknya tidak lebih dari -128 dan +127 byte. LOOPE identik dengan LOOPZ. 

Mnemonic : LOOPNE (Loop While Not Equal)

Tersedia pada : 8088 keatas 

Syntax : LOOPNE Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk melakukan pengulangan selama register CX tidak sama

dengan 0 dan ZF=0. LOOPNE hanya dapat melakukan lompatan menuju "Tujuan" bila 

jaraknya tidak lebih dari -128 dan +127 byte. LOOPE identik dengan LOOPNZ. 

Mnemonic : LOOPNZ (Loop While Not Zero)

Tersedia pada : 8088 keatas 

Syntax : LOOPNZ Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan LOOPNE. 

Mnemonic : LOOPZ

Tersedia pada : 8088 keatas 

Syntax : LOOPZ Tujuan 

Pengaruh flag : Tidak Ada 

Fungsi : Identik dengan LOOPE. 

Mnemonic : MOV (Move)

Tersedia pada : 8088 keatas 

Syntax : MOV Tujuan,Sumber 

Pengaruh flag : Tidak Ada

Fungsi : Untuk menyalinkan  isi "Sumber" ke "Tujuan". Antara "Sumber" 

dan "Tujuan" harus memiliki  tipe data yang sama, seperti AL dan BL, AX dan 

BX. Pada perintah MOV ini harus kita  perhatikan bahwa: 

- Segment register tidak bisa langsung diisi nilainya, seperti: 

 MOV ES,0B800h 

Untuk masalah seperti ini kita  bisa memakai  register general purpose

sebagai perantara, seperti: 

 

 MOV AX,0B800h 

 MOV ES,AX 

 

- Register CS sebaiknya tidak dipakai  sebagai "Tujuan" sebab  ini  akan

mengacaukan program  kita . 

- menyalinkan  data antar segment register tidak bisa dipakai , seperti: 

 MOV ES,DS 

Untuk masalah seperti ini kita  bisa memakai  register general purpose atau 

stack sebagai perantara, seperti: 

 MOV AX,DS 

 MOV ES,AX 

atau: 

 PUSH DS 

 POP ES 

 

- menyalinkan  data antar lokasi memory, seperti: 

 MOV A,B 

Untuk masalah seperti ini kita  bisa memakai  suatu register sebagai

perantara, seperti:

MOV AX,B 

 MOV A,AX 

Mnemonic : MOVSW (Move String Byte By Byte)

Tersedia pada : 8088 keatas 

Syntax : MOVSB 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk menyalin  data 1 byte dari alamat DS:SI ke alamat ES:DI. 

Bila DF=0(CLD) maka sesudah  intruksi MOVSB dijalankan, register SI dan DI akan 

ditambah dengan 1 sebaliknya bila  DF=1(STD) maka register SI dan DI akan 

dikurang dengan 1. 

Mnemonic : MOVSW (Move String Word By Word)

Tersedia pada : 8088 keatas 

Syntax : MOVSW 

Pengaruh flag : Tidak Ada 

Fungsi : Untuk menyalin  data 1 Word dari alamat DS:SI ke alamat ES:DI. 

Bila DF=0(CLD) maka sesudah  intruksi MOVSW dijalankan, register SI dan DI akan 

ditambah dengan 2 sebaliknya bila  DF=1(STD) maka register SI dan DI akan 

dikurang dengan 2. 

Mnemonic : MUL (Multiply)

Tersedia pada : 8088 keatas 

Syntax : MUL Sumber 

Pengaruh flag : OF, CF 

Fungsi : Bila "Sumber" bertipe 8 bit maka akan dilakukan perkalian

antara "Sumber" dengan AL. Hasilnya disimpan pada register AX. Bila "Sumber" 

bertipe 16 bit maka akan dilakukan perkalian antara "Sumber" dengan AX.

Hasilnya disimpan pada pasangan register DX:AX. 

Contoh: 

 MUL BH ; AX = BH * AL 

 MUL BX ; DX:AX = BX * AX
(236)
Mnemonic : NEG (Negate)

Tersedia pada : 8088 keatas 

Syntax : NEG Operand 

Pengaruh flag : OF, SF, ZF, AF, PF, CF 

Fungsi : Untuk mengubah "Operand" menjadi negatif. 

Contoh: 

 

 MOV BH,1 ; BH = 01h 

 NEG BH ; BH = FFh 

Mnemonic : NOT

Tersedia pada : 8088 keatas 

Syntax : NOT Operand 

Pengaruh flag : Tidak Ada 

Fungsi : Membalikkan bit pada operand. bila  bit operand bernilai 0

akan dijadikan 1 sebaliknya bila  1 akan dijadikan 0. 

Contoh: 

 MOV AL,10010011b 

 NOT AL ; AL = 01101100b 

Mnemonic : OR

Tersedia pada : 8088 keatas 

Syntax : OR Tujuan,Sumber 

Pengaruh flag : OF, SF, ZF, PF, CF 

Fungsi : Melakukan logika OR antara "Tujuan" dan "Sumber". Hasil dari 

operasi OR diletakkan pada "Tujuan". Instruksi OR biasanya dipakai  untuk 

menjadikan suatu bit menjadi 1. 

Contoh: 

 OR AL,00000001b ; Jadikan bit ke 0 dari AL menjadi 1 

Mnemonic : OUT (Output to Port)

Tersedia pada : 8088 keatas 

Syntax : OUT NoPort,Operand

Pengaruh flag : Tidak ada 

Fungsi : Untuk memasukkan 1 byte atau 1 word dari "operand" ke

"NoPort" sesuai dengan tipe data "operand". bila  "Operand" yaitu  register

AL maka akan dikirimkan data pada port sebanyak 1 byte, bila "operand"

yaitu  register AX maka akan dikirimkan data pada port sebanyak 1 word.

"NoPort" bisa langsung diberi nilai bila nomor port dibawah 255. Bila nomor 

port melebihi 255 maka "NoPort" harus berupa register DX yang mencatat nomor

port itu . 

 

Mnemonic : OUTS (Output String To Port)

Tersedia pada : 8088 keatas 

Syntax : OUTS NoPort,Operand 

Pengaruh flag : Tidak ada 

Fungsi : Untuk mengirimkan data dari "operand" ke "NoPort" yang 

dicatat oleh register DX sebanyak 1 byte atau 1 word, sesuai dengan tipe

"operand". Jadi "operand" hanya berfungsi sebagai penunjuk besarnya data yang

akan dikirimkan menuju port. Data yang akan dikirimkan menuju port disimpan

pada lokasi ES:SI. 

bila  Direction flag bernilai 0(dengan CLD) maka sesudah  intruksi OUTS 

dijalankan register SI akan ditambah secara otomatis, sebaliknya bila 

Direction flag bernilai 1(dengan STD) maka register SI akan dikurang secara

otomatis. kita  bisa memakai  intruksi pengulangan pada string ditambah 

dengan perintah OUTS ini. 

Mnemonic : OUTSB (Output String Byte To Port)

Tersedia pada : 8088 keatas 

Syntax : OUTSB 

Pengaruh flag : Tidak ada 

Fungsi : Untuk memasukkan data dari lokasi DS:SI ke nomor port yang

dicatat oleh register DX sebanyak 1 byte. 

bila  Direction flag bernilai 0(dengan CLD) maka sesudah  intruksi OUTSB 

dijalankan register SI akan ditambah dengan 1 secara otomatis, sebaliknya bila 

Direction flag bernilai 1(dengan STD) maka register SI akan dikurang dengan 1

secara otomatis. kita  bisa memakai  intruksi pengulangan pada string

ditambah  dengan perintah OUTSB ini.

Mnemonic : OUTSW (Output String Wyte To Port)

Tersedia pada : 8088 keatas 

Syntax : OUTSW 

Pengaruh flag : Tidak ada 

Fungsi : Untuk memasukkan data dari lokasi DS:SI ke nomor port yang

dicatat oleh register DX sebanyak 1 word. 

bila  Direction flag bernilai 0(dengan CLD) maka sesudah  intruksi OUTSW 

dijalankan register SI akan ditambah dengan 2 secara otomatis, sebaliknya bila 

Direction flag bernilai 1(dengan STD) maka register SI akan dikurang dengan 2

secara otomatis. kita  bisa memakai  intruksi pengulangan pada string

ditambah  dengan perintah OUTSW ini. 

Mnemonic : POP (Pop A Word From Stack)

Tersedia pada : 8088 keatas 

Syntax : POP Tujuan 

Pengaruh flag : Tidak ada 

Fungsi : Untuk mengambil data 1 word dari stack(SS:SP) dan disimpan 

pada "Tujuan". Sesudah  intruksi POP dijalankan register SP akan ditambah

dengan 2. 

Contoh: 

 PUSH DS 

 POP ES 

Mnemonic : POPA (Pop All General Purpose Registers)

Tersedia pada : 8088 keatas 

Syntax : POPA 

Pengaruh flag : Tidak ada 

Fungsi : Untuk mengambil 8 word dari stack menuju register berturutturut DI, SI, BP, SP, BX, DX, CX dan AX. Dengan PUSHA program  kita  akan

berjalan lebih cepat dan efesian dibandingkan bila kita  menyimpannya dengan 

cara:

POP DI 

 POP SI 

 POP BP 

 POP SP 

 POP BX 

 POP DX 

 POP CX 

 POP AX 

Mnemonic : POPF (Pop Flags Off Stack)

Tersedia pada : 8088 keatas 

Syntax : POPF 

Pengaruh flag : OF, DF, IF, TF, SF, ZF, AF, PF, CF 

Fungsi : Untuk mengambil 1 word dari stack ke flags registers. Sesudah  

intruksi POPF dijalankan register SP akan ditambah dengan 2. 

Mnemonic : PUSH (Push Operand Onto Stack)

Tersedia pada : 8088 keatas 

Syntax : PUSH Sumber 

Pengaruh flag : Tidak ada 

Fungsi : Untuk menyimpan data 1 word dari "Sumber" ke stack(SS:SP).

"Sumber" yaitu  operand yang bertipe 16 bit. Sesudah  intruksi PUSH

dijalankan register SP akan dikurang dengan 2. 

Mnemonic : PUSHF (Push Flags Onto Stack)

Tersedia pada : 8088 keatas 

Syntax : PUSHF 

Pengaruh flag : Tidak ada 

Fungsi : Untuk menyimpan flags registers ke stack. Intruksi ini

yaitu  kebalikan dari intruksi POPF. Sesudah  intruksi PUSHF dijalankan

register SP akan dikurang dengan 2.

Mnemonic : RCL (Rotate Through Carry Left)

Tersedia pada : 8088 keatas 

Syntax : RCL Operand,Reg 

Pengaruh flag : OF, CF 

Fungsi : Untuk memutar "Operand" sebanyak "Reg" kali ke kiri melalui

CF. Bit yang tergeser keluar dari kiri akan dimasukkan pada CF dan nilai CF 

akan dimasukkan pada bit terkanan dari "Operand". 

 +----+ +----------------+ 

 | CF |<--+ Operand |<-+ 

 +-+--+ +----------------+ | 

 +--------------------------+ 

Pada mikroprosesor 8088 "Reg" haruslah berupa register CL atau CX bila

perputaran yang dilakukan pada  "Operand" lebih dari 1. 

Contoh: 

 MOV BL,00100110b ; contoh  CF=1 

 RCL BL,1 ; BL = 01001101b CF=0 

 

Mnemonic : RCR (Rotate through Carry Right)

Tersedia pada : 8088 keatas 

Syntax : RCR Operand,Reg 

Pengaruh flag : OF, CF 

Fungsi : Untuk memutar "Operand" sebanyak "Reg" kali ke kanan melalui 

CF. Bit yang tergeser keluar dari kanan akan dimasukkan pada CF dan nilai CF 

akan dimasukkan pada bit terkiri dari "Operand". 

 +----------------+ +----+ 

 +>| Operand +--->| CF | 

 | +----------------+ +--+-+ 

 +--------------------------+

Pada mikroprosesor 8088 "Reg" haruslah berupa register CL atau CX bila

perputaran yang dilakukan pada  "Operand" lebih dari 1. 

Contoh: 

 MOV BL,00100110b ; contoh  CF=1 

 RCR BL,1 ; BL = 10010011b CF=0 

Mnemonic : REP (Repeat)

Tersedia pada : 8088 keatas 

Syntax : REP Instruksi 

Pengaruh flag : Tidak ada 

Fungsi : Melakukan "intruksi" sebanyak CX kali. Intruksi REP biasanya

diikuti oleh Intruksi yang berkaitan  dengan operasi pada string. 

 

Mnemonic : REPE (Repeat While Equal) 

Tersedia pada : 8088 keatas 

Syntax : REPE Intruksi 

Pengaruh flag : Tidak ada 

Fungsi : Melakukan "intruksi" sebanyak CX kali atau sampai zero flag

bernilai 1. Intruksi REPE biasanya diikuti oleh Intruksi yang berkaitan  

dengan operasi pada string. 

Contoh: 

 MOV CX,200 

 REPE CMPS String1,String2 

 

Intruksi diatas akan membandingkan string1 dengan string2 sebanyak 200

kali atau sampai ditemukan adanya ketidaksamaan antara String1 dan String2

yang membuat zero flag bernilai 1. 

Mnemonic : REPNE (Repeat While Not Equal)

Tersedia pada : 8088 keatas 

Syntax : REPNE Instruksi 

Pengaruh flag : Tidak ada 

Fungsi : Melakukan "intruksi" sebanyak CX kali atau sampai zero flag

bernilai 0. Intruksi REPNE biasanya diikuti oleh Intruksi yang berkaitan 

dengan operasi pada string. 

Contoh: 

 MOV CX,200 

 REPNE CMPS String1,String2 

 

Intruksi diatas akan membandingkan string1 dengan string2 sebanyak 200

kali atau sampai ditemukan adanya kesamaan antara String1 dan String2 yang 

membuat zero flag bernilai 0. 

Mnemonic : REPNZ (Repeat While Not Zero)

Tersedia pada : 8088 keatas 

Syntax : REPNZ Instruksi 

Pengaruh flag : Tidak ada 

Fungsi : Identik dengan REPNE. 

Mnemonic : REPZ (Repeat While Zero)

Tersedia pada : 8088 keatas 

Syntax : REPZ Instruksi 

Pengaruh flag : Tidak ada 

Fungsi : Identik dengan REPE. 

Mnemonic : RET (Return From Procedure)

Tersedia pada : 8088 keatas 

Syntax : RET [Size]


Pengaruh flag : Tidak ada 

Fungsi : RET akan mengambil alamat pada stack untuk melakukan lompatan

pada alamat itu . RET biasanya diletakkan pada akhir dari suatu procedure 

yang dipanggil dengan CALL (Lihat CALL). Bila pada perintah RET diberi 

parameter, maka paramter itu akan dipakai  sebagai angka tambahan dalam

mengambil data pada stack. 

Contoh: 

 RET 2 

Mnemonic : ROL (Rotate Left)

Tersedia pada : 8088 keatas 

Syntax : ROL Operand,Reg 

Pengaruh flag : OF, CF 

Fungsi : Untuk memutar "Operand" sebanyak "Reg" kali ke kiri. Bit yang 

tergeser keluar dari kiri akan dimasukkan pada CF dan pada bit terkanan dari

"Operand". 

 +----+ +----------------+ 

 | CF |<--+-+ Operand |<-+ 

 +----+ | +----------------+ | 

 +---------------------+ 

Pada mikroprosesor 8088 "Reg" haruslah berupa register CL atau CX bila

perputaran yang dilakukan pada  "Operand" lebih dari 1. 

Contoh: 

 MOV BL,00100110b ; contoh  CF=1 

 ROL BL,1 ; BL = 01001100b CF=0 

Mnemonic : ROR (Rotate Right) 

Tersedia pada : 8088 keatas

Syntax : ROR Operand,Reg 

Pengaruh flag : OF, CF 

Fungsi : Untuk memutar "Operand" sebanyak "Reg" kali ke kanan. Bit

yang tergeser keluar dari kanan akan dimasukkan pada CF dan pada bit terkiri

dari "Operand". 

 +----------------+ +----+ 

 +>| Operand +-+-->| CF | 

 | +----------------+ | +----+ 

 +--------------------+ 

Pada mikroprosesor 8088 "Reg" haruslah berupa register CL atau CX bila

perputaran yang dilakukan pada  "Operand" lebih dari 1. 

Contoh: 

 MOV BL,00100110b ; contoh  CF=1 

 ROR BL,1 ; BL = 00010011b CF=0 

Mnemonic : SAHF (Store AH into Flag Register)

Tersedia pada : 8088 keatas 

Syntax : SAHF 

Pengaruh flag : SF, ZF, AF, PF, CF 

Fungsi : Untuk menyalinkan  nilai AH pada 8 bit rendah dari flag 

register, yaitu: CF, PF, AF, ZF dan SF. Intruksi ini yaitu  kebalikan dari 

Intruksi LAHF. 

Mnemonic : SAL (Arithmatic Shift Left)

Tersedia pada : 8088 keatas 

Syntax : SAL Operand,Reg 

Pengaruh flag : OF, SF, ZF, PF, CF 

Fungsi : Untuk menggerser "Operand" sebanyak "Reg" kali ke kiri(Lihat

SHL). 


Mnemonic : SBB (Substract With Carry)

Tersedia pada : 8088 keatas 

Syntax : SBB Tujuan,Sumber 

Pengaruh flag : OF, SF, ZF, AF, PF, CF 

Fungsi : Untuk mengurangkan "Sumber" dengan "Tujuan" dan Carry Flag

(1=on, 0=off), hasilnya diletakkan pada "Tujuan" (Tujuan=Tujuan-Sumber-CF). 

Mnemonic : SCASB (Scan String For Byte)

Tersedia pada : 8088 keatas 

Syntax : SCASB 

Pengaruh flag : OF, SF, ZF, AF, PF, CF 

Fungsi : Untuk membandingkan isi register AL dengan data pada alamat

ES:DI. 

Mnemonic : SCASW (Scan String for Word)

Tersedia pada : 8088 keatas 

Syntax : SCASW 

Pengaruh flag : OF, SF, ZF, AF, PF, CF 

Fungsi : Untuk membandingkan isi register AX dengan data pada alamat

ES:DI. 

Mnemonic : SHL (Shift Left)

Tersedia pada : 8088 keatas 

Pengaruh flag : OF, SF, ZF, PF, CF 

Syntax : SHL Operand,Reg 

Fungsi : Untuk menggeser geser  bit dari "operand" sebanyak "Reg" kali ke

kiri. Bila pergeseran yang dilakukan lebih dari 1 kali maka "Reg" harus berupa

regisrer CL atau CX. 

Contoh: 

 MOV BL,00000001b 

 SHL BL,1 ; BL=00000010b

Dengan menggeser geser  n kali kekiri yaitu sama bila bilangan itu  dikali

dengan 2 pangkat n. 

Mnemonic : SHR (Shift Right)

Tersedia pada : 8088 keatas 

Syntax : SHR Operand,Reg 

Pengaruh flag : OF, SF, ZF, PF, CF 

Fungsi : Untuk menggeser geser  bit dari "operand" sebanyak "Reg" kali ke

kanan. Bila pergeseran yang dilakukan lebih dari 1 kali maka "Reg" harus 

berupa regisrer CL atau CX. 

Contoh: 

 MOV BL,00000100b 

 SHR BL,1 ; BL=00000010b 

Dengan menggeser geser  n kali kekanan yaitu sama bila bilangan itu 

dibagi dengan 2 pangkat n. 

Mnemonic : STC (Set Carry Flag)

Tersedia pada : 8088 keatas 

Syntax : STC 

Pengaruh flag : CF 

Fungsi : Untuk menjadikan Carry flag menjadi 1. 

Mnemonic : STD (Set Direction Flag)

Tersedia pada : 8088 keatas 

Syntax : STD 

Pengaruh flag : DF 

Fungsi : Untuk menjadikan Direction flag menjadi 1. Intruksi ini

yaitu  kebalikan dari intruksi CLD (lihat CLD). 

Mnemonic : STI (Set Interrupt Flag)

Tersedia pada : 8088 keatas


Syntax : STI 

Pengaruh flag : IF 

Fungsi : Untuk membuat Interrupt flag menjadi 1 agar interupsi dapat

terjadi lagi. Intruksi ini yaitu  kebalikan dari intruksi CLI (lihat CLI). 

Mnemonic : STOSB (Store AL )

Tersedia pada : 8088 keatas 

Syntax : STOSB 

Pengaruh flag : Tidak ada 

Fungsi : Untuk menyalinkan  isi register AL pada alamat ES:DI. bila 

Direction flag bernilai 0(dengan CLD) maka sesudah  intruksi STOSB dijalankan

register DI akan ditambah dengan 1 secara otomatis, sebaliknya bila  Direction 

flag bernilai 1(dengan STD) maka register DI akan dikurang dengan 1 secara

otomatis. kita  bisa memakai  intruksi pengulangan pada string ditambah 

dengan perintah STOSB ini. 

Mnemonic : STOSW (Store Word in AX at String)

Tersedia pada : 8088 keatas 

Syntax : STOSW 

Pengaruh flag : Tidak ada 

Fungsi : Untuk menyalinkan  isi register AX pada alamat ES:DI. bila 

Direction flag bernilai 0(dengan CLD) maka sesudah  intruksi STOSW dijalankan

register DI akan ditambah dengan 2 secara otomatis, sebaliknya bila  Direction 

flag bernilai 1(dengan STD) maka register DI akan dikurang dengan 2 secara

otomatis. kita  bisa memakai  intruksi pengulangan pada string ditambah 

dengan perintah STOSW ini. 

Mnemonic : SUB (Substract) 

Tersedia pada : 8088 keatas 

Syntax : SUB Tujuan,Sumber 

Pengaruh flag : OF, SF, ZF, AF, PF, CF 

Fungsi : Untuk mengurangkan "Tujuan" dengan "Sumber". Hasil 

pengurangan akan disimpan pada "Tujuan". 

Contoh:


SUB BX,BX ; BX=0 

Mnemonic : TEST

Tersedia pada : 8088 keatas 

Syntax : TEST Operand1,Operand2 

Pengaruh flag : OF, SF, ZF, PF, CF 

Fungsi : Untuk melakukan operasi AND antara "Operand1" dan "Operand2".

Hasil dari operasi AND hanya mempengaruhi flag register saja dan tidak 

mempengaruhi nilai "operand1" atau  "operand2". 

Mnemonic : WAIT

Tersedia pada : 8088 keatas 

Syntax : WAIT 

Pengaruh flag : Tidak ada 

Fungsi : Untuk menghentikan CPU sampai adanya interupsi dari luar.

Intruksi ini bisanya dipakai  untuk bekerja sama dengan Coprosesor. 

Mnemonic : XCHG (Exchange)

Tersedia pada : 8088 keatas 

Syntax : XCHG Operand1,Operand2 

Pengaruh flag : Tidak ada 

Fungsi : Untuk menukar "Operand1" dengan "Operand2". 

Contoh: 

Potongan program  di bawah akan mengatur agar AX > BX 

 CMP AX,BX 

 JAE Selesai 

 XCHG AX,BX 

Selesai : 

 ..........

Mnemonic : XLAT (Translate)

Tersedia pada : 8088 keatas 

Syntax : XLAT 

Pengaruh flag : Tidak ada 

Fungsi : Untuk menyalinkan  isi dari alamat DS:[BX] ditambah dengan AL 

ke AL (AL=DS:[BX]+AL). 

Mnemonic : XOR 

Tersedia pada : 8088 keatas 

Syntax : XOR Tujuan,Sumber 

Pengaruh flag : Tidak ada 

Fungsi : Melakukan logika XOR antara "Tujuan" dan "Sumber". Hasil dari

operasi XOR diletakkan pada "Tujuan". Fungsi XOR yg paling populer yaitu 

untuk menolkan suatu register. Dengan logika XOR program  akan berjalan lebih 

cepat dan efisien. 

Contoh: 

 XOR AX,AX ; AX akan bernilai nol sesudah  perintah ini

DAFTAR INTERRUPT PILIHAN 

INTERRUPT 05h 

Print Screen 

Fungsi : Mencetak seluruh isi layar ke printer. 

Register Input : Tidak Ada. Register Output : Tidak Ada. 

INTERRUPT 09h 

Keyboard 

Fungsi : Interupsi 09 yaitu  HardWare interupsi dari keyboard. Setiap

penekanan tombol keyboard akan membangkitkan interupsi 09. Handler dari

interupsi 09 lalu  akan mengambil data dari tombol apa yang ditekan dari

Port 60h yang berisi kode scan tombol. Dari kode scan ini lalu  akan

diterjemahkan dalam kode ASCII atau Extended dan disimpan pada keyboard buffer

untuk lalu  dipakai  oleh interupsi lain. 

INTERRUPT 10h - Service 00h 

Set Video Mode 

Fungsi : Mengubah Mode Video. 

Register Input : Register Output : Tidak Ada. 

AH = 00h 

AL = nomor mode 

Penjelasan : Setiap dilakukan pergantian mode akan menimbulkan efek CLS,

kecuali nomor mode dijumlahkan dengan 128 atau bit ke-7 pada AL diset 1.

INTERRUPT 10h - Service 01h 

Set Cursor Size 

Fungsi : Merubah ukuran kursor pada mode teks. 

Register Input : Register Output : Tidak Ada. 

AH = 01h 

CH = awal garis bentuk kursor 

CL = akhir garis bentuk kursor 

INTERRUPT 10h - Service 02h 

Set Cursor Position 

Fungsi : Meletakkan kursor pada posisi tertentu. 

Register Input : Register Output : Tidak Ada. 

AH = 02h 

BH = nomor halaman tampilan 

DH = nomor baris (dimulai 00) 

DL = nomor kolom (dimulai 00) 

INTERRUPT 10h - Service 03h 

Cursor Information 

Fungsi : Memperoleh Informasi posisi kursor dan ukurannya. 

Register Input : Register Output :

AH = 03h CH = awal garis bentuk kursor 

BH = nomor halaman tampilan CL = akhir garis bentuk kursor 

 DH = nomor baris 

 DL = nomor kolom 

Penjelasan : Setiap halaman tampilan memiliki kursornya sendiri- sendiri.

(251)

INTERRUPT 10h - Service 05h 

Select Active Page 

Fungsi : Merubah halaman tampilan aktif. 

Register Input : Register Output : Tidak Ada. 

AH = 05h 

AL = nomor halaman tampilan 

INTERRUPT 10h - Service 06h 

Scroll Up Window 

Fungsi : Menggulung jendela ke atas. 

Register Input : Register Output : Tidak Ada. 

AH = 06h 

AL = jumlah baris untuk digulung 

BH = atribut untuk baris kosong 

CH,CL = koordinat kiri atas jendela 

DH,DL = koordinat kanan bawah jendela 

Penjelasan : AL diisi 00 akan mengosongkan keseluruhan jendela. 

INTERRUPT 10h - Service 07h 

Scroll Down Window 

Fungsi : Menggulung jendela ke bawah. 

Register Input : Register Output : Tidak Ada. 

AH = 07h 

AL = jumlah baris untuk digulung 

BH = atribut untuk baris kosong 

CH,CL = koordinat kiri atas jendela 

DH,DL = koordinat kanan bawah jendela 

Penjelasan : AL diisi 00 akan mengosongkan keseluruhan jendela.


INTERRUPT 10h - Service 09h 

Write Character And Attribute At Cursor Position 

Fungsi : Mencetak huruf    dan atribut pada posisi kursor. 

Register Input : Register Output : Tidak Ada. 

AH = 09h 

AL = kode ASCII huruf    

BH = nomor halaman 

BL = atribut huruf    

CX = jumlah pengulangan pencetakan 

Penjelasan : huruf    kontrol akan dicetak sebagai huruf    biasa. 

INTERRUPT 10h - Service 0Ah 

Write Character At Cursor Position 

Fungsi : Mencetak huruf    pada posisi kursor. 

Register Input : Register Output : Tidak Ada. 

AH = 0Ah 

AL = kode ASCII huruf    

BH = nomor halaman 

CX = jumlah pengulangan pencetakan 

Penjelasan : huruf    kontrol akan dicetak sebagai huruf    biasa, atribut

yang dipakai  akan sama dengan atribut yang lama. 

INTERRUPT 10h - Service 0Eh 

Teletype Output 

Fungsi : Output huruf    sederhana. 

Register Input : Register Output : Tidak Ada. 

AH = 0Eh 

AL = kode ASCII huruf    

BH = nomor halaman 

Penjelasan : huruf    kontrol berpengaruh sesuai fungsinya. Pada ROM BIOS

dengan tanggal antara 24/4/81 ke atas biasanya register BH tidak berfungsi 

sebab  setiap output akan dicetak ke halaman aktif.

INTERRUPT 10h - Service 0Fh 

Get Current Video Mode 

Fungsi : memperoleh  mode video aktif. 

Register Input : Register Output :

AH = 0Fh AL = mode video (gambar  kode   5.1.) 

 AH = jumlah huruf    per kolom 

 BH = nomor halaman tampilan 

Penjelasan : bila  mode video diset dengan bit 7 on, maka AL yang diperoleh  juga 

akan berisi bit 7 on. 

Konflik : Driver tampilan VUIMAGE 

INTERRUPT 10h - Service 11h,Subservice 00h 

Load User Specific Character 

Fungsi : Membuat huruf    ASCII baru. 

ada  pada : Sistem dilengkapi tampilan EGA, VGA, dan MCGA. 

Register Input : Register Output : Tidak Ada 

AH = 11h 

AL = 00h 

CX = jumlah huruf    akan diubah 

DX = nomor huruf    mulai diubah 

BL = nomor blok untuk diubah 

BH = jumlah byte per huruf    

ES:BP = buffer bentuk huruf    

INTERRUPT 10h - Service 11h,Subservice 03h 

Set Block Specifier 

Fungsi : memberi  identitas tabel huruf    untuk ditampilkan. 

ada  pada : Sistem dilengkapi tampilan EGA, VGA, dan MCGA. 

Register Input : Register Output : Tidak Ada 

AH = 11h 

AL = 03h 

BL = penkita  tabel huruf    

INTERRUPT 10h - Service 12h,Subservice 10h 

Get EGA Information

Fungsi : Memperoleh huruf   istik sistem video. 

ada  pada : Sistem dilengkapi tampilan EGA ke atas. 

Register Input : Register Output :

AH = 12h BH = 00h monitor warna 

BL = 10h 01h monitor mono 

 BL = 00h Card 64 KB 

 01h Card 128 KB 

 02h Card 192 KB 

 03h Card 256 KB 

INTERRUPT 10h - Service 13h 

Write String 

Fungsi : Mencetak string ke Layar 

ada  pada : Mesin 80286 ke atas dengan tampilan EGA ke atas. 

Register Input : Register Output : Tidak Ada. 

AH = 13h 

AL = 00h 

BH = nomor halaman 

BL = atribut untuk string 

CX = jumlah huruf    pada string 

DH,DL = koordinat untuk memulai pencetakan 

ES:BP = alamat string yang akan dicetak 

Penjelasan : Memperlakukan huruf    kontrol sesuai fungsinya. 

INTERRUPT 10h - Service 1Ah,Subservice 00h 

Get Display Combination 

Fungsi : Memperoleh informasi tampilan 

ada  pada : Sistem dengan tampilan VGA dan MCGA. 

Register Input : Register Output :

AH = 1Ah AL = 1Ah bila  berhasil 

AL = 00h BL = kode tampilan aktif 

 BH = kode tampilan kedua 

INTERRUPT 10h - Service 1Bh

VGA State Information 

Fungsi : Memperoleh informasi tampilan. 

ada  pada : Sistem dengan tampilan VGA dan MCGA. 

Register Input : Register Output :

AH = 1Bh AL = 1Bh bila berhasil 

BX = 0000h ES:DI = alamat buffer 64 

ES:DI = alamat buffer 64 byte informasi 

 byte untuk diisi 

INTERRUPT 10h - Service 4Fh,Subservice 00h 

VESA SuperVga Information 

Fungsi : Memperoleh informasi VESA. 

ada  pada : Sistem dengan card tampilan VESA SuperVga. 

Register Input : Register Output :

AX = 4F00h AL = 4Fh bila  berhasil 

ES:DI = alamat buffer 256 AH = 00h bila  berhasil 

 byte untuk diisi ES:DI = alamat buffer 256 

 byte informasi 

INTERRUPT 16h - Service 00h 

Get Keystroke 

Fungsi : Menunggu masukan keyboard. 

ada  pada : Semua mesin. 

Register Input : Register Output : 

AH = 00h bila  AL=0 maka 

 AH = kode Extended 

 bila  AL<>0 maka 

 AL = Kode ASCII 

 AH = Kode Scan 

INTERRUPT 16h - Service 01h 

Check Keystroke 

Fungsi : Mengecek isi keyboard buffer. 

ada  pada : Semua mesin.

Register Input : Register Output : 

AH = 01h ZF=0 bila buffer tidak kosong 

 bila  AL=0 maka 

 AH = kode Extended 

 bila  AL<>0 maka 

 AL = Kode ASCII 

 AH = Kode Scan 

 ZF=1 bila buffer kosong 

INTERRUPT 16h - Service 10h 

Get Enhanced Keystroke 

Fungsi : Menunggu masukan keyboard. 

ada  pada : Mesin AT dengan keyboard Enhanced. 

Register Input : Register Output : 

AH = 10h AH = kode scan 

 AL = kode ASCII 

INTERRUPT 16h - Service 11h 

Check Enhanced Keystroke 

Fungsi : Mengecek isi keyboard buffer. 

ada  pada : Mesin AT dengan keyboard Enhanced. 

Register Input : Register Output : 

AH = 11h ZF=0 bila buffer tidak kosong 

 bila  AL=0 maka 

 AH = kode Extended 

 bila  AL<>0 maka 

 AL = Kode ASCII 

 AH = Kode Scan 

 ZF=1 bila buffer kosong 

INTERRUPT 19h 

Bootstrap Loader 

Fungsi : Melakukan Warm Boot. 

Register Input : Tidak Ada. Register Output : Tidak Ada.



INTERRUPT 1Bh 

Control Break Handler 

Fungsi : Interupsi ini terjadi setiap kali terjadi penekanan tombol 

Ctrl+Break. 

Register Input : Tidak Ada. Register Output : Tidak Ada. 

INTERRUPT 1Ch 

Timer Tick 

Fungsi : Interupsi ini disediakan untuk dipakai  oleh pemakai. Interupsi 1Ch 

akan terjadi kurang lebih 18,2 kali setiap detik. kita  bisa membuat program  

residen dengan memanfaatkan timer tick ini. 

Register Input : Tidak Ada. Register Output : Tidak Ada. 

INTERRUPT 21h - Service 01h 

Read Character With Echo 

Fungsi : Untuk membaca masukan 1 huruf    dari keyboard dan menampilkannya ke

layar. Fungsi ini dapat dihentikan oleh penekanan tombol Ctrl+Break. 

Register Input : Register Output : 

AH = 10h AL = Kode ASCII 

Catatan : Berbeda dengan fungsi dari BIOS, untuk membaca huruf    khusus yang 

memiliki  kode Extended, kita  harus membacanya dua kali dengan fungsi dari DOS

ini. 

INTERRUPT 21h - Service 02h 

Write Character To Standa  rd Output 

Fungsi : Untuk mencetak satu buah huruf    pada layar. 

Register Input : Register Output : Tidak ada 

AH = 02h 

DL = Kode ASCII 

INTERRUPT 21h - Service 07h 

Direct Character Input Without Echo 

Fungsi : Untuk membaca masukan 1 huruf    dari keyboard. Fungsi ini tidak akan

menampilkan huruf    yang ditekan pada layar, selain itu penekanan tombol 

Ctrl+Break juga akan diabaikan. 

Register Input : Register Output : 

AH = 07h AL = Kode ASCII 

INTERRUPT 21h - Service 08h 

Character Input Without Echo 

Fungsi : Untuk membaca masukan 1 huruf    dari keyboard. Fungsi ini tidak akan

menampilkan huruf    yang ditekan pada layar. Penekanan tombol Ctrl+Break akan

menghentikan fungsi ini. 

Register Input : Register Output :

AH = 08h AL = Kode ASCII 

INTERRUPT 21h - Service 09h 

Write String To Standa  rd Output 

Fungsi : Untuk mencetak string ke layar. 

Register Input : Register Output : Tidak ada 

AH = 09h 

DS:DX = String yang diakhiri 

 dengan tanda   "$". 

INTERRUPT 21h - Service 0Ah 

Input String 

Fungsi : Untuk memperoleh  masukan string dari keyboard. 

Register Input : Register Output :

AH = 0Ah Buffer terisi 

DS:DX = Buffer 

Spesifikasi buffer: 

- Offset 00 mencatat maksimum huruf    yang dapat dimasukkan. 

- Offset 01 banyaknya masukan dari keyboard yang sudah  diketikkan. Tombol CR

tidak akan dihitung. 

- Offset 02 keatas, tempat dari string yang diketikkan disimpan. 

INTERRUPT 21h - Service 0Bh 

Get Status

Fungsi : Mengecek isi keyboard buffer. 

Register Input : Register Output : 

AH = 0Bh AL = 00 bila  tidak ada 

 huruf    

 AL = FFh bila  ada huruf    

INTERRUPT 21h - Service 0Ch 

Clear Buffer dan Read Input 

Fungsi : Untuk mengosongkan keyboard buffer, lalu  melakukan  fungsi DOS 

01, 06, 07, 08 atau 0Ah. 

Register Input : Register Output : Tidak ada 

AH = 0Ch 

AL = Fungsi yang akan dieksekusi 

 sesudah  buffer dikosongkan 

 (01,06,0,08 atau 0Ah). 

INTERRUPT 21h - Service 0Fh 

Open File Using FCB 

Fungsi : Membuka file dengan cara FCB. 

Register Input : Register Output : 

AH = 0Fh AL = 00h bila  sukses 

DS:DX = FCB AL = FFh bila  gagal 

INTERRUPT 21h - Service 10h 

Closes File Using FCB 

Fungsi : Untuk menutup file dengan cara FCB. 

Register Input : Register Output : 

AH = 10h AL = 00h bila  sukses 

DS:DX = FCB AL = FFh bila  gagal 

INTERRUPT 21h - Service 13h 

Delete File Using FCB 

Fungsi: Menghapus file dengan cara FCB. 

Register Input : Register Output :


AH = 13h AL = 00h bila  sukses 

DS:DX = FCB AL = FFh bila  gagal 

INTERRUPT 21h - Service 14h 

Sequential Read From FCB File 

Fungsi : Untuk membaca file secara sekuensial. 

Register Input : Register Output : 

AH = 14h AL = status 

DS:DX = FCB 

INTERRUPT 21h - Service 15h 

Sequential Write To FCB File 

Fungsi : Untuk menulis file secara sekuential. 

Register Input : Register Output : 

AH = 14h AL = Status 

DS:DX = FCB 

INTERRUPT 21h - Service 16h 

Create File Using FCB 

Fungsi : Untuk menciptakan sebuah file baru dengan cara FCB. 

Register Input : Register Output : 

AH = 16h AL = Status 

DS:DX = FCB 

INTERRUPT 21h - Service 17h 

Rename File Using FCB 

Fungsi : Untuk mengganti nama file dengan cara FCB. 

Register Input : Register Output : 

AH = 17h AL = Status 

DS:DX = FCB 

INTERRUPT 21h - Service 1Ah


Set DTA 

Fungsi : Untuk merubah alamat DTA. Secara default DTA terletak pada PSP offset

ke 80h sebanyak 128 byte. 

Register Input : Register Output : Tidak ada 

AH = 1Ah 

DS:DX = Lokasi DTA yang baru 

INTERRUPT 21h - Service 21h 

Read Random Record From FCB File 

Fungsi : Untuk membaca record dari file FCB. 

Register Input : Register Output : 

AH = 21h AL = Status 

DS:DX = FCB DTA = Hasil pembacaan 

INTERRUPT 21h - Service 22h 

Write random Record To FCB File 

Fungsi : untuk menulis record ke file FCB. 

Register Input : Register Output : 

AH = 22h AL = Status 

DS:DX = FCB 

DTA = Data record 

INTERRUPT 21h - Service 23h 

Get File Size 

Fungsi : Untuk mengetahui besarnya suatu file. 

Register Input : Register Output : 

AH = 23h AL = Status 

DS:DX = FCB 

INTERRUPT 21h - Service 24h 

Set Random Record Number For FCB 

Fungsi : Untuk memindahkan record untuk diakses oleh fungsi 21h dan 22h. 

Register Input : Register Output :

AH = 24h 

DS:DX = FCB 

INTERRUPT 21h - Service 25h 

Set Interrupt Vektor 

Fungsi : Untuk merubah vektor interupsi ke suatu lokasi dengan merubah alamat 

awal vektor interupsi. 

Register Input : Register Output : 

AH = 25h 

AL = Nomor Interupsi 

DS:DX = Lokasi baru 

Konflik : Phar Lap 386 

INTERRUPT 21h - Service 27h 

Random Block Read From FCB File 

Fungsi : Untuk membaca sejumlah record dari suatu file. 

Register Input : Register Output : 

AH = 27h AL = Status 

CX = Banyaknya record yang DTA = hasil pembacaan 

 akan dibaca CX = Banyaknya record yang 

DS:DX = FCB berhasil dibaca 

INTERRUPT 21h - Service 28h 

Random Block Write To FCB File 

Fungsi : Untuk menulis sejumlah record ke suatu file 

Register Input : Register Output : 

AH = 28h AL = Status 

CX = Banyaknya record yang CX = Banyaknya record yang 

 akan ditulisi berhasil ditulis 

DS:DX = FCB 

DTA = Data dari record

INTERRUPT 21h - Service 2Fh 

Get DTA Address 

Fungsi : Untuk mengetahui alamat dari DTA yang dipakai . 

Register Input : Register Output : 

AH = 2Fh ES:BX = Lokasi DTA 

INTERRUPT 21h - Service 30h 

Get DOS Version 

Fungsi : Untuk mengetahui versi DOS yang sedang dipakai  

Register Input : Register Output : 

AH = 30h AL = Angka mayor 

 AH = Angka minor 

INTERRUPT 21h - Service 31h 

Terminate And Stay Residen 

Fungsi : Untuk meresidenkan suatu program . 

Register Input : Register Output : 

AH = 31h 

AL = Kode return 

DX = Besar memory dalam paragraf 

INTERRUPT 21h - Service 33h 

Extended Break Checking 

Fungsi : Untuk menghidup dan matikan pengecekan tombol Ctrl+Break oleh fungsi

DOS. 

Register Input : Register Output : 

AH = 33h bila  input AL=0 

AL = 0 untuk mengambil keterangan DL=0 Off 

 Ctrl+Break DL=1 On 

 = 1 untuk merubah status Ctrl+Break 

 DL = 0 Ctrl+Break dijadikan Off 

 DL = 1 Ctrl+Break dijadikan On

INTERRUPT 21h - Service 34h 

GET ADDRESS OF INDOS FLAG 

Fungsi : Untuk memperoleh  alamat dari BAD (Bendera Aktif DOS). Nilai BAD akan

bertambah pada saat interupsi dari DOS dijalankan dan akan berkurang saat

interupsi dari DOS selesai. Dengan melihat pada BAD kita  dapat mengetahui

apakah interupsi dari DOS sedang aktif atau tidak(Lihat bagian residen). 

Register Input : Register Output : 

AH = 34h ES:BX = Alamat BAD 

INTERRUPT 21h - Service 35h 

Get Interrupt Vektor 

Fungsi : Untuk memperoleh  alamat vektor interupsi dari suatu nomor interupsi. 

Register Input : Register Output : 

AH = 35h ES:BX = Alamat vektor interupsi 

AL = Nomor Interupsi 

INTERRUPT 21h - Service 3Ch 

Create File Handle 

Fungsi : Untuk menciptakan sebuah file baru dengan metode File Handle. 

Register Input : Register Output : 

AH = 3Ch bila  CF=0 maka 

AL = Mode, dengan bit: AX=Nomor file handle 

 0 file Read only bila  CF=1 maka 

 1 file Hidden AX=Kode kesalahan 

 2 file System 

 3 Volume label 

 4 Cadangan 

 5 file Archive 

DS:DX = Nama file ASCIIZ 

INTERRUPT 21h - Service 3Dh 

Open Existing File 

Fungsi : Untuk membuka file yang sudah  ada dengan metode file handle.


Register Input : Register Output :

AH = 3Dh bila  CF=0 maka 

AL = Mode, dengan bit: AX=Nomor file handle 

 0 untuk Read only bila  CF=1 maka 

 1 untuk Write only AX=Kode kesalahan 

 2 untuk Read/Write 

DS:DX = Nama file ASCIIZ 

INTERRUPT 21h - Service 3Eh 

Close File Handle 

Fungsi : Untuk menutup file handle 

Register Input : Register Output :

AH = 3Eh CF=0 bila  sukses 

BX = Nomor file handle CF=1 bila  gagal, maka 

 AX=Kode kesalahan 

INTERRUPT 21h - Service 3Fh 

Read From File Or Device Using File Handle 

Fungsi : Untuk membaca data dari suatu file atau device. 

Register Input : Register Output : 

AH = 3Fh CF=0 bila  sukses 

BX = Nomor file handle AX=byte yang berhasil dibaca 

CX = Banyaknya byte yang CF=1 bila  gagal 

 akan dibaca AX=Kode kesalahan 

DS:DX = Alamat buffer 

INTERRUPT 21h - Service 40h 

Write To File Or Device Using File Handle 

Fungsi : Untuk menulisi file atau device. 

Register Input : Register Output :

AH = 40h CF=0 bila  sukses 

BX = Nomor file handle AX=byte yang berhasil ditulisi 

CX = Banyaknya byte yang CF=1 bila  gagal 

 akan ditulisi AX=Kode kesalahan 

DS:DX = Alamat data

INTERRUPT 21h - Service 41h 

Delete File Using File Handle 

Fungsi : Untuk menghapus file 

Register Input : Register Output :

AH = 41h CF=0 bila  sukses 

CL = Nama file ASCIIZ CF=1 bila  gagal, maka 

 AX=kode kesalahan 

INTERRUPT 21h - Service 42h 

Set Current File Position 

Fungsi : Untuk memindahkan pointer dari suatu file. 

Register Input : Register Output :

AH = 42h CF=0 bila  sukses 

AL = Mode perpindahan: CF=1 bila  gagal 

 00 dari awal file AX= kode kesalahan 

 01 dari posisi aktif 

 02 dari akhir file 

BX = Nomor file handle 

CX:DX = Banyaknya perpindahan 

INTERRUPT 21h - Service 43h 

Set And Get File Atribut 

Fungsi : Untuk mengetahui dan merubah atribut dari suatu file. 

Register Input : Register Output :

AH = 43h bila  input AL=0, maka: 

AL = 0 untuk memperoleh  atribut bila  CF=0 

 file CX = atribut 

 1 untuk merubah atribut file bila  CF=1 

 CX = atribut baru dengan bit: AX = Kode kesalahan 

 0 = Read Only 

 1 = Hidden 

 2 = System 

 5 = Archive 

DS:DX = Nama file ASCIIZ 

INTERRUPT 21h - Service 4Ch 

Terminate With Return Code

Fungsi : Untuk menghentikan program  dan mengembalikan kendali kepada DOS. 

Fungsi ini lebih efektif untuk dipakai  dibandingkan dengan interupsi 20h. 

Register Input : Register Output : Tidak ada 

AH = 4Ch 

AL = Kode return 

INTERRUPT 21h - Service 56h 

Rename File 

Fungsi : Untuk mengganti nama file. Fungsi ini juga bisa memindahkan file ke

directory lain. 

Register Input : Register Output : 

AH = 56h CF=0 bila  sukses 

DS:DX = Nama file ASCIIZ lama CF=1 bila  gagal 

ES:BX = Nama file ASCIIZ baru AX=Kode kesalahan 

INTERRUPT 27h 

Terminate And Stay Residen 

Fungsi : Untuk meresidenkan program . 

Register Input : Register Output : 

DS:DX = Batas alamat residen 


Tabel Kode Scan Keyboard

+---------------------------------------------------------------+ 

| KODE SCAN | 

+--------+-----------+--------+-----------+---------+-----------+ 

|TOMBOL | SCAN KODE |TOMBOL | SCAN KODE | TOMBOL | SCAN KODE | 

| |TEKAN|LEPAS| |TEKAN|LEPAS| |TEKAN|LEPAS| 

+--------+-----+-----+--------+-----+-----+---------+-----+-----+ 

| Esc | 01 | 81 | S | 1F | 9F | F3 | 3D | BD | 

| 1 | 02 | 82 | D | 20 | A0 | F4 | 3E | BE | 

| 2 | 03 | 83 | F | 21 | A1 | F5 | 3F | BF | 

| 3 | 04 | 84 | G | 22 | A2 | F6 | 40 | C0 | 

| 4 | 05 | 85 | H | 23 | A3 | F7 | 41 | C1 | 

| 5 | 06 | 86 | J | 24 | A4 | F8 | 42 | C2 | 

| 6 | 07 | 87 | K | 25 | A5 | F9 | 43 | C3 | 

| 7 | 08 | 88 | L | 26 | A6 | F10 | 44 | C4 | 

| 8 | 09 | 89 | ; | 27 | A7 | Num Lock| 45 | C5 | 

| 9 | 0A | 8A | ' | 28 | A8 | Scrol | | | 

| 0 | 0B | 8B | ~ | 29 | A9 | Lock | 46 | C6 | 

| - | 0C | 8C |ShifKiri| 2A | AA | Home | 47 | C7 | 

| = | 0D | 8D | \ | 2B | AB | _ <8> | 48 | C8 | 

| Back | | | Z | 2C | AC | PgUp | 49 | C9 | 

| Space | 0E | 8E | X | 2D | AD |<->KeyPad| 4A | CA | 

| Tab | 0F | 8F | C | 2E | AE |<_>KeyPad| 4B | CB | 

| Q | 10 | 90 | V | 2F | AF |<5>KeyPad| 4C | CC | 

| W | 11 | 91 | B | 30 | B0 |<_>KeyPad| 4D | CD | 

| E | 12 | 92 | N | 31 | B1 |<+>KeyPad| 4E | CE | 

| R | 13 | 93 | M | 32 | B2 |<1>KeyPad| 4F | CF | 

| T | 14 | 94 | < | 33 | B3 |<_>KeyPad| 50 | D0 | 

| Y | 15 | 95 | > | 34 | B4 | PgDn | 51 | D1 | 

| U | 16 | 96 | ? | 35 | B5 | Ins | 52 | D2 | 

| I | 17 | 97 | Shif | | | Del | 53 | D3 | 

| O | 18 | 98 | Kanan | 36 | B6 | F11 | 57 | D7 | 

| P | 19 | 99 | PrtSc | 37 | B7 | F12 | 58 | D8 | 

| { | 1A | 9A | LftAlt | 38 | B8 | RgtAlt |E038 |E0B8 | 

| } | 1B | 9B | Space | 39 | B9 | RgtCtrl |E01B |E09D | 

| Enter | 1C | 9C |CapsLock| 3A | BA | Enter |E01C |E09C | 

| LftCtrL| 1D | 9D | F1 | 3B | BB | <KeyPad>| | | 

| A | 1E | 9E | F2 | 3C | BC | | | | 

+--------+-----+-----+--------+-----+-----+---------+-----+-----+

Tabel Kode Extended Keyboard

+---------------------------------------------------------------+ 

| KODE EXTENDED | 

+--------------+-----+--------------+-----+---------------+-----+ 

| |KODE | |KODE | |KODE | 

| TOMBOL |<DES>| TOMBOL |<DES>| TOMBOL |<DES>| 

+--------------+-----+--------------+-----+---------------+-----+ 

| Shift+ Tab | 15 | F5 | 63 | Ctrl + F7 | 100 | 

| Alt + Q | 16 | F6 | 64 | Ctrl + F8 | 101 | 

| Alt + W | 17 | F7 | 65 | Ctrl + F9 | 102 | 

| Alt + E | 18 | F8 | 66 | Ctrl + F10 | 103 | 

| Alt + R | 19 | F9 | 67 | Alt + F1 | 104 | 

| Alt + T | 20 | F10 | 68 | Alt + F2 | 105 | 

| Alt + Y | 21 | Home | 71 | Alt + F3 | 106 | 

| Alt + U | 22 | Cursol Up | 72 | Alt + F4 | 107 | 

| Alt + I | 23 | Page Up | 73 | Alt + F5 | 108 | 

| Alt + O | 24 | Cursol Left | 75 | Alt + F6 | 109 | 

| Alt + P | 25 | Cursol Right| 77 | Alt + F7 | 110 | 

| Alt + A | 30 | Cursol Down | 80 | Alt + F8 | 111 | 

| Alt + S | 31 | Page Down | 81 | Alt + F9 | 112 | 

| Alt + D | 32 | Insert | 82 | Alt + F10 | 113 | 

| Alt + F | 33 | Delete | 83 | Ctrl+Cursol.lf| 115 | 

| Alt + G | 34 | Shif + F1 | 84 | Ctrl+Cursol.Rg| 116 | 

| Alt + H | 35 | Shif + F2 | 85 | Ctrl+End | 117 | 

| Alt + J | 36 | Shif + F3 | 86 | Ctrl+Page Down| 118 | 

| Alt + K | 37 | Shif + F4 | 87 | Ctrl+Home | 119 | 

| Alt + L | 38 | Shif + F5 | 88 | Alt + 1 | 120 | 

| Alt + Z | 44 | Shif + F6 | 89 | Alt + 2 | 121 | 

| Alt + X | 45 | Shif + F7 | 90 | Alt + 3 | 122 | 

| Alt + C | 46 | Shif + F8 | 91 | Alt + 4 | 123 | 

| Alt + V | 47 | Shif + F9 | 92 | Alt + 5 | 124 | 

| Alt + B | 48 | Shif + F10 | 93 | Alt + 6 | 125 | 

| Alt + N | 49 | Ctrl + F1 | 94 | Alt + 7 | 126 | 

| Alt + M | 50 | Ctrl + F2 | 95 | Alt + 8 | 127 | 

| F1 | 59 | Ctrl + F3 | 96 | Alt + 9 | 128 | 

| F2 | 60 | Ctrl + F4 | 97 | Alt + 0 | 129 | 

| F3 | 61 | Ctrl + F5 | 98 | Alt + - | 130 | 

| F4 | 62 | Ctrl + F6 | 99 | Alt + ' | 131 | 

+--------------+-----+--------------+-----+---------------+-----+





SPACE RACING

inilah screen shot game android yang bisa dimainkan dengan android 4 keatas pada android 7 layar 10 inch dengan memori 1 gb ,juga android 4 layar 3 inch memori 256 mb   pun game ini tidak patah patah masih bisa berjalan lancar , game   terbaik  dalam hal graphic 3d nya, berjudul  " SPACE RACING  " dengan ukuran game hanya  10,9   mb  saja  ,pada game ini graphic nya  bagus  walaupun semua tidak terlalu halus pada dekorasi detilnya , ada  mobil  yang berjalan sendiri berlalulalang ,  anda diwajib menjalankan misi misi sederhana  yaitu mengendalikan mobil angkasa dengan cepat,untuk  dapat 1 skor anda harus mengumpulkan poin biru  ,tanpa ada skor nilai yang jelas,hanya anda yang berusaha   sendiri menyelesaikan tiap tahap , tanpa ada petunjuk lengkap di sepanjang  jalan ,trek jalur sangat panjang pada setiap tikungan anda tidak akan jatuh kalah atau tertabrak  , game ini dibuat untuk anda yang sulit mengendalikan ditikungan ,anda dapat memilih mobil angkasa apa saja asal anda tidak bosan memainkan game ini berulangkali,sangat mudah  ,  bangunan  lumayan namun bila  anda sudah mahir berjalan kencang saat mengendarai mobil maka akan terasa kurang kencang , lokasi banyak anda  akan berpindah ke jalur trek yang berbeda  satu sama lain,kota yang selalu pada waktu malam ,anda berputar putar di mode alam yang malam dengan bintang angkasa ,kontrol yang  sangat nyaman sebab  tidak ada gyroscope sehingga  bisa diatur dikendalikan tangan kiri atau kanan    ,  mobil angkasa ukuranya  proposional dengan dekorasi sekitarnya lumayan mirip asli,rugi kalau anda tidak mencobanya tak ada salahnya  anda mencobanya,anda bisa mengunduhnya di google play 
store