• Tidak ada hasil yang ditemukan

Mata Kuliah : Bahasa Rakitan

N/A
N/A
Protected

Academic year: 2021

Membagikan "Mata Kuliah : Bahasa Rakitan"

Copied!
22
0
0

Teks penuh

(1)

Mata Kuliah : Bahasa Rakitan Materi ke-4

Materi ke 4

Program Bahasa Rakitan

Program Bahasa Rakitan

Program Bahasa Rakitan

Program Bahasa Rakitan

dengan DEBUG.COM

(2)

Perintah dan Fungsi dalam

Perintah dan Fungsi dalam

DEBUG.COM

DEBUG.COM

y

DEBUG

DEBUG

,

,

menjalankan program DEBUGmenjalankan program DEBUG

:

:

A> DEBUG nama file . COM

Q

(Quit)

k l d i DEBUG

:

y

Q

(Quit),

keluar dari program DEBUG

:

- Q

y

H

(Hexa),

menjumlahkan dan mengurangkan dua

bilangan Heksadesimal

-

H 2204 02012 4216 01F2 Hasil pengurangan Hasil penjumlahan Hasil pengurangan

(3)

Perintah

Perintah dan

dan Fungsi

Fungsi dalam

dalam

DEBUG COM (

t )

DEBUG COM (

t )

DEBUG.COM (cont.)

DEBUG.COM (cont.)

y R (Register) mengetahui isi masing masing register y R (Register), mengetahui isi masing-masing register

-R

AX=0000 BX=0000 CX=0000 DX=0000 … DS=0FD8 ES=0FD8 SS=0FD8 CS=0FD8…

y AA (Assembler), perintah untuk masuk ke tempat (Assembler), perintah untuk masuk ke tempat penulisan program assembler.

-A -A100

0AB4 0100 0AB4 0100

(4)

Perintah

Perintah dan

dan Fungsi

Fungsi dalam

dalam

DEBUG COM (

)

DEBUG COM (

)

DEBUG.COM (cont.)

DEBUG.COM (cont.)

y N (Name) perintah untuk membuat nama program

y N (Name), perintah untuk membuat nama program

yang telah dibuat.

Format : N [drive]:[nama program] Format : N [drive]:[nama program]

-N B:COBA.COM

RCX (R CX) h k h

y RCX (Register CX), perintah untuk mengetahui dan memperbaiki isi register cx sebagai tempat penampungan panjang program yang sedang aktif. penampungan panjang program yang sedang aktif.

-RCX

CX 0000 0008

(5)

Perintah

Perintah dan

dan Fungsi

Fungsi dalam

dalam

DEBUG COM (

)

DEBUG COM (

)

DEBUG.COM (cont.)

DEBUG.COM (cont.)

RIP

(

Re ister IP) erintah an memberi tah kan y RIP

(

Register IP), perintah yang memberi-tahukan

komputer untuk mulai memroses program dari titik tertentu. Pada program debug selalu dimulai dari 0100 h.

- RIP

IP 0100 : 0100

y W ((Write), perintah yang digunakan untuk menulis ), p y g g program ke media penyimpanan.

-W

W i i 0008 b

(6)

Perintah

Perintah dan

dan Fungsi

Fungsi dalam

dalam

DEBUG COM (

)

DEBUG COM (

)

DEBUG.COM (cont.)

DEBUG.COM (cont.)

y G (GO) perintah yang digunakan untuk menjalan kan y G (GO), perintah yang digunakan untuk menjalan-kan

program.

-G

A A

Program terminated normally

y U U (Unassemble), perintah untuk menampilkan deretan (Unassemble), perintah untuk menampilkan deretan

program yang sedang aktif sepanjang 21 H.

Format :

U [tempat awal unassemble] [ p ] [p j gL [panjang program]

-U 100 L 0D

(7)

Perintah

Perintah dan

dan Fungsi

Fungsi dalam

dalam

DEBUG COM (

)

DEBUG COM (

)

DEBUG.COM (cont.)

DEBUG.COM (cont.)

y T (Trace), perintah untuk memroses sebaris program saja.

A100 -A100 0AD2 : 0100 MOV DL,41 0AD2 : 0102 INT 21 0AD2 : 0104 INT 20 0AD2 : 0106 0AD2 : 0106 -RCX CX 0000 :06 -RIP IP 0100 : -G A P i d ll

Program terminated normally -T

AX=0000 BX=0000 CX=0006 DX=0041 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0AD2 ES=0AD2 SS=0AD2 CS=0AD2 IP=0102 NV UP EI PL NZ NA PO NC 0AD2 : 0102 CD21 INT 21

(8)

SET INSTRUKSI

SET INSTRUKSI

SET INSTRUKSI

SET INSTRUKSI

1.

Intstruksi Transfer Data

1.

Intstruksi Transfer Data

2.

Instruksi Aritmetika

3

I

k i L

i

3.

Instruksi Looping

4.

Instruksi Jump

5.

Operasi Stack

6

Operasi Logika

6.

Operasi Logika

(9)

INSTRUKSI TRANSFER DATA

INSTRUKSI TRANSFER DATA

INSTRUKSI TRANSFER DATA

INSTRUKSI TRANSFER DATA

MOV

MOV

Format

:

MOV [operarand-1],[operand-2]

Operand 1 : Register, Variabel, Lokasi Memory

Operand 2 : Register, Variabel, Lokasi Memory, Bilangan

MOV AH,AL

;

menduplikatkan isi register AL ke

register AH.

Operand 1 : Register AH Operand 2 : Register ALp g

(10)

Instruksi Transfer Data

Instruksi Transfer Data

(Cont.)

(Cont.)

Instruksi Transfer Data

Instruksi Transfer Data

(Cont.)

(Cont.)

y

MOV AH,02

; memasukkan bilangan 02

g

ke register AH

Operand 1 : Register AH Ope a : eg ste Operand 2 : Bilangan 02

(11)

INSTRUKSI ARITMATIKA

INSTRUKSI ARITMATIKA

y INC (Increment), operasi pertambahan dengan satu

Format : INC [Register/Variabel]

A = A + 1

y DEC (Decrement), operasi pengurangan dengan satu

Format : DEC [Variabel/Register] Format : DEC [Variabel/Register] A = A – 1

(12)

Instruksi Aritmetika

Instruksi Aritmetika

(Cont.)(Cont.)

Instruksi Aritmetika

Instruksi Aritmetika

(Cont.)(Cont.)

O i P t b h S l i S t

y Operasi Pertambahan Selain Satu

Format : ADD [operand-1, operand-2] ;

menjumlahkan isi operand 1 dengan operand 2 dan menjumlahkan isi operand 1 dengan operand 2 dan hasil disimpan di operand 1

Operand 1 : Register, Variabelp g

Operand 2 : Register, Variabel, Bilangan

AH ………….. 10

AL ………….. 5 +

(13)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

y Operasi Pengurangan Selain Satu

Format : SUB [OPERAND 1, OPERAND 2]

mengurangkan isi operand 1 dengan operand 2 dan hasil disimpan di operand 1p p

Operand 1 : Register, Variabel

Operand 2 : Register, Variabel, Bilangan

AH …….. 15

AL …….. 10

(14)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

y

Operasi Perkalian 8 Bit

p

Format

:

MUL [Register]

mengalikan isi register BL dengan isi register AL dan h l d d AX

hasil disimpan di register AX MUL BL BL 04 BL ……… 04 AL ……… 08 x AX 32 AX ……... 32

(15)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

y

Operasi Perkalian 16 Bit

Format :

MUL [REGISTER

] ;

mengalikan isi register BX dengan isi register AX, g g g g hasil disimpan di register AX dan DX

MUL BX BX ……… 12900 AX ……… 10000 x DX AX 129000000 = 7B0 6240 DX AX … 129000000 = 7B0 6240 DX AX

(16)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

y

Operasi Pembagian 8 Bit

p

g

Format :

DIV [Register]

membagi isi register AX dengan isi register BL dan membagi isi register AX dengan isi register BL dan hasil disimpan di register AL dan sisa di register AH

DIV BL DIV BL hasil sisa AL AH AL AH BL AX

(17)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

Instruksi Aritmatika

Instruksi Aritmatika

(Cont.)(Cont.)

y

Operasi Pembagian 16 Bit

Format :

DIV [Register]

membagi isi register DX :AX dengan isi register BX dan hasil pembagian dimasukkan dalam register DX sedangkan sisa hasil pembagian dimasukkan dalam register AX g

DIV BX

hasil sisa

DX AX BX DX:AX

(18)

INSTRUKSI LOOPING

INSTRUKSI LOOPING

y LOOP, instruksi Looping

Format : LOOP [lokasi memori]

Mengulang instrksi alamat memory * sebanyak 5

kali. Setiap kali pengulangan processor akan

mengurangi isi register CX sampai 0.

Kemudian proses akan berlanjut ke instruksi

Kemudian proses akan berlanjut ke instruksi

di bawah loop.

CX = 5 …… …… LOOP * ……..

(19)

Instruksi

Instruksi Looping

Looping

p g

p g

(Cont.)(Cont.)(( ))

y JMP, instruksi lompatan tak bersyarat

Format : JMP[lokasi memori]

Melakukan lompatan tanpa syarat ke lokasi memori segment : 0103

JMP 0103

y CMP instruksi lompatan bersyarat y CMP, instruksi lompatan bersyarat

Format : CMP [operand-1],[operand-2]

Operand-1 : variabel register Operand-1 : variabel, register

(20)

Instruksi

Instruksi Looping

Looping

(Cont.)(Cont.)

Jenis-jenis Lompatan Bersyarat :

JE (Jump If Equal)

¾ JNE (Jump If Not Equal)

¾ JG (Jump If Greater Than)

¾ JNS (Jump On Not Sign)

¾ JC (Jump On Carry)

¾ JNC (Jump On Not Carry)

(J p )

¾ JNG (Jump If Not Greater Than)

¾ JNGE (Jump If Not Greater or Equal)

¾ JE (Jump If Less Than)

¾ JCXZ (Jump If CX=0)

¾ JB (Jump If Below)

¾ JBE (Jump If Below or Equal)

¾ JLE (Jump If Less or Equal)

¾ JNL (Jump If Not Less Than)

¾ JNLE (Jump If Not Less or Equal)

¾ JNBE (Jump If Not Below or Equal)

¾ JZ (Jump On Zero)

¾ JNZ (Jump On Not Zero

¾ JA (Jump if Above)

¾ JNA (Jump If Not Above or Equal)

¾ JNAE (Jump If Not Above or Equal)

(21)

OPERASI STACK

OPERASI STACK

– Operasi yang digunakan untuk menyimpan sementara

suatu nilai pada alamat offset terakhir pada suatu segment

– Stack bersifat LIFO (Last In First Out)

– Beberapa contoh perintah yang digunakan dalam operasi

stack : stack :

PUSH [register 16 bit]

Digunakan untuk menyimnpan nilai di register 16 bit ke dalam stack

POP [register 16 bit][ g ]

Digunakan untuk mengambil kembali stack,kemudian disimpan di register 16 bit

PUSHF

Digunakan untuk menyimpan nilai flag register ke dalam stackgu a a u tu e y pa a ag eg ste e a a stac

POPF

Digunakan untuk mengambil isi stack, kemudian disimpan di dalam flag register F.

(22)

OPERASI LOGIKA

OPERASI LOGIKA

Beberapa Operasi Logika yang digunakan :

1

AND

1.

AND

2.

OR

3

XOR

AND OR XOR 0 0 0 0 0

3.

XOR

0 1 0 1 1 1 0 0 1 1 1 1 1 1 0

Referensi

Dokumen terkait

Sepuri NIM 505730048: Hubungan Kompetensi Guru Pendidikan Agama Islam dalam Mengimplementasikan Kurikulum Tingkat Satuan Pendidikan (KTSP) dan Pelaksanaan Evaluasi

Penelitian ini bertujuan untuk menjelaskan tingkat kontribusi perbankan syariah ditinjau dari financing to deposit rasio terhadap tingkat pertumbuhan ekonomi

Fakultas Ekonomi USU (FE-USU), yang berjudul : Persepsi Akademisi Akuntansi.. USU terhadap Adanya Akuntansi Forensik (Studi Mahasiswa/I

Tidore Timur sendiri m erupakan pemekaran dari kecamat an t idore, yang sebelumya 4 Kelurahan yait u kelurahan dow ora, kelurahan kalaodi, kelurahan t osa dan kelurahan mafut ut

Penulis sedang mewawancarai narasumber tentang Sejarah Gayo Bapak Abdurahman Hasan (Tokoh Masyarakat) di Takengon – Aceh

Muhammad Ruslan Umar, M.Si.. Sri

Dari beberapa penelitian sebelumnya yang membedakan dari penelitian ini adalah peneliti menggunakan variabel-variabel dan lokasi penelitian yang berbeda dalam

Beberapa gejala yang dapat timbul berkaitan dengan hormon melatonin, antara lain, sukar tidur (insomnia), gangguan pada irama sirkadian, jet lag, serta berbagai gejala lain.