Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 12

.

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:

mov ax, @data


mov ds, ax

lea dx, menu


mov ah, 09h
int 21h

start1:

call test1

jmp start1

test1:
push cx
push ax
push dx

mov ah , 06
mov dl , 0ffh
int 21h

cmp al, '1'


je left

cmp al, '2'


je right

cmp al, '3'


je con

cmp al, '4'


je diver

cmp al, '5'


je u1
cmp al, '6'
je u2

cmp al, '7'


je u3

cmp al, '8'


je intern1

cmp al, '9'


je exit

pop dx
pop ax
pop cx

ret

L0:

mov ax, 0600h


mov bx, 0700h
mov cx, 0000h
mov dx, 2479h
int 10h

lea dx, bye


mov ah, 09h
int 21h

mov ah, 4ch


int 21h

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:

mov ax, 0600h


mov bx, 0700h
mov cx, 0000h
mov dx, 2479h
int 10h

lea dx, interu


mov ah, 09h
int 21h

jmp inter

exit:
jmp L0

L1:

loop0:

mov al, 01h


mov dx, 03bch
call delay

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:

mov al, 80h


mov dx, 03bch
call delay

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:

mov al, 81h


mov dx, 03bch
call delay

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:

mov al, 18h


mov dx, 03bch
call delay

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:

mov al, 99h


mov dx, 03bch
call delay

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:

mov al, 81h


mov dx, 03bch
call delay

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:

mov al, 0ffh


mov dx, 03bch
call delay

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

You might also like