Anda di halaman 1dari 6

LAPORAN AKHIR PRAKTIKUM

BAHASA RAKITAN

OLEH :
MEGA INDAH
REZKI
09071002020
IF-4B

UNIVERSITAS SRIWIJAYA
FAKULTAS ILMU KOMPUTER
JURUSAN TEKNIK INFORMATIKA
TAHUN 2009

Register-register umum

AX (accumulator), register ini melakukan proses aritmatika, proses input dan output
BX (base register), register ini melakukan proses aritmatika, sama seperti register AX
CX (register counter), register ini melakukan proses mencacah yang selalu
menunjukan lokasi memori dari instruksi yang akan diakses
DX , register yang melakukan proses aritmatika khusus perkalian dan pembagian

Segment Register
digunakan untuk menunjukan alamat dari satu segment
terdiri dari :
CS (code segment), digunakan untuk menunjukkan tempat dari segmen yang
sedangaktif
DS (data segment), untuk menunjukkan tempat segmen dimana data-data pada
program disimpan.
ES (extra segment) digunakan untuk menunjukkan suatu alamat di memory, misalkan
alamat memory video
SS (stack segment) menunjukkan letak dari segmen yang digunakan oleh stack

instruksi (ip)
sebagai lokasi memory dari tempat instruksi yang akan dieksekusi. register ini
berpasang dengan cs

pointer and index


sebagai pointer terhadap suatu lokasi memory
terdiri dari sp,bp,si dan di
si dan di digunakan mencatat suatu alamat di memory tempat

Latihan :
Dengan menggunakan debug, pindahkan isi 0120 ke 0130 pada data segment 0080

MOV AX,0080
MOV DS,AX
MOV SI,0120
MOV DI,0130
MOV AX,[SI]
MOV [DI],AX
INT 20
Dengan menggunakan debug, berdasarkan soal diatas tukarkan isi pointer SI dan
pointer DI
MOV AX,0080
MOV DS,AX
MOV SI,0120
MOV DI,0130
MOV AX,[SI]
MOV BX,[DI]
MOV [SI],BX
MOV [DI],AX
INT 20

Aritmatika, untuk manipulasi bit


ADD = penjumlahan
SUB = penguarangan
CMP = perbandingan
ADC = penjumlahan ada sisa (carry)
SBB = pengurangan dengan borrow
INC = penjumlahan dengan satu
DEC = pengurangan dengan satu
MUL = perkalian
DIV = pembagian

Menggunakan debug, memindahkan isi SI (0120) dimulai dari 0120-0126 dan DI


(0130) dimulai dari 0130-0136 pada data segmen 0080

MOV AX,0080
MOV DS,AX
MOV SI,0120
MOV DI,0130
MOV CX,0007 
MOV AX,[SI]
MOV [DI],AX
INC SI
INC DI
DEC CX
JNZ 011D
INT 20

Soal :
Menukarkan isi SI dan DI pada data segmen 0900
SI 0110 – 011F
DI 0140 – 014F

MOV AX,0080
MOV DS,AX
MOV SI,0120
MOV DI,0130
MOV CX,0010
MOV AX,[SI]
MOV BX,[DI]
MOV [SI],BX
MOV [DI],AX
INC SI
INC DI
DEC CX
JNZ 011D
INT 20

Buatlah program untuk menjumlahkan data pada alamat memori 0120-012F dengan
data pada alamata memori 0130-013F dan hasilnya disimpan di alamat 0150-015F

MOV AX,0800
MOV DS,AX
MOV SI,0120
MOV DI,0130
MOV BX,0150
MOV CX,000F
MOV AX,[SI]
ADD AX,[DI]
MOV [BX],AX
INC SI
INC DI
INC BX
DEC CX
JNZ 010E
INT 20

Proses add bisa dilakukan antar register seperti : ADD AX,BX


Proses add bisa dilakuakan antara register dengan memori seperti : ADD AX,[SI]

Langkah membuat program pada turbo assembler (TASM)


.MODEL SMALL
.CODE
ORG 100H
LABEL1 :
//PROGRAM
END LABEL1

Cara menjalankan file TASM,


Setelah meng-copy isi TASM portable pada salah satu dirictory di komputer,
lakukanlah pengetikkan program pada text editor dan file tersebut disimpan dalam file
yang berekstensi *.asm. lakukan compile dan running melalui cmd
tasm file.asm ; melakukan pengecekan apabila ada kesalahan pada program (pada
saat ini akan muncul file.obj)
tlink/t file.obj ; akan muncul file berupa file.com, yang berarti program sudah bisa
dijalankan
selanjutnya tinggal ketikan nama file nya saja setelah itu program akan berjalan

contoh program menggunakan TASM


.MODEL SMALL
.CODE
ORG 100H
COBA :
MOV AH,01H
MOV CX,07H
INT 10
MOV AH,4CH
INT 21
END COBA

Anda mungkin juga menyukai