Anda di halaman 1dari 4

Contoh bahasa assembly //Proses Penambahan // MOV AH,4h MOV AL,8 ADD AH,AL MOV AX,1234h MOV BX,0F221h

ADD AX,BX carry = 1 MOV AX,1234h MOV BX,9ABCh MOV CX,5678h MOV DX,0DEF0h ADD CX,DX CF adalah carry) ADD AX,BX AX, BX dan CF) INC AL AL, atau AL+1) INT 20h END Process ; Nilai AH: = 4h ; Nilai AL: = 8 ; proses penjumlahan AH: = AH + AL, hasilnya AH = 12h ; Nilai AX = 1234h dan carry = 0 ; Nilai BX = F221h dan carry = 0 ; proses penjumlahan AX: = AX + BX, jadi nilai AX = 0455h

; Nilai AX = 1234h CF=0 ; Nilai BX = 9ABCh CF=0 ; Nilai CX = 5678h CF=0 ; Nilai DX = DEF0h CF=0 ; CX = 3568h CF = 1 (proses penjumlahan antara CX dan DX. ; AX = AX + BX + CF = ACF1 (proses penjumlahan antara

; AL: = AL + 1, nilai pada AL ditambah 1 (increasement nilai

; kembail ke DOS

contoh sederhana bahasa pemrograman assembly.. .MODEL SMALL .CODE ORG 100H AWAL: MOV CL,30H JMP PROSES KAL0 DB 'Ketikkan satu kalimat:$' KAL1 DB 13,10,'Kalimat yang diinput adalah:$' KAL2 DB 13,10,'Cetak dari belakang:$',13,10

KAL3 DB 13,10,'panjang string adalah:$' KALX DB 13,10,'$' KAL4 DB 13,10,'Jumlah Huruf Vokal:$' KAL5 DB 13,10,'Jumlah Huruf Konsonan:$' KATA DB 20,?,20 DUP (?)

VOKAL: INC CL JMP PLUS

PROSES: ;============= CETAK STRING ================ MOV AH,09H MOV DX,OFFSET KAL0 INT 21H

;============= INPUT STRING ================ MOV AH,0AH LEA DX,KATA INT 21H ;============= CETAK STRING ================ MOV AH,09H MOV DX,OFFSET KAL1 INT 21H ;============ CETAK VARIABEL STRING DG MODEL COMPARASI ========== MOV BX,OFFSET KATA+2

CETAK: MOV DL,[BX] CMP DL,0DH JE BELAKANG MOV AH,02H INT 21H

CMP DL,'a' JE VOKAL CMP DL,'i' JE VOKAL CMP DL,'u' JE VOKAL CMP DL,'e' JE VOKAL CMP DL,'o' JE VOKAL CMP DL,'A' JE VOKAL CMP DL,'I' JE VOKAL CMP DL,'U' JE VOKAL CMP DL,'E' JE VOKAL CMP DL,'O' JE VOKAL PLUS:INC BX JMP CETAK ;============= CETAK KATA DARI BELAKANG ================== BELAKANG:MOV AH,09H MOV DX,OFFSET KAL2 INT 21H MOV AH,09H MOV DX,OFFSET KALX INT 21H CETAK1: MOV DL,[BX] CMP DL,KATA+1 JE VOKAL1 MOV AH,02H INT 21H DEC BX JMP CETAK1

;============ CETAK JUMLAH VOKAL ================

VOKAL1: MOV AH,09H MOV DX,OFFSET KAL4 INT 21H MOV DL,CL ;ADD DL,30H MOV AH,02H INT 21H

;============ CETAK JUMLAH KONSONAN =============== KONSONAN: MOV AH,09H MOV DX,OFFSET KAL5 INT 21H MOV BX,OFFSET KATA+1 MOV DL,[BX] ADD DL,30H SUB DL,CL ADD DL,30H MOV AH,02H INT 21H

;============= CETAK PANJANG STRING ================ AKHIR: MOV AH,09H MOV DX,OFFSET KAL3 INT 21H MOV BX,OFFSET KATA+1 MOV DL,[BX] ADD DL,30H MOV AH,02H INT 21H SELESAI: INT 20H END AWAL

Anda mungkin juga menyukai