Professional Documents
Culture Documents
Cso Proj
Cso Proj
model small
.stack 200
.data
menu db 0DH,0AH,'*******{MENU}*******',0DH,0AH,'*[1] Left to Right *',0DH,
0AH,'*[2] Right to Left *',0DH,0AH,'*[3] Convergence *',0DH,0AH,'*[4] Divergence
*',0DH,0AH,'*[5] Unique1 *',0DH,0AH,'*[6] Unique2 *',0DH,0AH,'*[7]
Unique3 *',0DH,0AH,'*[8] Interrupt *',0DH,0AH,'*[9] End
*',0DH,0AH,'********************',0DH,0AH,'Enter an option$'
interu db 0DH,0AH,'****************',0DH,0AH,'*INTERRUPT MODE*',0DH,
0AH,'****************$'
bye db 0DH,0AH,'* FINAL PROJECT FOR CSO *',0DH,0AH,'*SUBMITTED
BY: KEITA, LASSANAH M. A.*',0DH,0AH,'* SUBMITTED TO: MR. DWIGHT SABIO *$'
.code
start:
start1:
call test1
jmp start1
test1:
push cx
push ax
push dx
mov ah , 06
mov dl , 0ffh
int 21h
pop dx
pop ax
pop cx
ret
L0:
left:
jmp L1
right:
jmp L2
con:
jmp L3
diver:
jmp L4
u1:
jmp L5
u2:
jmp L6
u3:
jmp L7
inter:
jmp L8
intern1:
jmp inter
exit:
jmp L0
L1:
loop0:
loop1:
out dx, al
call test1
mov al, 02h
mov dx, 03bch
call delay
loop2:
out dx, al
mov al, 04h
mov dx, 03bch
call delay
loop3:
out dx, al
mov al, 08h
mov dx, 03bch
call delay
loop4:
out dx, al
mov al, 10h
mov dx, 03bch
call delay
loop5:
out dx, al
mov al, 20h
mov dx, 03bch
call delay
loop6:
out dx, al
mov al, 40h
mov dx, 03bch
call delay
loop7:
out dx, al
mov al, 80h
mov dx, 03bch
call delay
loop8:
out dx, al
call delay
jmp left
L2:
lop0:
lop1:
out dx, al
call test1
mov al, 40h
mov dx, 03bch
call delay
lop2:
out dx, al
mov al, 20h
mov dx, 03bch
call delay
lop3:
out dx, al
mov al, 10h
mov dx, 03bch
call delay
lop4:
out dx, al
mov al, 08h
mov dx, 03bch
call delay
lop5:
out dx, al
mov al, 04h
mov dx, 03bch
call delay
lop6:
out dx, al
mov al, 02h
mov dx, 03bch
call delay
lop7:
out dx, al
mov al, 01h
mov dx, 03bch
call delay
lop8:
out dx, al
call delay
jmp right
L3:
con0:
con1:
out dx, al
call test1
mov al, 42h
mov dx, 03bch
call delay
con2:
out dx, al
mov al, 24h
mov dx, 03bch
call delay
con3:
out dx, al
mov al, 18h
mov dx, 03bch
call delay
con4:
out dx, al
call delay
jmp con
L4:
div0:
div1:
out dx, al
call test1
mov al, 24h
mov dx, 03bch
call delay
div2:
out dx, al
mov al, 42h
mov dx, 03bch
call delay
div3:
out dx, al
mov al, 81h
mov dx, 03bch
call delay
div4:
out dx, al
call delay
jmp diver
L5:
un0:
un1:
out dx, al
call test1
mov al, 66h
mov dx, 03bch
call delay
un2:
out dx, al
mov al, 99h
mov dx, 03bch
call delay
un3:
out dx, al
mov al, 66h
mov dx, 03bch
call delay
un4:
out dx, al
mov al, 99h
mov dx, 03bch
call delay
un5:
out dx, al
mov al, 66h
mov dx, 03bch
call delay
un6:
out dx, al
mov al, 99h
mov dx, 03bch
call delay
un7:
out dx, al
mov al, 66h
mov dx, 03bch
call delay
un8:
out dx, al
call delay
jmp u1
L6:
uni0:
uni1:
out dx, al
call test1
mov al, 0ffh
mov dx, 03bch
call delay
uni2:
out dx, al
mov al, 42h
mov dx, 03bch
call delay
uni3:
out dx, al
mov al, 0ffh
mov dx, 03bch
call delay
uni4:
out dx, al
mov al, 24h
mov dx, 03bch
call delay
uni5:
out dx, al
mov al, 0ffh
mov dx, 03bch
call delay
uni6:
out dx, al
mov al, 18h
mov dx, 03bch
call delay
uni7:
out dx, al
mov al, 0ffh
mov dx, 03bch
call delay
uni8:
out dx, al
call delay
jmp u2
L7:
uniq0:
uniq1:
out dx, al
call test1
mov al, 0000h
mov dx, 03bch
call delay
uniq2:
out dx, al
mov al, 03h
mov dx, 03bch
call delay
uniq3:
out dx, al
mov al, 0ffh
mov dx, 03bch
call delay
uniq4:
out dx, al
mov al, 60h
mov dx, 03bch
call delay
uniq5:
out dx, al
mov al, 0ffh
mov dx, 03bch
call delay
uniq6:
out dx, al
mov al, 0E7h
mov dx, 03bch
call delay
uniq7:
out dx, al
mov al, 78h
mov dx, 03bch
call delay
uniq8:
out dx, al
call delay
jmp u3
L8:
inter0:
mov al, 0ffh
mov dx, 03bch
call delay
inter1:
out dx, al
call test1
mov al, 0000h
mov dx, 03bch
call delay
inter2:
out dx, al
mov al, 0ffh
mov dx, 03bch
call delay
inter3:
out dx, al
mov al, 55h
mov dx, 03bch
call delay
inter4:
out dx, al
mov al, 0AAh
mov dx, 03bch
call delay
inter5:
out dx, al
mov al, 0ffh
mov dx, 03bch
call delay
inter6:
out dx, al
mov al, 0000h
mov dx, 03bch
call delay
inter7:
out dx, al
call delay
jmp inter
;on:
;onO:
;mov al, 0ffh
;mov dx, 03bch
;on3:
;out dx, al
;call delay
;off:
;mov al, 0h
;mov dx, 03bch
;out dx, al
;jmp start1
delay:
push cx
push ax
push dx
mov cx, 00fh
mov dx, 04240h
mov ax, 86h
int 15h
pop dx
pop ax
pop cx
ret
end start