You are on page 1of 6

Bounce 3

============================================
.MODEL SMALL

DATA_SEGMENT SEGMENT 'DATA'


ST1 DB (?)
X DB 0
Y DB 0
STATUS DB 1
ST2 DB "Enter Input Character :",'$'
DATA_SEGMENT ENDS

CODE_SEGMENT SEGMENT 'CODE'


ASSUME CS:CODE_SEGMENT,DS:DATA_SEGMENT,SS:STACK_SEGMENT

START PROC FAR


MOV AX,DATA_SEGMENT
MOV DS,AX

MOV AH,6
MOV AL,0
MOV BH,7
MOV CH,0
MOV CL,0
MOV DH,25
MOV DL,80
INT 10H

MOV AH,9
MOV DX,OFFSET ST2
INT 21H

MOV AH,1
INT 21H
MOV ST1,AL

MOV AH,6
MOV AL,0
MOV BH,7
MOV CH,0
MOV CL,0
MOV DH,25
MOV DL,80
INT 10H

AGAIN:
MOV AH,02
MOV BH,0
MOV DL,X
MOV DH,Y
INT 10H

MOV AH,02
MOV DL,ST1
INT 21H

MOV AX,40H
MOV ES,AX
MOV AX,ES:[6CH]
ADD AX,9

DELAY: CMP AX,ES:[6CH]


JNE DELAY

MOV AH,02
MOV BH,0
MOV DL,X
MOV DH,Y
INT 10H
MOV AH,02
MOV DL,' '
INT 21H

CONDITION1:

CMP STATUS,1
JNE CONDITION2

MOV STATUS,2

CMP Y,25
JGE CONDITION2
CMP X,80
JGE CONDITION2

MOV STATUS,1

INC X
INC Y

JMP AGAIN

CONDITION2:
CMP STATUS,2
JNE CONDITION3

MOV STATUS,3

CMP Y,0
JE CONDITION3
CMP X,80
JE CONDITION3

MOV STATUS,2

INC X
DEC Y
JMP AGAIN

CONDITION3:
CMP STATUS,3
JNE LOOKGOOD
MOV STATUS,4

CMP Y,25
JE LOOKGOOD
CMP X,80
JE LOOKGOOD

MOV STATUS,3

INC X
INC Y

JMP AGAIN

CONDITION:

CMP STATUS,1
JNE CONDITION2

MOV STATUS,2

CMP Y,25
JGE CONDITION2
CMP X,80
JGE CONDITION2

MOV STATUS,1

INC X
INC Y

JMP AGAIN
LOOKGOOD:
CMP STATUS,4
JNE CONDITION4
MOV STATUS,5
MOV AH,80
SUB AH,1
CMP X,AH
JE CONDITION4
MOV AH,0
CMP Y,AH

JE CONDITION4

MOV STATUS,4

INC X
DEC Y

JMP AGAIN

CONDITION4:

CMP STATUS,5
JNE EXIT

MOV STATUS,1

CMP Y,0
JE CONDITION
SUB X,2
CMP X,0
JLE CONDITION

MOV STATUS,5

DEC X
DEC Y
JMP AGAIN

EXIT: MOV AH,4CH


INT 21H

START ENDP

CODE_SEGMENT ENDS

STACK_SEGMENT SEGMENT STACK

ARRAY DB 100 DUP(?)


STACK_SEGMENT ENDS

END START

http://www.ravianeducation.blogspot.com
FARHAN: 03008855006

You might also like