Anda di halaman 1dari 6

Universitas Bumigora, 2021

------------------------------------------------------------------------------------------------------------

Modul.5
Pemanfaatan Instruksi Jump/JMP
dan Compare/CMP

TUJUAN PEMBELAJARAN
1. Mahasiswa dapat memanfaatkan instruksi JMP dan CMP pada assembler
2. Mahasiswa dapat mengembangkan sendiri penerapan instruksi JMP dan
CMP pada instruksi yang berbeda dalam penerapan interrupt

DASAR TEORI

ORGANISASI CPU INTELL 8086/8088

Data Register
Flag Register
Ax AH AL O T A X
Bx BH BL Control D S P
Unit
I Z C
Cx CH CL ( CU )
Dx
DH DL
Pointer Segmen Register
SP (Stack Pointer)
Code Segment
BP (Base Pointer)
ALU Stack Segment
SI (Segmen Index) Data Segment
Aritmatic
Logical Unit DI (Data Index) Extara Segment
IP (Index Pointer)

-----------------------------------------------------------------------------------------------------------
Modul Organisasi Komputer, Oleh: Raisul Azhar
Universitas Bumigora, 2021
------------------------------------------------------------------------------------------------------------

Instruksi Lompat/JMP
Perintah JMP terdiri dari tak bersyarat dan bersyarat. Pada
lompatan tak bersyarat, tidak memerlukan syarat tertentu
untuk melakukan lompatan. Lompatan dekat membutuhkan
2 byte tidak lebih dari FFH=256byte. Lomptan jauh
membutuhkan 3 byte = FFFH atau 1 segmet
Pada lompatan bersyarat, harus menentukan syarat-tertentu
untuk melakukan lompatan

Format tak bersyarat


JMP [ lokasi Register]

Format bersyarat
JE (Jump if equal) ; lompat jika perbandingan sama
JLE (Jump If Less Equal) ; lompat jika perbandingan
pertama lebih kecil/ sama dengan
perbandingan kedua

NE (Jump if not Equal) ; melompat bila perbandingan


sama
JZ (Jump On Zero) ; lompat jika zero flaq=1
NZ (Jump On Not Zero) ; lompat jika zero flaq=0
JB (Jump If Below): lompat jika bil1<bil2
JA (Jump If Above):lompat jika bil1>bil2
Dan lain-lain

Karakter Kontrol

07 Bel
(Memberikan suara beep)
08 Bacspace
(memindahkan kusrsor 1 kolom ke belakang)
10 Line feed
(memindahkan kursor 1 baris kebawah)
13 arriage Return
(memindahkan kursor menuju awal kolom )

-----------------------------------------------------------------------------------------------------------
Modul Organisasi Komputer, Oleh: Raisul Azhar
Universitas Bumigora, 2021
------------------------------------------------------------------------------------------------------------

Contoh:
CPM AX,0102
JE 0102

Compare( Bandingkan)/CMP
Penggunaan CMP diperuntukkan hanya untuk
membandingkan operand/data. Hal ini diperlukan
bersamaan dengan beberapa jenis lompatan sebagai
prasyarat sebelum terjadinya lompatan dilakukan

Format Permbandingan: CMP [data],[data]

Load Effektive Address (LEA)


Perintah ini digunakan untuk mendapatakan alamat
efektife dari suatu data.

Tugas Pendahuluan
1. Uraikan alasan mengapa instruksi JMP itu diperlukan dan apa
berbedaan instruksi tersebut dengan LOOP
2. Dapatkan CMP antar variable register di lakukan?

Percobaan
Buatlah sorce code bahasa assembly untuk intell sebagai berikut
dengan menggunakan Simulator dan jalankan hasil ouput program
sebagai berikut:

Latihan.1
org 100h
mov cx,1ah
mov ah,02h
mov dl,41h
ulang: int 21h
inc dl
-----------------------------------------------------------------------------------------------------------
Modul Organisasi Komputer, Oleh: Raisul Azhar
Universitas Bumigora, 2021
------------------------------------------------------------------------------------------------------------

loop ulang
cmp dl,5bh
je baru

baru: mov ah,02h


mov dl,31h
int 21h
int 21h
int 21h

Hasil Output source code: ABCDEFGI..Z111


Latihan.2

.Model Small
.code
.org 100h
Start: jmp mulai

BilA db 67
BilB db 70

Kal0 db 'Bilangan A < B $'


Kal1 db 'Bilangan A = B $'
Kal2 db 'Bilangan A > B $'

mulai: mov al,BilA


Cmp al,BilB
Jb Akecil
Je sama
Ja ABesar

-----------------------------------------------------------------------------------------------------------
Modul Organisasi Komputer, Oleh: Raisul Azhar
Universitas Bumigora, 2021
------------------------------------------------------------------------------------------------------------

Akecil: LEA dx,Kal0


JMP Cetak

Sama: LEA DX,Kal1


JMP Cetak

Abesar: LEA dx,Kal2

Cetak: MOV ah,09


Int 21h
Exit: int 20h
End start

Latihan.3
.Model Small
.code
.org 100h

org 100h
Start: jmp mulai

Kal1 db 'STMIK Bumigora Mataram13,10


db ' Jl.Ismail Marzuki Mataram!!'
db 7,7,'*'

mulai: xor bx,bx ; untuk mengenolkan bx


Mov ah,02h

ulang: cmp kal1[bx],'*'


Je exit

Mov dl,kal1[bx]
Int 21h
Inc bx
Jmp ulang

Exit: int 20h


-----------------------------------------------------------------------------------------------------------
Modul Organisasi Komputer, Oleh: Raisul Azhar
Universitas Bumigora, 2021
------------------------------------------------------------------------------------------------------------

End start
ret

Keterangan: angka 7 pada akhir kalimat merupakan suara beep


pada komputer

TUGAS PRAKTIKUM MAHASISWA:

Dengan menggunakan latihan.1 cetaklah karakter angka


dengan memanfaatkan register AX,BX,CX,DX dan
menerapkan CMP,JNE dan JLE dengan hasil output:

AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ

-----------------------------------------------------------------------------------------------------------
Modul Organisasi Komputer, Oleh: Raisul Azhar

Anda mungkin juga menyukai