Categories

Pengunjung

Senin, 21 November 2011

Bahasa Asembly

SOAL.
Buatlah program untuk menghitung banyak putaran berdasarkan nilai :
A =21,
B =4,
C =5
Jika A>=20 dan b>c maka banyak putaran A*(B-C) ,
Jika B=C maka banyak putaran adalah A
Jika BJika A<20 dan B>C maka banyak putaran A+(B-C)
Jika B=C maka putaran yang harus dlakukan adalah A
Jika B====================================================================================
LOGIKA
1. Mulai
2. Masukkan nilai ke A
3. Masukkan nilai ke B
4. Masukkan nilai ke A
5. Jika A >=20 lompat ke langkah berikutnya tetapi jika A < 20 lompat ke no.9
6. dan B>C yang dilakukan sebanyak A*(B-C)
7. jika B=C maka putaran yang harus dilakukan adalah sebanyak nilai A
8. jika B>C maka putaran yang dilakukan sebanyak A*(C-B)http://www.blogger.com/img/blank.gif
9. dan B10. jika B=A maka putaran yang dilakukan sebanyak nilai A
11. A+(C-B)
12. cetak putaran yang harus dilakukan
13. selesai
=====================================================================================
Flowcart Program (silahkan download di link
download
=====================================================================================

listing program
======================================================================================
.MODEL SMALL
.CODE
ORG 100H
Tdata: JMP Proses
Kal DB 'jumlah putaran yang dilakukan $'
A DW 21
B DW 4
C dw 5
Proses:
MOV AX,A ;masukkan nilai A ke AX, AX = 21
CMP AX,20 ; bandingkan AX dengan 20
JB BANDINGKAN ;jika AX lebih kecil dari 20 maka lompat ke BANDINGKAN
JAE BANDINGAN ; jika AX lebih besar sama dengan 20 maka lompat ke BANDINGAN
BANDINGAN:
MOV AX,B ; isikan nilai B ke AX, AX=4
CMP AX,C ; bandingkan nilai AX dengan nilai C
JA besar ; jika nilai AX lebih besar dari nilai C maka lompat ke besar
JE sama ; jika nilai AX sama dengan nilai C maka lompat ke sama
JB kecil ; jika nilai AX lebih kecil dari nilai C maka lompat ke kecil
BANDINGKAN:
MOV AX,B
CMP AX,C
JA lbesar
JE sama
JMP lkecil
besar: ;OPERASI A*(B-C)
MOV AH,09
MOV DX,OFFSET Kal
INT 21H
MOV AX,B
SUB AX,C
MUL A
MOV BX,10
XOR CX,CX
Ulang:
XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNE Ulang
JMP CETAK
sama: ; PUTARAN SAMA DENGAN A
MOV AH,09
MOV DX,OFFSET Kal
INT 21H
MOV AX,A
MOV BX,10
XOR CX,CX





Ulang1:
XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNE Ulang1
JMP CETAK
kecil: ;OPERASI A*(C-B)
MOV AH,09
MOV DX,OFFSET Kal
INT 21H
MOV AX,C
SUB AX,B
MUL A
MOV BX,10
XOR CX,CX
Ulang2:
XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNE Ulang2
JMP CETAK




lbesar: ; OPERASI A+(B-C)
MOV AH,09
MOV DX,OFFSET Kal
INT 21H
MOV AX,B
SUB AX,C
ADD AX,A
MOV BX,10
XOR CX,CX
Ulang3:
XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNE Ulang3
JMP CETAK
lkecil: ;OPERASI A+(C-B)
MOV AH,09
MOV DX,OFFSET Kal
INT 21H
MOV AX,C
SUB AX,B
ADD AX,A
MOV BX,10
XOR CX,CX

Ulang5:
XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNE Ulang5
CETAK:
POP DX
ADD DL,'0'
MOV AH,02
INT 21h
Loop Cetak
INT 20h
END Tdata

Tidak ada komentar:

Posting Komentar

Mau investasi tapi modal terbatas atau gak ada! ini solusinya...

About This Blog

Dimalam itu kuteriakkan suara lantang ...
Suara yang muncul dari jeritan hati yang luka,
Tak tertahan...
Pedih...
Perih...
Hatiku hancur ...
Hatiku berantakan...
Jiwaku terkoyak oleh luka yang menganga ...
Karena kecewa akan harapan...
Kecewa karena engkau hancurkan masa depanku...
Engkau bunuh harapan - harapan yang kutanam,
Yang kusirami dengan air mata...
Biadap...
Kejamnya engkau...
Binatang dari mana engkau...
a......









  © Blogger template Webnolia by Ourblogtemplates.com 2009

Back to TOP