A. PENJUMLAHAN (ADD)
1. Contoh permasalahan penjumlahan yang melibat carry yang membutuhkan
instruksi ADC dan INC adalah :
2000 + 2200= 4200
Programnya:
a 100
mov ax, 2000
mov dx, 2200
adc al,dl
DAA
mov cl,al
mov al,ah
adc al,dh
DAA
mov ch,al
int 20
B. PENGURANGAN (SUB)
1. Contoh permasalahan pengurangan(subtraction) yang melibat carry :
4000– 1000 = 3000
Programnya:
a 100
mov ax, 4000
mov dx, 1000
sub al,dl
DAS
mov cl,al
mov al,ah
SBB al,dh
DAS
mov ch,al
int 20
HASIL OPERASI PENGURANGAN
-T
C. PERKALIAN (MUL)
1. Perdalam pemahaman tentang instruksi AAM dan buat kasus-kasus yang
melibatkan instruksi AAM.
Programnya:
A100
MOV AX,0003
MOV BX,0003
MUL BX
AAM
INT 20
-T
SISA Hasil
Hasil BAGI BAGI
DIV,BX DIV,BX
-T
AX=0205 BX=0000 CX=0008 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=13A1 ES=13A1 SS=13A1 CS=13A1 IP=010A NV UP EI PL NZ NA
PO NC
13A1:010A CD20 INT 20
TUGAS
1. Buat Prosedur Penjumlahan untuk kasus berikut dimana data dan hasil disimpan
pada alamat offset 500 ! Jika program anda benar maka buktikan bahwa:
91ed+bf50 =1513d
Jawab :
Programnya :
a100
mov ax,91ed
mov bx,bf50
mov [500],ax
add ax,bx
int 20
OPERASI ARITMATIKA :
-t
AX=91ED BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=1372 ES=1372 SS=1372 CS=1372 IP=0103 NV UP EI PL NZ NA
PO NC
1372:0103 BB50BF MOV BX,BF50
-t
AX=91ED BX=BF50 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=1372 ES=1372 SS=1372 CS=1372 IP=0106 NV UP EI PL NZ NA
PO NC
1372:0106 A30005 MOV [0500],AX
DS:0500=0000
-t
AX=91ED BX=BF50 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=1372 ES=1372 SS=1372 CS=1372 IP=0109 NV UP EI PL NZ NA
PO NC
1372:0109 01D8 ADD AX,BX
Hasil
Perintah
ADD AX,BX
-t
AX=1513D BX=BF50 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=1372 ES=1372 SS=1372 CS=1372 IP=010B OV UP EI PL NZ NA
PO CY
1372:010B CD20 INT 20
2. Rakitlah program penjumlahan bilangan BCD yang memenuhi persaman berikut :
1250 + 375 = 1625
Hasil BCD
JAWAB :
a 100
mov ax,1250
mov dx,375
adc al,dl
DAA
mov cl,al
mov al,ah
adc al,dh
DAA
mov ch,al
int 20
3. Rakit program assembly dilayar debug untuk menampilkan semua lambang yang
kode ASCII mulai dari 00-FF dilayar monitor ! Buktikan hasil tampilan program
anda seperti berikut :
a 100
mov cx,100
mov ah,2
mov dl,00
int 21
inc dl
loop 107
int 20
☺☻♥♦♣
♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !"#$%&'()*+,-.
/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]
^_`abcdefghijklmnopqrstuvwxyz{|}
~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡
«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌
█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙∙√ⁿ²
4. Rakitlah dan eksekusi dengan perintah g program berikut dan amati hasilnya ! lalu
berikan komentar anda ! minimal anda tuliskan guna program itu.
Mov cx,1a
Mov ah,2
Mov dl,41
Int 21
Inc dl
Loop 107
Int 20
Jawab :
Mov cx, 1a [isi cx dengan 1a (maksudnya adalah isi cx untuk 26 karakter)]
Mov ah, 2 [isi reg ah dengan 2]
Mov dl,41 [isi reg dl dengan kode ascii 41 (A)]
Int 21
Inc dl [increment dl]
Loop 107 [ lanjutkan output tanpa jump]
Int 20 [end program]
Program ini berguna untuk memanggil code ASCII yang di mulai pada ‘dl’ yaitu
huruf A dan dibatasi hingga 26 karakter yaitu pada cx, 1a maka hasil program ini
adalah menampilkan huruf kapital yang dimulai dari A-Z berdasarkan code ASCII
yang diminta yaitu (ABCDEFGHIJKLMNOPQRSTUVWXYZ)
a 100
mov cx,1a
mov ah,2
mov dl,61
int 21
inc dl
loop 107
int 20
Hasilnya adalah sebagai berikut:
abcdefghijklmnopqrstuvwxyz
b. Menampilkan huruf abjad dari z-a
a 100
mov cx,1a
mov ah,2
mov dl,7a
int 21
dec dl
loop 107
int 20
a 100
mov cx,1a
mov ah,2
mov dl,5a
int 21
dec dl
loop 107
int 20
ZYXWVUTSRQPONMLKJIHGFEDCBA
a 100
mov cx,0a
mov ah,2
mov dl,30
int 21
inc dl
loop 107
int 20
a 100
mov cx,0a
mov ah,2
mov dl,39
int 21
dec dl
loop 107
int 20
KLMNOPQRS
Hasilnya adalah sebagai berikut:
A200
Push CX
Push BP
Mov BP,500
Mov CX,2000
LOOP 0208
Dec BP
JNZ 0205
POP CX
POP BP
RET
A100
Mov CX,D
Mov ah,2
Mov dl,61
Int 21
Inc dl
CALL 200
LOOP 107
Int 20
b. Menampilkan satu persatu angka dari 9-0 secara berurut
A200
PUSH CX
PUSH BP
MOV BP,500
MOV CX,2000
LOOP 0208
DEC BP
JNZ 0205
POP CX
POP BP
RET
A100
Mov cx,5
Mov ah,2
Mov dl,39
Int 21
Dec dl
CALL 200
LOOP 107
Int 20
7. Rakitlah dan eksekusi dengan perintah g program berikut dan buktikan hasil dari
persamaan 1250-375= 875 ! lalu berikan komentar anda ! minimal anda tuliskan
arti sintag program baris demi baris
a100
mov ax,1250
mov dx,375
sub al,dl
Buktika DAS
n
mov cl,al
: Hasil
mov al,ah
AX=1208 BX=0000 CX=0875 DX=0375
SBB al,dh
SP=FFEE BP=0000 SI=0000 DI=0000
DAS
DS=1380 ES=1380 SS=1380 CS=1380
IP=0112 NV UP EI PL NZ AC PO NC mov ch,al
'