------------------------------------------------------------------------------------------------------------
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
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 bersyarat
JE (Jump if equal) ; lompat jika perbandingan sama
JLE (Jump If Less Equal) ; lompat jika perbandingan
pertama lebih kecil/ sama dengan
perbandingan kedua
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
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
.Model Small
.code
.org 100h
Start: jmp mulai
BilA db 67
BilB db 70
-----------------------------------------------------------------------------------------------------------
Modul Organisasi Komputer, Oleh: Raisul Azhar
Universitas Bumigora, 2021
------------------------------------------------------------------------------------------------------------
Latihan.3
.Model Small
.code
.org 100h
org 100h
Start: jmp mulai
Mov dl,kal1[bx]
Int 21h
Inc bx
Jmp ulang
End start
ret
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
AAABBBCCCDDDEEEFFFGGGHHHIIIJJJ
-----------------------------------------------------------------------------------------------------------
Modul Organisasi Komputer, Oleh: Raisul Azhar