Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- STACK1 SEGMENT STACK
- DB 100H DUP (?)
- LOOPER DB (?) ;-
- LOOPER1 DB (?);- Used for loops when CX is taken.
- LOOPER2 DB(?) ;-
- ABX DW 320*188+165 ;Keeps the frog's location.
- MOVE_Y DB 0 ;Frog's movement on the Y axis. (0-9)
- MOVE_X DW 165 ;Frog's movement on the X axis. (25-305)
- LIVES DB 3 ;Number of lives the frog has.
- LILYPAD1 DB 0 ;-
- LILYPAD2 DB 0 ;-
- LILYPAD3 DB 0 ;- Boolean (if frog at lilypad == 1)
- LILYPAD4 DB 0 ;-
- LILYPAD5 DB 0 ;-
- CAR1_1 DW 320*161 ;Keeps Car1_1's location.
- CAR1_1_X DW 0 ;Car1_1's movement on the X axis. (0-320)
- CAR1_2 DW 320*161+100 ;Keeps Car1_2's location.
- CAR1_2_X DW 100 ;Car1_2's movement on the X axis. (0-320)
- CAR1_3 DW 320*161+200 ;Keeps Car1_3's location.
- CAR1_3_X DW 200 ;Car1_3's movement on the X axis. (0-320)
- CAR2_1 DW 320*141+320 ;Keeps Car2_1's location.
- CAR2_1_X DW 320 ;Car2_1's movement on the X axis. (320-0)
- CAR2_2 DW 320*141+220 ;Keeps Car2_2's location.
- CAR2_2_X DW 220 ;Car2_2's movement on the X axis. (320-0)
- CAR2_3 DW 320*141+120 ;Keeps Car2_3's location.
- CAR2_3_X DW 120 ;Car2_3's movement on the X axis. (320-0)
- CAR3_1 DW 320*129 ;Keeps Car3_1's location.
- CAR3_1_X DW 0 ;Car3_1's movement on the X axis. (0-320)
- CAR3_2 DW 320*129+100 ;Keeps Car3_2's location.
- CAR3_2_X DW 100 ;Car3_2's movement on the X axis. (0-320)
- CAR3_3 DW 320*129+200 ;Keeps Car3_2's location.
- CAR3_3_X DW 200 ;Car3_2's movement on the X axis. (0-320)
- CAR4_1 DW 320*103+320 ;Keeps Car4_1's location.
- CAR4_1_X DW 320 ;Car4_1's movement on the X axis. (320-0)
- CAR4_2 DW 320*103+220 ;Keeps Car4_2's location.
- CAR4_2_X DW 220 ;Car4_2's movement on the X axis. (320-0)
- CAR4_3 DW 320*103+120 ;Keeps Car4_3's location.
- CAR4_3_X DW 120 ;Car4_3's movement on the X axis. (320-0)
- BLACK EQU 0
- BLUE EQU 1
- GREEN EQU 2
- LIGHT_BLUE EQU 3
- RED EQU 4
- PURPLE EQU 5
- BROWN EQU 6
- GREY EQU 7
- DARK_GREY EQU 8
- BLUE_PURPLE EQU 9
- LIGHT_GREEN EQU 10
- BRIGHT_BLUE EQU 11
- LIGHT_RED EQU 12
- PINK EQU 13
- YELLOW EQU 14
- WHITE EQU 15
- GRASS_GREEN EQU 120
- STACK1 ENDS
- DATA SEGMENT
- YOUWIN DB ' CONGRATULATIONS! YOU WIN! Press Enter to continue $'
- YOULOSE DB ' GAME OVER YOU LOSE! Press Enter to continue $'
- FROGGER DB ' FROGGER$'
- LINE1 DB 'Press 1 to start$'
- LINE2 DB 'Press 2 for instructions$'
- LINE3 DB 'Press 3 to exit$'
- CREDITS DB 'Made by: Sean Kutakov$'
- INSTRUCT0 DB 'INSTRUCTIONS:$'
- INSTRUCT01 DB 'You are playing a frog trying to cross the road. Your objective is to get on all 5 lilypads. Avoid cars to not die.$'
- INSTRUCT1 DB 'W / Up Arrow ----- go up.$'
- INSTRUCT2 DB 'A / Left Arrow --- go left.$'
- INSTRUCT3 DB 'D / Right Arrow -- go right.$'
- INSTRUCT4 DB 'S / Down Arrow --- go down.$'
- INSTRUCT5 DB 'Esc -------------- go back to menu.$'
- INSTRUCT6 DB 'Press any key to continue...$'
- DATA ENDS
- CODE SEGMENT
- ASSUME CS:CODE, ES:CODE, SS:STACK1, DS:DATA
- ;BX = Location = 320*ROW+COLUMN
- ;DH = Color
- START: MOV AX, CODE
- MOV ES, AX
- MOV DX, DATA
- MOV DS, DX
- CALL RESET
- CALL MENU
- MOV AH, 0 ;-
- MOV AL, 13H ;- GRAPHICS
- INT 10H ;- CARD
- PUSH 0A000H ;-
- POP ES ;-
- CALL BACKGROUND
- MOV DL, 3
- MOV AH, 2
- INT 21H
- BACK: MOV AL, 0FFH
- OUT 60H, AL ;KEYBOARD OUT
- MOV SI, 0FFFFH
- DELAY: DEC SI
- JNZ DELAY
- CALL CAR1
- CALL CAR2
- CALL CAR3
- CALL CAR4
- CALL FROG_DRAW
- CMP MOVE_Y, 1
- JE T_CAR1
- CMP MOVE_Y, 2
- JE T_CAR2
- CMP MOVE_Y, 3
- JE T_CAR3
- CMP MOVE_Y, 4
- JE T_CAR4
- JMP LILYPADS
- T_CAR1:CALL TESTCAR1
- JMP LILYPADS
- T_CAR2:CALL TESTCAR2
- JMP LILYPADS
- T_CAR3:CALL TESTCAR3
- JMP LILYPADS
- T_CAR4:CALL TESTCAR4
- LILYPADS:
- CMP LILYPAD1, 1
- JNE KELET
- CMP LILYPAD2, 1
- JNE KELET
- CMP LILYPAD3, 1
- JNE KELET
- CMP LILYPAD4, 1
- JNE KELET
- CMP LILYPAD5, 1
- JNE KELET
- JMP WIN
- KELET: IN AL, 60H ;KEYBOARD IN
- CMP AL, 17 ;W
- JE UPX
- CMP AL, 200 ;↑
- JE UPX
- CMP AL, 30 ;A
- JE LEFTX
- CMP AL, 203 ;←
- JE LEFTX
- CMP AL, 32 ;D
- JE RIGHTX
- CMP AL, 205 ;→
- JE RIGHTX
- CMP AL, 31 ;S
- JE DOWNX
- CMP AL, 208 ;↓
- JE DOWNX
- CMP AL, 1 ;ESC
- JE QUIT
- JMP BACK
- QUIT: JMP START
- UPX: CALL UP
- CALL CHECKWIN
- JMP BACK
- LEFTX: CALL LEFT
- CALL CHECKWIN
- JMP BACK
- RIGHTX:CALL RIGHT
- CALL CHECKWIN
- JMP BACK
- DOWNX: CALL DOWN
- CALL CHECKWIN
- JMP BACK
- WIN: MOV LOOPER, 5
- WINX: CALL NEWLINE
- DEC LOOPER
- JNZ WINX
- LEA DX, YOUWIN
- MOV AH, 9
- INT 21H
- WINZ: MOV AH, 7
- INT 21H
- CMP AL, 13
- JNE WINZ
- JMP START
- ;--------------------[Functions]--------------------
- DRAW: MOV BYTE PTR[ES:BX], DH
- DEC BX
- LOOP DRAW
- RET
- CHECKWIN:CMP MOVE_Y, 9
- JNE RETWIN1
- CMP MOVE_X, 85
- JE LP_1
- CMP MOVE_X, 125
- JE LP_2
- CMP MOVE_X, 165
- JE LP_3
- CMP MOVE_X, 205
- JE LP_4
- CMP MOVE_X, 245
- JE LP_5_1
- JMP RETWIN
- RETWIN1:JMP RETWIN ;JMP EXTEND
- LP_1: MOV LILYPAD1, 1
- CALL FROG_DRAW
- MOV MOVE_Y, 0
- MOV MOVE_X, 165
- MOV BX, 320*188+165
- MOV ABX, BX
- JMP RETWIN
- LP_5_1:JMP LP_5 ;JMP EXTEND
- LP_2: MOV LILYPAD2, 1
- CALL FROG_DRAW
- MOV MOVE_Y, 0
- MOV MOVE_X, 165
- MOV BX, 320*188+165
- MOV ABX, BX
- JMP RETWIN
- LP_3: MOV LILYPAD3, 1
- CALL FROG_DRAW
- MOV MOVE_Y, 0
- MOV MOVE_X, 165
- MOV BX, 320*188+165
- MOV ABX, BX
- JMP RETWIN
- LP_4: MOV LILYPAD4, 1
- CALL FROG_DRAW
- MOV MOVE_Y, 0
- MOV MOVE_X, 165
- MOV BX, 320*188+165
- MOV ABX, BX
- JMP RETWIN
- LP_5: MOV LILYPAD5, 1
- CALL FROG_DRAW
- MOV MOVE_Y, 0
- MOV MOVE_X, 165
- MOV BX, 320*188+165
- MOV ABX, BX
- RETWIN:RET
- ;----------------------Movement---------------------
- UP: CMP MOVE_Y, 9
- JE UPZ
- CALL FROG_ERASE
- INC MOVE_Y
- SUB BX, 320*20
- MOV ABX, BX
- UPZ: RET
- DOWN: CMP MOVE_Y, 0
- JE DOWNZ
- CALL FROG_ERASE
- DEC MOVE_Y
- ADD BX, 320*20
- MOV ABX, BX
- DOWNZ: RET
- LEFT: CMP MOVE_X, 25
- JE LEFTZ
- CALL FROG_ERASE
- SUB MOVE_X, 20
- SUB BX, 20
- MOV ABX, BX
- LEFTZ: RET
- RIGHT: CMP MOVE_X, 305
- JE RIGHTZ
- CALL FROG_ERASE
- ADD MOVE_X, 20
- ADD BX, 20
- MOV ABX, BX
- RIGHTZ:RET
- ;--------------------Hit Detection--------------------
- TESTCAR1:
- MOV SI, MOVE_X
- SUB SI, 11
- CMP SI, CAR1_1_X
- JBE TCAR1_1
- JMP TESTCAR1_2
- TCAR1_1:MOV SI, CAR1_1_X
- SUB SI, 27
- CMP MOVE_X, SI
- JAE HIT1
- TESTCAR1_2:
- MOV SI, MOVE_X
- SUB SI, 11
- CMP SI, CAR1_2_X
- JBE TCAR1_2
- JMP TESTCAR1_3
- TCAR1_2:MOV SI, CAR1_2_X
- SUB SI, 27
- CMP MOVE_X, SI
- JAE HIT1
- TESTCAR1_3:
- MOV SI, MOVE_X
- SUB SI, 11
- CMP SI, CAR1_3_X
- JBE TCAR1_3
- JMP RETCAR1
- TCAR1_3:MOV SI, CAR1_3_X
- SUB SI, 27
- CMP MOVE_X, SI
- JAE HIT1
- JMP RETCAR1
- HIT1: CALL HIT
- RETCAR1:RET
- TESTCAR2:
- MOV SI, MOVE_X
- CMP SI, CAR2_1_X
- JAE TCAR2_1
- JMP TESTCAR2_2
- TCAR2_1:MOV SI, CAR2_1_X
- ADD SI, 38
- CMP MOVE_X, SI
- JBE HIT2
- TESTCAR2_2:
- MOV SI,MOVE_X
- CMP SI, CAR2_2_X
- JAE TCAR2_2
- JMP TESTCAR2_3
- TCAR2_2:MOV SI, CAR2_2_X
- ADD SI, 38
- CMP MOVE_X, SI
- JBE HIT2
- TESTCAR2_3:
- MOV SI, MOVE_X
- CMP SI, CAR2_3_X
- JAE TCAR2_3
- JMP RETCAR2
- TCAR2_3:MOV SI, CAR2_3_X
- ADD SI, 38
- CMP MOVE_X, SI
- JBE HIT2
- JMP RETCAR3
- HIT2: CALL HIT
- RETCAR2:RET
- TESTCAR3:
- MOV SI, MOVE_X
- SUB SI, 11
- CMP SI, CAR3_1_X
- JBE TCAR3_1
- JMP TESTCAR3_2
- TCAR3_1:MOV SI, CAR3_1_X
- SUB SI, 23
- CMP MOVE_X, SI
- JAE HIT3
- TESTCAR3_2:
- MOV SI, MOVE_X
- SUB SI, 11
- CMP SI, CAR3_2_X
- JBE TCAR3_2
- JMP TESTCAR3_3
- TCAR3_2:MOV SI, CAR3_2_X
- SUB SI, 23
- CMP MOVE_X, SI
- JAE HIT3
- TESTCAR3_3:
- MOV SI, MOVE_X
- SUB SI, 11
- CMP SI, CAR3_3_X
- JBE TCAR3_3
- JMP RETCAR3
- TCAR3_3:MOV SI, CAR3_3_X
- SUB SI, 23
- CMP MOVE_X, SI
- JAE HIT3
- JMP RETCAR3
- HIT3: CALL HIT
- RETCAR3:RET
- TESTCAR4:
- MOV SI, MOVE_X
- CMP SI, CAR4_1_X
- JAE TCAR4_1
- JMP TESTCAR4_2
- TCAR4_1:MOV SI, CAR4_1_X
- ADD SI, 53
- CMP MOVE_X, SI
- JBE HIT4
- TESTCAR4_2:
- MOV SI, MOVE_X
- CMP SI, CAR4_2_X
- JAE TCAR4_2
- JMP TESTCAR4_3
- TCAR4_2:MOV SI, CAR4_2_X
- ADD SI, 53
- CMP MOVE_X, SI
- JBE HIT4
- TESTCAR4_3:
- MOV SI, MOVE_X
- CMP SI, CAR4_3_X
- JAE TCAR4_3
- JMP RETCAR4
- TCAR4_3:MOV SI, CAR4_3_X
- ADD SI, 53
- CMP MOVE_X, SI
- JBE HIT4
- JMP RETCAR4
- HIT4: CALL HIT
- RETCAR4:RET
- HIT: CALL FROG_ERASE
- MOV MOVE_Y, 0
- MOV MOVE_X, 165
- MOV BX, 320*188+165
- MOV ABX, BX
- DEC LIVES
- MOV DL, 58H
- MOV AH, 2
- INT 21H
- JNZ HITZ
- MOV LOOPER, 5
- HITX: CALL NEWLINE
- DEC LOOPER
- JNZ HITX
- LEA DX, YOULOSE
- MOV AH, 9
- INT 21H
- HITZ1: MOV AH, 7
- INT 21H
- CMP AL, 13
- JNE HITZ1
- JMP START
- HITZ: RET
- ;----------------------Frog---------------------
- FROG_DRAW:
- MOV BX, ABX
- MOV DH, GREEN
- CALL FROG_GREEN
- MOV BX, ABX
- MOV DH, YELLOW
- CALL FROG_YELLOW
- MOV BX, ABX
- MOV DH, RED
- CALL FROG_RED
- MOV BX, ABX
- RET
- FROG_ERASE:
- CMP MOVE_Y, 9
- JE E_GREEN
- CMP MOVE_Y, 0
- JE E_PURPLE
- CMP MOVE_Y, 5
- JE E_PURPLE
- CMP MOVE_Y, 6
- JAE E_BLUE
- MOV DH, BLACK
- JMP FROG_ERASE1
- E_BLUE:MOV DH, BLUE
- JMP FROG_ERASE1
- E_PURPLE:
- MOV DH, PURPLE
- JMP FROG_ERASE1
- E_GREEN:MOV DH, GRASS_GREEN
- CMP MOVE_X, 285
- JAE FROG_ERASE1
- CMP MOVE_X, 45
- JBE FROG_ERASE1
- JMP E_BLUE
- FROG_ERASE1:
- MOV ABX, BX
- CALL FROG_GREEN
- MOV BX, ABX
- CALL FROG_YELLOW
- MOV BX, ABX
- CALL FROG_RED
- MOV BX, ABX
- RET
- ;--[Cars: Movement, colors, and up/down cars]--
- ;---------------------Car1---------------------
- CAR1: INC CAR1_1_X
- CMP CAR1_1_X, 320
- JNE CAR1X1
- CALL UPCAR1_1
- CAR1X1:INC CAR1_2_X
- CMP CAR1_2_X, 320
- JNE CAR1X2
- CALL UPCAR1_2
- CAR1X2:INC CAR1_3_X
- CMP CAR1_3_x, 320
- JNE CAR1X
- CALL UPCAR1_3
- CAR1X: MOV BX, CAR1_1
- MOV DH, BLACK
- CALL CAR1_RED
- MOV BX, CAR1_1
- CALL CAR1_WHITE
- MOV BX, CAR1_1
- CALL CAR1_GREEN
- INC CAR1_1
- MOV BX, CAR1_1
- MOV DH, RED
- CALL CAR1_RED
- MOV BX, CAR1_1
- MOV DH, GREY
- CALL CAR1_WHITE
- MOV BX, CAR1_1
- MOV DH, GREEN
- CALL CAR1_GREEN
- MOV BX, CAR1_2
- MOV DH, BLACK
- CALL CAR1_RED
- MOV BX, CAR1_2
- CALL CAR1_WHITE
- MOV BX, CAR1_2
- CALL CAR1_GREEN
- INC CAR1_2
- MOV BX, CAR1_2
- MOV DH, RED
- CALL CAR1_RED
- MOV BX, CAR1_2
- MOV DH, GREY
- CALL CAR1_WHITE
- MOV BX, CAR1_2
- MOV DH, GREEN
- CALL CAR1_GREEN
- MOV BX, CAR1_3
- MOV DH, BLACK
- CALL CAR1_RED
- MOV BX, CAR1_3
- CALL CAR1_WHITE
- MOV BX, CAR1_3
- CALL CAR1_GREEN
- INC CAR1_3
- MOV BX, CAR1_3
- MOV DH, RED
- CALL CAR1_RED
- MOV BX, CAR1_3
- MOV DH, GREY
- CALL CAR1_WHITE
- MOV BX, CAR1_3
- MOV DH, GREEN
- CALL CAR1_GREEN
- RET
- UPCAR1_1:
- MOV BX, CAR1_1
- MOV DH, BLACK
- CALL CAR1_RED
- MOV BX, CAR1_1
- CALL CAR1_WHITE
- MOV BX, CAR1_1
- CALL CAR1_GREEN
- SUB CAR1_1, 320
- MOV CAR1_1_X, 0
- RET
- UPCAR1_2:
- MOV BX, CAR1_2
- MOV DH, BLACK
- CALL CAR1_RED
- MOV BX, CAR1_2
- CALL CAR1_WHITE
- MOV BX, CAR1_2
- CALL CAR1_GREEN
- SUB CAR1_2, 320
- MOV CAR1_2_X, 0
- RET
- UPCAR1_3:
- MOV BX, CAR1_3
- MOV DH, BLACK
- CALL CAR1_RED
- MOV BX, CAR1_3
- CALL CAR1_WHITE
- MOV BX, CAR1_3
- CALL CAR1_GREEN
- SUB CAR1_3, 320
- MOV CAR1_3_X, 0
- RET
- ;---------------------Car2---------------------
- CAR2: SUB CAR2_1_X, 2
- CMP CAR2_1_X, 0
- JNE CAR2X1
- CALL DOWNCAR2_1
- CAR2X1:SUB CAR2_2_X, 2
- CMP CAR2_2_X, 0
- JNE CAR2X2
- CALL DOWNCAR2_2
- CAR2X2:SUB CAR2_3_X, 2
- CMP CAR2_3_X, 0
- JNE CAR2X
- CALL DOWNCAR2_3
- CAR2X: MOV BX, CAR2_1
- MOV DH, BLACK
- CALL CAR2_PURPLE
- MOV BX, CAR2_1
- CALL CAR2_LBLUE
- MOV BX, CAR2_1
- CALL CAR2_YELLOW
- SUB CAR2_1, 2
- MOV BX, CAR2_1
- MOV DH, PURPLE
- CALL CAR2_PURPLE
- MOV BX, CAR2_1
- MOV DH, LIGHT_BLUE
- CALL CAR2_LBLUE
- MOV BX, CAR2_1
- MOV DH, YELLOW
- CALL CAR2_YELLOW
- MOV BX, CAR2_2
- MOV DH, BLACK
- CALL CAR2_PURPLE
- MOV BX, CAR2_2
- CALL CAR2_LBLUE
- MOV BX, CAR2_2
- CALL CAR2_YELLOW
- SUB CAR2_2, 2
- MOV BX, CAR2_2
- MOV DH, PURPLE
- CALL CAR2_PURPLE
- MOV BX, CAR2_2
- MOV DH, LIGHT_BLUE
- CALL CAR2_LBLUE
- MOV BX, CAR2_2
- MOV DH, YELLOW
- CALL CAR2_YELLOW
- MOV BX, CAR2_3
- MOV DH, BLACK
- CALL CAR2_PURPLE
- MOV BX, CAR2_3
- CALL CAR2_LBLUE
- MOV BX, CAR2_3
- CALL CAR2_YELLOW
- SUB CAR2_3, 2
- MOV BX, CAR2_3
- MOV DH, PURPLE
- CALL CAR2_PURPLE
- MOV BX, CAR2_3
- MOV DH, LIGHT_BLUE
- CALL CAR2_LBLUE
- MOV BX, CAR2_3
- MOV DH, YELLOW
- CALL CAR2_YELLOW
- RET
- DOWNCAR2_1:
- MOV BX, CAR2_1
- MOV DH, BLACK
- CALL CAR2_PURPLE
- MOV BX, CAR2_1
- CALL CAR2_LBLUE
- MOV BX, CAR2_1
- CALL CAR2_YELLOW
- ADD CAR2_1, 320
- MOV CAR2_1_X, 320
- RET
- DOWNCAR2_2:
- MOV BX, CAR2_2
- MOV DH, BLACK
- CALL CAR2_PURPLE
- MOV BX, CAR2_2
- CALL CAR2_LBLUE
- MOV BX, CAR2_2
- CALL CAR2_YELLOW
- ADD CAR2_2, 320
- MOV CAR2_2_X, 320
- RET
- DOWNCAR2_3:
- MOV BX, CAR2_3
- MOV DH, BLACK
- CALL CAR2_PURPLE
- MOV BX, CAR2_3
- CALL CAR2_LBLUE
- MOV BX, CAR2_3
- CALL CAR2_YELLOW
- ADD CAR2_3, 320
- MOV CAR2_3_X, 320
- RET
- ;---------------------Car3---------------------
- CAR3: ADD CAR3_1_X, 4
- CMP CAR3_1_X, 320
- JNE CAR3X1
- CALL UPCAR3_1
- CAR3X1:ADD CAR3_2_X, 4
- CMP CAR3_2_X, 320
- JNE CAR3X2
- CALL UPCAR3_2
- CAR3X2:ADD CAR3_3_X, 4
- CMP CAR3_3_x, 320
- JNE CAR3X
- CALL UPCAR3_3
- CAR3X: MOV BX, CAR3_1
- MOV DH, BLACK
- CALL CAR3_WHITE
- MOV BX, CAR3_1
- CALL CAR3_GREEN
- MOV BX, CAR3_1
- CALL CAR3_RED
- ADD CAR3_1, 4
- MOV BX, CAR3_1
- MOV DH, GREY
- CALL CAR3_WHITE
- MOV BX, CAR3_1
- MOV DH, GREEN
- CALL CAR3_GREEN
- MOV BX, CAR3_1
- MOV DH, RED
- CALL CAR3_RED
- MOV BX, CAR3_2
- MOV DH, BLACK
- CALL CAR3_WHITE
- MOV BX, CAR3_2
- CALL CAR3_GREEN
- MOV BX, CAR3_2
- CALL CAR3_RED
- ADD CAR3_2, 4
- MOV BX, CAR3_2
- MOV DH, GREY
- CALL CAR3_WHITE
- MOV BX, CAR3_2
- MOV DH, GREEN
- CALL CAR3_GREEN
- MOV BX, CAR3_2
- MOV DH, RED
- CALL CAR3_RED
- MOV BX, CAR3_3
- MOV DH, BLACK
- CALL CAR3_WHITE
- MOV BX, CAR3_3
- CALL CAR3_GREEN
- MOV BX, CAR3_3
- CALL CAR3_RED
- ADD CAR3_3, 4
- MOV BX, CAR3_3
- MOV DH, GREY
- CALL CAR3_WHITE
- MOV BX, CAR3_3
- MOV DH, GREEN
- CALL CAR3_GREEN
- MOV BX, CAR3_3
- MOV DH, RED
- CALL CAR3_RED
- RET
- UPCAR3_1:
- MOV BX, CAR3_1
- MOV DH, BLACK
- CALL CAR3_WHITE
- MOV BX, CAR3_1
- CALL CAR3_GREEN
- MOV BX, CAR3_1
- CALL CAR3_RED
- SUB CAR3_1, 320
- MOV CAR3_1_X, 0
- RET
- UPCAR3_2:
- MOV BX, CAR3_2
- MOV DH, BLACK
- CALL CAR3_WHITE
- MOV BX, CAR3_2
- CALL CAR3_GREEN
- MOV BX, CAR3_2
- CALL CAR3_RED
- SUB CAR3_2, 320
- MOV CAR3_2_X, 0
- RET
- UPCAR3_3:
- MOV BX, CAR3_3
- MOV DH, BLACK
- CALL CAR3_WHITE
- MOV BX, CAR3_3
- CALL CAR3_GREEN
- MOV BX, CAR3_3
- CALL CAR3_RED
- SUB CAR3_3, 320
- MOV CAR3_3_X, 0
- RET
- ;---------------------Car4---------------------
- CAR4: DEC CAR4_1_X
- CMP CAR4_1_X, 0
- JNE CAR4X1
- CALL DOWNCAR4_1
- CAR4X1:DEC CAR4_2_X
- CMP CAR4_2_X, 0
- JNE CAR4X2
- CALL DOWNCAR4_2
- CAR4X2:DEC CAR4_3_X
- CMP CAR4_3_x, 0
- JNE CAR4X
- CALL DOWNCAR4_3
- CAR4X: MOV BX, CAR4_1
- MOV DH, BLACK
- CALL CAR4_WHITE
- MOV BX, CAR4_1
- CALL CAR4_GREEN
- MOV BX, CAR4_1
- CALL CAR4_RED
- DEC CAR4_1
- MOV BX, CAR4_1
- MOV DH, GREY
- CALL CAR4_WHITE
- MOV BX, CAR4_1
- MOV DH, GREEN
- CALL CAR4_GREEN
- MOV BX, CAR4_1
- MOV DH, RED
- CALL CAR4_RED
- MOV BX, CAR4_2
- MOV DH, BLACK
- CALL CAR4_WHITE
- MOV BX, CAR4_2
- CALL CAR4_GREEN
- MOV BX, CAR4_2
- CALL CAR4_RED
- DEC CAR4_2
- MOV BX, CAR4_2
- MOV DH, GREY
- CALL CAR4_WHITE
- MOV BX, CAR4_2
- MOV DH, GREEN
- CALL CAR4_GREEN
- MOV BX, CAR4_2
- MOV DH, RED
- CALL CAR4_RED
- MOV BX, CAR4_3
- MOV DH, BLACK
- CALL CAR4_WHITE
- MOV BX, CAR4_3
- CALL CAR4_GREEN
- MOV BX, CAR4_3
- CALL CAR4_RED
- DEC CAR4_3
- MOV BX, CAR4_3
- MOV DH, GREY
- CALL CAR4_WHITE
- MOV BX, CAR4_3
- MOV DH, GREEN
- CALL CAR4_GREEN
- MOV BX, CAR4_3
- MOV DH, RED
- CALL CAR4_RED
- RET
- DOWNCAR4_1:
- MOV BX, CAR4_1
- MOV DH, BLACK
- CALL CAR4_WHITE
- MOV BX, CAR4_1
- CALL CAR4_GREEN
- MOV BX, CAR4_1
- CALL CAR4_RED
- ADD CAR4_1, 320
- MOV CAR4_1_X, 320
- RET
- DOWNCAR4_2:
- MOV BX, CAR4_2
- MOV DH, BLACK
- CALL CAR4_WHITE
- MOV BX, CAR4_2
- CALL CAR4_GREEN
- MOV BX, CAR4_2
- CALL CAR4_RED
- ADD CAR4_2, 320
- MOV CAR4_2_X, 320
- RET
- DOWNCAR4_3:
- MOV BX, CAR4_3
- MOV DH, BLACK
- CALL CAR4_WHITE
- MOV BX, CAR4_3
- CALL CAR4_GREEN
- MOV BX, CAR4_3
- CALL CAR4_RED
- ADD CAR4_3, 320
- MOV CAR4_3_X, 320
- RET
- ;-----------------[Textures]-----------------
- ;--------------------FROG--------------------
- FROG_GREEN:
- DEC BX
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 3
- MOV CX, 4
- CALL DRAW
- SUB BX, 2
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 320+10
- MOV CX, 2
- CALL DRAW
- SUB BX, 8
- MOV CX, 2
- CALL DRAW
- ADD BX, 320+11
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 2
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 5
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 2
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 320+9
- MOV CX, 3
- CALL DRAW
- SUB BX, 4
- MOV CX, 3
- CALL DRAW
- ADD BX, 320+8
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 5
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 320+7
- MOV CX, 3
- CALL DRAW
- SUB BX, 4
- MOV CX, 3
- CALL DRAW
- ADD BX, 320+10
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 2
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 5
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 2
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 320+10
- MOV CX, 2
- CALL DRAW
- SUB BX, 2
- MOV CX, 4
- CALL DRAW
- SUB BX, 2
- MOV CX, 2
- CALL DRAW
- ADD BX, 320+11
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 9
- MOV BYTE PTR[ES:BX], DH
- RET
- FROG_YELLOW:
- ADD BX, 320-4
- MOV LOOPER, 6
- FROG_YELLOW1:
- MOV CX, 4
- CALL DRAW
- ADD BX, 320+4
- DEC LOOPER
- JNZ FROG_YELLOW1
- RET
- FROG_RED:
- ADD BX, 320-3
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 5
- MOV BYTE PTR[ES:BX], DH
- RET
- ;------------------CAR_1------------------
- CAR1_RED:
- ADD BX, 320*2-2
- MOV LOOPER, 13
- CAR1_RED1:
- MOV CX, 2
- CALL DRAW
- ADD BX, 320+2
- DEC LOOPER
- JNZ CAR1_RED1
- SUB BX, 12
- MOV CX, 11
- CALL DRAW
- SUB BX, 320-11
- MOV CX, 11
- CALL DRAW
- SUB BX, 320*12-11
- MOV CX, 11
- CALL DRAW
- SUB BX, 320-11
- MOV CX, 11
- CALL DRAW
- RET
- CAR1_WHITE:
- MOV CX, 4
- CALL DRAW
- ADD BX, 320+4
- MOV CX, 4
- CALL DRAW
- SUB BX, 320
- MOV LOOPER, 17
- CAR1_WHITE1:
- MOV CX, 2
- CALL DRAW
- ADD BX, 320+2
- DEC LOOPER
- JNZ CAR1_WHITE1
- SUB BX, 320*13-4
- MOV CX, 4
- CALL DRAW
- ADD BX, 320*2+4
- MOV CX, 4
- CALL DRAW
- ADD BX, 320*4+4
- MOV CX, 4
- CALL DRAW
- ADD BX, 320*2+4
- MOV CX, 4
- CALL DRAW
- ADD BX, 320*3+4
- MOV CX, 4
- CALL DRAW
- ADD BX, 320+4
- MOV CX, 4
- CALL DRAW
- SUB BX, 320+8
- MOV LOOPER2, 2
- CAR1_WHITE2:
- MOV LOOPER1, 2
- CAR1_WHITE3:
- MOV LOOPER, 6
- CAR1_WHITE4:
- SUB BX, 2
- MOV BYTE PTR[ES:BX], DH
- DEC LOOPER
- JNZ CAR1_WHITE4
- SUB BX, 320-12
- DEC LOOPER1
- JNZ CAR1_WHITE3
- SUB BX, 320*11
- DEC LOOPER2
- JNZ CAR1_WHITE2
- ADD BX, 320*15+2
- MOV CX, 16
- CALL DRAW
- ADD BX, 320+16
- MOV CX, 17
- CALL DRAW
- ADD BX, 320+17
- MOV LOOPER, 5
- CAR1_WHITE5:
- MOV CX, 18
- CALL DRAW
- ADD BX, 320+18
- DEC LOOPER
- JNZ CAR1_WHITE5
- MOV CX, 17
- CALL DRAW
- ADD BX, 320+17
- MOV CX, 16
- CALL DRAW
- RET
- CAR1_GREEN:
- ADD BX, 320*2-6
- MOV CX, 5
- CALL DRAW
- ADD BX, 320+1
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 5
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 8
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 320*10
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 8
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 5
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 320+4
- MOV CX, 5
- CALL DRAW
- SUB BX, 320*4-1
- MOV CX, 2
- CALL DRAW
- SUB BX, 320-2
- MOV CX, 2
- CALL DRAW
- SUB BX, 320*2-2
- MOV CX, 2
- CALL DRAW
- SUB BX, 320-2
- MOV CX, 2
- CALL DRAW
- SUB BX, 2
- MOV CX, 3
- CALL DRAW
- ADD BX, 320+3
- MOV LOOPER, 3
- CAR1_GREEN1:
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 3
- MOV CX, 7
- CALL DRAW
- ADD BX, 320+10
- DEC LOOPER
- JNZ CAR1_GREEN1
- MOV CX, 3
- CALL DRAW
- RET
- ;------------------CAR_2------------------
- CAR2_PURPLE:
- ADD BX, 320+23
- MOV CX, 6
- CALL DRAW
- SUB BX, 6
- MOV CX, 6
- CALL DRAW
- ADD BX, 320+19
- MOV CX, 8
- CALL DRAW
- SUB BX, 4
- MOV CX, 8
- CALL DRAW
- ADD BX, 320+21
- MOV CX, 22
- CALL DRAW
- SUB BX, 2
- MOV LOOPER, 8
- CAR2_PURPLE1:
- ADD BX, 320+25
- MOV CX, 25
- CALL DRAW
- DEC LOOPER
- JNZ CAR2_PURPLE1
- ADD BX, 320+24
- MOV CX, 22
- CALL DRAW
- ADD BX, 320+21
- MOV CX, 8
- CALL DRAW
- SUB BX, 4
- MOV CX, 8
- CALL DRAW
- ADD BX, 320+19
- MOV CX, 6
- CALL DRAW
- SUB BX, 6
- MOV CX, 6
- CALL DRAW
- RET
- CAR2_LBLUE:
- ADD BX, 320+5
- MOV LOOPER, 4
- CAR2_LBLUE1:
- MOV CX, 2
- CALL DRAW
- ADD BX, 320+1
- DEC LOOPER
- JNZ CAR2_LBLUE1
- MOV LOOPER, 6
- CAR2_LBLUE2:
- MOV CX, 2
- CALL DRAW
- ADD BX, 320+2
- DEC LOOPER
- JNZ CAR2_LBLUE2
- INC BX
- MOV LOOPER, 4
- CAR2_LBLUE3:
- MOV CX, 2
- CALL DRAW
- ADD BX, 320+3
- DEC LOOPER
- JNZ CAR2_LBLUE3
- SUB BX, 320*12-6
- MOV CX, 4
- CALL DRAW
- ADD BX, 320+3
- MOV CX, 4
- CALL DRAW
- DEC BX
- MOV LOOPER, 6
- CAR2_LBLUE4:
- ADD BX, 320+4
- MOV CX, 4
- CALL DRAW
- DEC LOOPER
- JNZ CAR2_LBLUE4
- ADD BX, 320+5
- MOV CX, 4
- CALL DRAW
- ADD BX, 320+5
- MOV CX, 4
- CALL DRAW
- SUB BX, 320-19
- MOV CX, 3
- CALL DRAW
- SUB BX, 320+1
- MOV LOOPER, 6
- CAR2_LBLUE5:
- MOV CX, 4
- CALL DRAW
- SUB BX, 320-4
- DEC LOOPER
- JNZ CAR2_LBLUE5
- ADD BX, 4
- MOV CX, 3
- CALL DRAW
- RET
- CAR2_YELLOW:
- ADD BX, 22
- MOV CX, 4
- CALL DRAW
- SUB BX, 8
- MOV CX, 4
- CALL DRAW
- ADD BX, 320*15+16
- MOV CX, 4
- CALL DRAW
- SUB BX, 8
- MOV CX, 4
- CALL DRAW
- RET
- ;------------------CAR_3------------------
- CAR3_WHITE:
- SUB BX, 320*4+4
- MOV CX, 17
- CALL DRAW
- ADD BX, 320+18
- MOV CX, 19
- CALL DRAW
- ADD BX, 320+20
- MOV CX, 14
- CALL DRAW
- SUB BX, 4
- MOV LOOPER, 3
- CAR3_WHITE1:
- ADD BX, 320+19
- MOV CX, 19
- CALL DRAW
- DEC LOOPER
- JNZ CAR3_WHITE1
- ADD BX, 320+18
- MOV CX, 14
- CALL DRAW
- ADD BX, 320+13
- MOV CX, 19
- CALL DRAW
- ADD BX, 320+18
- MOV CX, 17
- CALL DRAW
- SUB BX, 320*4-21
- MOV BYTE PTR[ES:BX], DH
- RET
- CAR3_GREEN:
- SUB BX, 320*5+8
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 10
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 320*3+10
- MOV CX, 4
- CALL DRAW
- SUB BX, 4
- MOV CX, 8
- CALL DRAW
- ADD BX, 320+17
- MOV CX, 4
- CALL DRAW
- ADD BX, 320+5
- MOV CX, 6
- CALL DRAW
- ADD BX, 320+5
- MOV CX, 4
- CALL DRAW
- ADD BX, 320+3
- MOV CX, 4
- CALL DRAW
- SUB BX, 4
- MOV CX, 8
- CALL DRAW
- ADD BX, 320*3+16
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 10
- MOV BYTE PTR[ES:BX], DH
- RET
- CAR3_RED:
- SUB BX, 320*8+16
- MOV CX, 5
- CALL DRAW
- MOV LOOPER, 2
- CAR3_RED1:
- ADD BX, 320+15
- MOV CX, 5
- CALL DRAW
- SUB BX, 5
- MOV CX, 5
- CALL DRAW
- DEC LOOPER
- JNZ CAR3_RED1
- ADD BX, 320*5+7
- MOV LOOPER, 3
- CAR3_RED2:
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 3
- MOV BYTE PTR[ES:BX], DH
- SUB BX, 3
- MOV BYTE PTR[ES:BX], DH
- ADD BX, 320+6
- DEC LOOPER
- JNZ CAR3_RED2
- ADD BX, 320*4+8
- MOV LOOPER, 2
- CAR3_RED3:
- MOV CX, 5
- CALL DRAW
- SUB BX, 5
- MOV CX, 5
- CALL DRAW
- ADD BX, 320+15
- DEC LOOPER
- JNZ CAR3_RED3
- SUB BX, 10
- MOV CX, 5
- CALL DRAW
- RET
- ;------------------CAR_4------------------
- CAR4_WHITE:
- ADD BX, 42
- MOV CX, 29
- CALL DRAW
- SUB BX, 2
- MOV CX, 7
- CALL DRAW
- ADD BX, 320+38
- MOV CX, 29
- CALL DRAW
- SUB BX, 2
- MOV CX, 8
- CALL DRAW
- DEC BX
- MOV LOOPER, 8
- CAR4_WHITE1:
- ADD BX, 320+40
- MOV CX, 29
- CALL DRAW
- SUB BX, 2
- MOV CX, 9
- CALL DRAW
- DEC LOOPER
- JNZ CAR4_WHITE1
- ADD BX, 320+40
- MOV CX, 29
- CALL DRAW
- SUB BX, 2
- MOV CX, 8
- CALL DRAW
- ADD BX, 320+39
- MOV CX, 29
- CALL DRAW
- SUB BX, 2
- MOV CX, 7
- CALL DRAW
- RET
- CAR4_GREEN:
- SUB BX, 320*2-40
- MOV LOOPER1, 2
- CAR4_GREEN2:
- MOV LOOPER, 2
- CAR4_GREEN1:
- MOV CX, 5
- CALL DRAW
- SUB BX, 15
- MOV CX, 5
- CALL DRAW
- SUB BX, 4
- MOV CX, 5
- CALL DRAW
- ADD BX, 320+34
- DEC LOOPER
- JNZ CAR4_GREEN1
- ADD BX, 320*12
- DEC LOOPER1
- JNZ CAR4_GREEN2
- RET
- CAR4_RED:
- ADD BX, 4
- MOV CX, 3
- CALL DRAW
- ADD BX, 320+2
- MOV CX, 3
- CALL DRAW
- DEC BX
- MOV LOOPER, 8
- CAR4_RED1:
- ADD BX, 320+3
- MOV CX, 3
- CALL DRAW
- DEC LOOPER
- JNZ CAR4_RED1
- ADD BX, 320+4
- MOV CX, 3
- CALL DRAW
- ADD BX, 320+4
- MOV CX, 3
- CALL DRAW
- SUB BX, 320*7-12
- MOV LOOPER, 4
- CAR4_RED2:
- MOV CX, 2
- CALL DRAW
- ADD BX, 320+2
- DEC LOOPER
- JNZ CAR4_RED2
- RET
- ;------------------BACKGROUND------------------
- BACKGROUND:
- ;BOTTOM SIDEWALK
- MOV DH, PURPLE
- MOV BX, 320*199+319
- MOV CX, 320*20
- CALL DRAW
- ;UPPER SIDEWALK
- MOV BX, 320*98+319
- MOV CX, 320*20
- CALL DRAW
- ;WATER
- MOV DH, BLUE
- MOV CX, 320*76
- CALL DRAW
- ;ROAD
- MOV DH, WHITE
- MOV BX, 320*160+9
- MOV LOOPER1, 3
- ROAD: MOV LOOPER, 5
- ROADX: SUB BX, 20
- MOV CX, 44
- CALL DRAW
- DEC LOOPER
- JNZ ROADX
- SUB BX, 320*19
- DEC LOOPER1
- JNZ ROAD
- ;GRASS
- MOV DH, GRASS_GREEN
- MOV BX, 320*17+319
- MOV LOOPER, 15
- GRASS1:MOV CX, 50
- CALL DRAW
- SUB BX, 320-50
- DEC LOOPER
- JNZ GRASS1
- MOV CX, 320*3
- CALL DRAW
- MOV BX, 320*17+49
- MOV LOOPER, 15
- GRASS2:MOV CX, 50
- CALL DRAW
- SUB BX, 320-50
- DEC LOOPER
- JNZ GRASS2
- ;LILYPADS
- MOV BX, 320*17+243
- MOV LOOPER, 5
- LP1: MOV CX, 8
- CALL DRAW
- SUB BX, 320-11
- MOV CX, 14
- CALL DRAW
- SUB BX, 320-15
- MOV CX, 16
- CALL DRAW
- SUB BX, 320-17
- MOV CX, 18
- CALL DRAW
- DEC BX
- MOV LOOPER1, 4
- LP2: SUB BX, 320-20
- MOV CX, 20
- CALL DRAW
- DEC LOOPER1
- JNZ LP2
- SUB BX, 320-19
- MOV CX, 18
- CALL DRAW
- SUB BX, 320-17
- MOV CX, 16
- CALL DRAW
- SUB BX, 320-15
- MOV CX, 14
- CALL DRAW
- SUB BX, 320-11
- MOV CX, 8
- CALL DRAW
- ADD BX, 320*11-32
- DEC LOOPER
- JNZ LP1
- RET
- MENU: MOV AH, 0 ;-
- MOV AL, 13H ;- GRAPHICS
- INT 10H ;- CARD
- PUSH 0A000H ;-
- POP ES ;-
- CALL NEWLINE
- LEA DX, FROGGER
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, LINE1
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, LINE2
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, LINE3
- MOV AH, 9
- INT 21H
- MOV LOOPER, 13
- MENUX: CALL NEWLINE
- DEC LOOPER
- JNZ MENUX
- LEA DX, CREDITS
- MOV AH, 9
- INT 21H
- KELETM:MOV AH, 7
- INT 21H
- CMP AL, 31H ;1
- JE MENURET
- CMP AL, 32H ;2
- JE INSTRUCT
- CMP AL, 33H ;3
- JE EXIT
- JMP KELETM
- MENURET:RET
- EXIT: MOV AH, 0 ;-
- MOV AL, 13H ;- GRAPHICS
- INT 10H ;- CARD
- PUSH 0A000H ;-
- POP ES ;-
- MOV AX, 4C00H
- INT 21H
- INSTRUCT:
- MOV AH, 0 ;-
- MOV AL, 13H ;- GRAPHICS
- INT 10H ;- CARD
- PUSH 0A000H ;-
- POP ES ;-
- CALL NEWLINE
- LEA DX, INSTRUCT0
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, INSTRUCT01
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, INSTRUCT1
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, INSTRUCT2
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, INSTRUCT3
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, INSTRUCT4
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, INSTRUCT5
- MOV AH, 9
- INT 21H
- CALL NEWLINE
- CALL NEWLINE
- CALL NEWLINE
- LEA DX, INSTRUCT6
- MOV AH, 9
- INT 21H
- MOV AH, 7
- INT 21H
- JMP MENU
- RESET: MOV ABX, 320*188+165
- MOV MOVE_Y, 0
- MOV MOVE_X, 165
- MOV LIVES, 3
- MOV LILYPAD1, 0
- MOV LILYPAD2, 0
- MOV LILYPAD3, 0
- MOV LILYPAD4, 0
- MOV LILYPAD5, 0
- MOV CAR1_1, 320*161
- MOV CAR1_1_X, 0
- MOV CAR1_2, 320*161+100
- MOV CAR1_2_X, 100
- MOV CAR1_3, 320*161+200
- MOV CAR1_3_X, 200
- MOV CAR2_1, 320*141+320
- MOV CAR2_1_X, 320
- MOV CAR2_2, 320*141+220
- MOV CAR2_2_X, 220
- MOV CAR2_3, 320*141+120
- MOV CAR2_3_X, 120
- MOV CAR3_1, 320*129
- MOV CAR3_1_X, 0
- MOV CAR3_2, 320*129+100
- MOV CAR3_2_X, 100
- MOV CAR3_3, 320*129+200
- MOV CAR3_3_X, 200
- MOV CAR4_1, 320*103+320
- MOV CAR4_1_X, 320
- MOV CAR4_2, 320*103+220
- MOV CAR4_2_X, 220
- MOV CAR4_3, 320*103+120
- MOV CAR4_3_X, 120
- RET
- NEWLINE:
- MOV DL, 10
- MOV AH, 02H
- INT 21H
- RET
- CODE ENDS
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement