PROJFDT.asm
dpisdaniel_assembly-pacman/PROJFDT.asm
	proc PrintDots;this procedure reprints the white dots that weren't touched by pacman and checks which dots are being touched by pacman, deletes them and makes sure they dont get reprinted
Dot1:
    cmp [DOT1Bool],0;checks to see if the dot was already touched by pacman and if it does it skips its print
	jne Dot2
	push [DOT1Bool]
	push [DOT1X]
	push [DOT1Y]
	call checkNPrintDots;checks if the dot is touched by pacman right now and triggers a boolean that wont let the dot be reprinted 
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax;counts how many dots were touched by pacman
	mov [DOT1Bool],ax  
	pop ax
	mov [finalBool],0;resets the boolean for further use
Dot2:                ;now it goes over the rest of the dots, doing the same
	cmp [DOT2Bool],0
	jne Dot3	
	push [DOT2Bool]
	push [DOT2X]
	push [DOT2Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT2Bool],ax
	pop ax
	mov [finalBool],0
Dot3:
	cmp [DOT3Bool],0
	jne Dot4
	push [DOT3Bool]
	push [DOT3X]
	push [DOT3Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT3Bool],ax
	pop ax
	mov [finalBool],0
Dot4:
	cmp [DOT4Bool],0
	jne Dot5
	push [DOT4Bool]
	push [DOT4X]
	push [DOT4Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT4Bool],ax
	pop ax
	mov [finalBool],0
Dot5:
	cmp [DOT5Bool],0
	jne Dot6
	push [DOT5Bool]
	push [DOT5X]
	push [DOT5Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT5Bool],ax
	pop ax
	mov [finalBool],0
Dot6:
	cmp [DOT6Bool],0
	jne Dot7
	push [DOT6Bool]
	push [DOT6X]
	push [DOT6Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT6Bool],ax
	pop ax
	mov [finalBool],0
Dot7:	
	cmp [DOT7Bool],0
	jne Dot8
	push [DOT7Bool]
	push [DOT7X]
	push [DOT7Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT7Bool],ax
	pop ax
	mov [finalBool],0
Dot8:	
	cmp [DOT8Bool],0
	jne Dot9
	push [DOT8Bool]
	push [DOT8X]
	push [DOT8Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT8Bool],ax
	pop ax
	mov [finalBool],0
Dot9:	
	cmp [DOT9Bool],0
	jne Dot10
	push [DOT9Bool]
	push [DOT9X]
	push [DOT9Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT9Bool],ax
	pop ax
	mov [finalBool],0
Dot10:	
	cmp [DOT10Bool],0
	jne Dot11
	push [DOT10Bool]
	push [DOT10X]
	push [DOT10Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT10Bool],ax
	pop ax
	mov [finalBool],0
Dot11:	
	cmp [DOT11Bool],0
	jne Dot12
	push [DOT11Bool]
	push [DOT11X]
	push [DOT11Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT11Bool],ax
	pop ax
	mov [finalBool],0
Dot12:	
	cmp [DOT12Bool],0
	jne Dot13
	push [DOT12Bool]
	push [DOT12X]
	push [DOT12Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT12Bool],ax
	pop ax
	mov [finalBool],0
Dot13:	
	cmp [DOT13Bool],0
	jne Dot14
	push [DOT13Bool]
	push [DOT13X]
	push [DOT13Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT13Bool],ax
	pop ax
	mov [finalBool],0
Dot14:	
	cmp [DOT14Bool],0
	jne Dot15
	push [DOT14Bool]
	push [DOT14X]
	push [DOT14Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT14Bool],ax
	pop ax
	mov [finalBool],0
Dot15:	
	cmp [DOT15Bool],0
	jne Dot16
	push [DOT15Bool]
	push [DOT15X]
	push [DOT15Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT15Bool],ax
	pop ax
	mov [finalBool],0
Dot16:	
	cmp [DOT16Bool],0
	jne Dot17
	push [DOT16Bool]
	push [DOT16X]
	push [DOT16Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT16Bool],ax
	pop ax
	mov [finalBool],0
Dot17:	
	cmp [DOT17Bool],0
	jne Dot18
	push [DOT17Bool]
	push [DOT17X]
	push [DOT17Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT17Bool],ax
	pop ax
	mov [finalBool],0
Dot18:	
	cmp [DOT18Bool],0
	jne Dot19
	push [DOT18Bool]
	push [DOT18X]
	push [DOT18Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT18Bool],ax
	pop ax
	mov [finalBool],0
Dot19:	
	cmp [DOT19Bool],0
	jne Dot20
	push [DOT19Bool]
	push [DOT19X]
	push [DOT19Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT19Bool],ax
	pop ax
	mov [finalBool],0
Dot20:	
	cmp [DOT20Bool],0
	jne Dot21
	push [DOT20Bool]
	push [DOT20X]
	push [DOT20Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT20Bool],ax
	pop ax
	mov [finalBool],0
Dot21:
	cmp [DOT2Bool],0
	jne Dot22	
	push [DOT2Bool]
	push [DOT2X]
	push [DOT2Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT2Bool],ax
	pop ax
	mov [finalBool],0
Dot22:
	cmp [DOT22Bool],0
	jne Dot23	
	push [DOT22Bool]
	push [DOT22X]
	push [DOT22Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT22Bool],ax
	pop ax
	mov [finalBool],0
Dot23:
	cmp [DOT23Bool],0
	jne Dot24	
	push [DOT23Bool]
	push [DOT23X]
	push [DOT23Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT23Bool],ax
	pop ax
	mov [finalBool],0
Dot24:
	cmp [DOT24Bool],0
	jne Dot25	
	push [DOT24Bool]
	push [DOT24X]
	push [DOT24Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT24Bool],ax
	pop ax
	mov [finalBool],0
Dot25:
	cmp [DOT25Bool],0
	jne Dot26	
	push [DOT25Bool]
	push [DOT25X]
	push [DOT25Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT25Bool],ax
	pop ax
	mov [finalBool],0
Dot26:
	cmp [DOT26Bool],0
	jne Dot27	
	push [DOT26Bool]
	push [DOT26X]
	push [DOT26Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT26Bool],ax
	pop ax
	mov [finalBool],0
Dot27:
	cmp [DOT27Bool],0
	jne Dot28	
	push [DOT27Bool]
	push [DOT27X]
	push [DOT27Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT27Bool],ax
	pop ax
	mov [finalBool],0
Dot28:
	cmp [DOT28Bool],0
	jne Dot29	
	push [DOT28Bool]
	push [DOT28X]
	push [DOT28Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT28Bool],ax
	pop ax
	mov [finalBool],0
Dot29:
	cmp [DOT29Bool],0
	jne Dot30	
	push [DOT29Bool]
	push [DOT29X]
	push [DOT29Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT29Bool],ax
	pop ax
	mov [finalBool],0
Dot30:
	cmp [DOT30Bool],0
	jne Dot31	
	push [DOT30Bool]
	push [DOT30X]
	push [DOT30Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT30Bool],ax
	pop ax
	mov [finalBool],0
Dot31:
	cmp [DOT31Bool],0
	jne Dot32	
	push [DOT31Bool]
	push [DOT31X]
	push [DOT31Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT31Bool],ax
	pop ax
	mov [finalBool],0
Dot32:
	cmp [DOT32Bool],0
	jne Dot33	
	push [DOT32Bool]
	push [DOT32X]
	push [DOT32Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT32Bool],ax
	pop ax
	mov [finalBool],0
Dot33:
	cmp [DOT33Bool],0
	jne Dot34	
	push [DOT33Bool]
	push [DOT33X]
	push [DOT33Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT33Bool],ax
	pop ax
	mov [finalBool],0
Dot34:
	cmp [DOT34Bool],0
	jne Dot35	
	push [DOT34Bool]
	push [DOT34X]
	push [DOT34Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT34Bool],ax
	pop ax
	mov [finalBool],0
Dot35:
	cmp [DOT35Bool],0
	jne Dot36	
	push [DOT35Bool]
	push [DOT35X]
	push [DOT35Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT35Bool],ax
	pop ax
	mov [finalBool],0
Dot36:
	cmp [DOT36Bool],0
	jne Dot37	
	push [DOT36Bool]
	push [DOT36X]
	push [DOT36Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT36Bool],ax
	pop ax
	mov [finalBool],0
Dot37:
	cmp [DOT37Bool],0
	jne Dot38	
	push [DOT37Bool]
	push [DOT37X]
	push [DOT37Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT37Bool],ax
	pop ax
	mov [finalBool],0
Dot38:
	cmp [DOT38Bool],0
	jne Dot39	
	push [DOT38Bool]
	push [DOT38X]
	push [DOT38Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT38Bool],ax
	pop ax
	mov [finalBool],0
Dot39:
	cmp [DOT39Bool],0
	jne Dot40	
	push [DOT39Bool]
	push [DOT39X]
	push [DOT39Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT39Bool],ax
	pop ax
	mov [finalBool],0
Dot40:
	cmp [DOT40Bool],0
	jne Dot41	
	push [DOT40Bool]
	push [DOT40X]
	push [DOT40Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT40Bool],ax
	pop ax
	mov [finalBool],0
Dot41:
	cmp [DOT41Bool],0
	jne Dot42	
	push [DOT41Bool]
	push [DOT41X]
	push [DOT41Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT41Bool],ax
	pop ax
	mov [finalBool],0
Dot42:
	cmp [DOT42Bool],0
	jne Dot43	
	push [DOT42Bool]
	push [DOT42X]
	push [DOT42Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT42Bool],ax
	pop ax
	mov [finalBool],0
Dot43:
	cmp [DOT43Bool],0
	jne Dot44	
	push [DOT43Bool]
	push [DOT43X]
	push [DOT43Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT43Bool],ax
	pop ax
	mov [finalBool],0
Dot44:
	cmp [DOT44Bool],0
	jne Dot45	
	push [DOT44Bool]
	push [DOT44X]
	push [DOT44Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT44Bool],ax
	pop ax
	mov [finalBool],0
Dot45:
	cmp [DOT45Bool],0
	jne Dot46	
	push [DOT45Bool]
	push [DOT45X]
	push [DOT45Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT45Bool],ax
	pop ax
	mov [finalBool],0
Dot46:
	cmp [DOT46Bool],0
	jne Dot47	
	push [DOT46Bool]
	push [DOT46X]
	push [DOT46Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT46Bool],ax
	pop ax
	mov [finalBool],0
Dot47:
	cmp [DOT47Bool],0
	jne Dot48	
	push [DOT47Bool]
	push [DOT47X]
	push [DOT47Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT47Bool],ax
	pop ax
	mov [finalBool],0
Dot48:
	cmp [DOT48Bool],0
	jne Dot49	
	push [DOT48Bool]
	push [DOT48X]
	push [DOT48Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT48Bool],ax
	pop ax
	mov [finalBool],0
Dot49:
	cmp [DOT49Bool],0
	jne Dot50	
	push [DOT49Bool]
	push [DOT49X]
	push [DOT49Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT49Bool],ax
	pop ax
	mov [finalBool],0
Dot50:
	cmp [DOT50Bool],0
	jne Dot51	
	push [DOT50Bool]
	push [DOT50X]
	push [DOT50Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT50Bool],ax
	pop ax
	mov [finalBool],0
Dot51:
	cmp [DOT51Bool],0
	jne Dot52	
	push [DOT51Bool]
	push [DOT51X]
	push [DOT51Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT51Bool],ax
	pop ax
	mov [finalBool],0
Dot52:
	cmp [DOT52Bool],0
	jne Dot53	
	push [DOT52Bool]
	push [DOT52X]
	push [DOT52Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT52Bool],ax
	pop ax
	mov [finalBool],0
Dot53:
	cmp [DOT53Bool],0
	jne Dot54	
	push [DOT53Bool]
	push [DOT53X]
	push [DOT53Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT53Bool],ax
	pop ax
	mov [finalBool],0
Dot54:
	cmp [DOT54Bool],0
	jne Dot55	
	push [DOT54Bool]
	push [DOT54X]
	push [DOT54Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT54Bool],ax
	pop ax
	mov [finalBool],0
Dot55:
	cmp [DOT55Bool],0
	jne Dot56	
	push [DOT55Bool]
	push [DOT55X]
	push [DOT55Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT55Bool],ax
	pop ax
	mov [finalBool],0
Dot56:
	cmp [DOT56Bool],0
	jne Dot57	
	push [DOT56Bool]
	push [DOT56X]
	push [DOT56Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT56Bool],ax
	pop ax
	mov [finalBool],0
Dot57:
	cmp [DOT57Bool],0
	jne Dot58	
	push [DOT57Bool]
	push [DOT57X]
	push [DOT57Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT57Bool],ax
	pop ax
	mov [finalBool],0
Dot58:
	cmp [DOT58Bool],0
	jne Dot59	
	push [DOT58Bool]
	push [DOT58X]
	push [DOT58Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT58Bool],ax
	pop ax
	mov [finalBool],0
Dot59:
	cmp [DOT59Bool],0
	jne Dot60	
	push [DOT59Bool]
	push [DOT59X]
	push [DOT59Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT59Bool],ax
	pop ax
	mov [finalBool],0
Dot60:
	cmp [DOT60Bool],0
	jne Dot61	
	push [DOT60Bool]
	push [DOT60X]
	push [DOT60Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT60Bool],ax
	pop ax
	mov [finalBool],0
Dot61:
	cmp [DOT61Bool],0
	jne Dot62	
	push [DOT61Bool]
	push [DOT61X]
	push [DOT61Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT61Bool],ax
	pop ax
	mov [finalBool],0
Dot62:
	cmp [DOT62Bool],0
	jne Dot63	
	push [DOT62Bool]
	push [DOT62X]
	push [DOT62Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT62Bool],ax
	pop ax
	mov [finalBool],0
Dot63:
	cmp [DOT63Bool],0
	jne Dot64	
	push [DOT63Bool]
	push [DOT63X]
	push [DOT63Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT63Bool],ax
	pop ax
	mov [finalBool],0
Dot64:
	cmp [DOT64Bool],0
	jne Dot65	
	push [DOT64Bool]
	push [DOT64X]
	push [DOT64Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT64Bool],ax
	pop ax
	mov [finalBool],0
Dot65:
	cmp [DOT65Bool],0
	jne Dot66	
	push [DOT65Bool]
	push [DOT65X]
	push [DOT65Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT65Bool],ax
	pop ax
	mov [finalBool],0
Dot66:
	cmp [DOT66Bool],0
	jne Dot67	
	push [DOT66Bool]
	push [DOT66X]
	push [DOT66Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT66Bool],ax
	pop ax
	mov [finalBool],0
Dot67:
	cmp [DOT67Bool],0
	jne Dot68	
	push [DOT67Bool]
	push [DOT67X]
	push [DOT67Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT67Bool],ax
	pop ax
	mov [finalBool],0
Dot68:
	cmp [DOT68Bool],0
	jne Dot69	
	push [DOT68Bool]
	push [DOT68X]
	push [DOT68Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT68Bool],ax
	pop ax
	mov [finalBool],0
Dot69:
	cmp [DOT69Bool],0
	jne Dot70	
	push [DOT69Bool]
	push [DOT69X]
	push [DOT69Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT69Bool],ax
	pop ax
	mov [finalBool],0
Dot70:
	cmp [DOT70Bool],0
	jne Dot71	
	push [DOT70Bool]
	push [DOT70X]
	push [DOT70Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT70Bool],ax
	pop ax
	mov [finalBool],0
Dot71:	
	cmp [DOT71Bool],0
	jne Dot72	
	push [DOT71Bool]
	push [DOT71X]
	push [DOT71Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT71Bool],ax
	pop ax
	mov [finalBool],0
Dot72:
	cmp [DOT72Bool],0
	jne Dot73	
	push [DOT72Bool]
	push [DOT72X]
	push [DOT72Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT72Bool],ax
	pop ax
	mov [finalBool],0
Dot73:
	cmp [DOT73Bool],0
	jne Dot74	
	push [DOT73Bool]
	push [DOT73X]
	push [DOT73Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT73Bool],ax
	pop ax
	mov [finalBool],0
Dot74:
	cmp [DOT74Bool],0
	jne Dot75	
	push [DOT74Bool]
	push [DOT74X]
	push [DOT74Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT74Bool],ax
	pop ax
	mov [finalBool],0
Dot75:
	cmp [DOT75Bool],0
	jne Dot76	
	push [DOT75Bool]
	push [DOT75X]
	push [DOT75Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT75Bool],ax
	pop ax
	mov [finalBool],0
Dot76:
	cmp [DOT76Bool],0
	jne Dot77	
	push [DOT76Bool]
	push [DOT76X]
	push [DOT76Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT76Bool],ax
	pop ax
	mov [finalBool],0
Dot77:
	cmp [DOT77Bool],0
	jne Dot78	
	push [DOT77Bool]
	push [DOT77X]
	push [DOT77Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT77Bool],ax
	pop ax
	mov [finalBool],0
Dot78:
	cmp [DOT78Bool],0
	jne Dot79	
	push [DOT78Bool]
	push [DOT78X]
	push [DOT78Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT78Bool],ax
	pop ax
	mov [finalBool],0
Dot79:
	cmp [DOT79Bool],0
	jne Dot80	
	push [DOT79Bool]
	push [DOT79X]
	push [DOT79Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT79Bool],ax
	pop ax
	mov [finalBool],0
Dot80:
	cmp [DOT80Bool],0
	jne Dot81	
	push [DOT80Bool]
	push [DOT80X]
	push [DOT80Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT80Bool],ax
	pop ax
	mov [finalBool],0
Dot81:
	cmp [DOT81Bool],0
	jne Dot82	
	push [DOT81Bool]
	push [DOT81X]
	push [DOT81Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT81Bool],ax
	pop ax
	mov [finalBool],0
Dot82:
	cmp [DOT82Bool],0
	jne Dot83	
	push [DOT82Bool]
	push [DOT82X]
	push [DOT82Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT82Bool],ax
	pop ax
	mov [finalBool],0
Dot83:
	cmp [DOT83Bool],0
	jne Dot84	
	push [DOT83Bool]
	push [DOT83X]
	push [DOT83Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT83Bool],ax
	pop ax
	mov [finalBool],0
Dot84:
	cmp [DOT84Bool],0
	jne Dot85	
	push [DOT84Bool]
	push [DOT84X]
	push [DOT84Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT84Bool],ax
	pop ax
	mov [finalBool],0
Dot85:
	cmp [DOT85Bool],0
	jne Dot86	
	push [DOT85Bool]
	push [DOT85X]
	push [DOT85Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT85Bool],ax
	pop ax
	mov [finalBool],0
Dot86:
	cmp [DOT86Bool],0
	jne Dot87	
	push [DOT86Bool]
	push [DOT86X]
	push [DOT86Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT86Bool],ax
	pop ax
	mov [finalBool],0
Dot87:
	cmp [DOT87Bool],0
	jne Dot88	
	push [DOT87Bool]
	push [DOT87X]
	push [DOT87Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT87Bool],ax
	pop ax
	mov [finalBool],0
Dot88:
	cmp [DOT88Bool],0
	jne Dot89	
	push [DOT88Bool]
	push [DOT88X]
	push [DOT88Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT88Bool],ax
	pop ax
	mov [finalBool],0
Dot89:
	cmp [DOT89Bool],0
	jne Dot90	
	push [DOT89Bool]
	push [DOT89X]
	push [DOT89Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT89Bool],ax
	pop ax
	mov [finalBool],0
Dot90:
	cmp [DOT90Bool],0
	jne Dot91	
	push [DOT90Bool]
	push [DOT90X]
	push [DOT90Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT90Bool],ax
	pop ax
	mov [finalBool],0
Dot91:
	cmp [DOT91Bool],0
	jne Dot92	
	push [DOT91Bool]
	push [DOT91X]
	push [DOT91Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT91Bool],ax
	pop ax
	mov [finalBool],0
Dot92:
	cmp [DOT92Bool],0
	jne Dot93	
	push [DOT92Bool]
	push [DOT92X]
	push [DOT92Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT92Bool],ax
	pop ax
	mov [finalBool],0
Dot93:
	cmp [DOT93Bool],0
	jne Dot94	
	push [DOT93Bool]
	push [DOT93X]
	push [DOT93Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT93Bool],ax
	pop ax
	mov [finalBool],0
Dot94:
	cmp [DOT94Bool],0
	jne Dot95	
	push [DOT94Bool]
	push [DOT94X]
	push [DOT94Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT94Bool],ax
	pop ax
	mov [finalBool],0
Dot95:
	cmp [DOT95Bool],0
	jne Dot96	
	push [DOT95Bool]
	push [DOT95X]
	push [DOT95Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT95Bool],ax
	pop ax
	mov [finalBool],0
Dot96:
	cmp [DOT96Bool],0
	jne Dot97	
	push [DOT96Bool]
	push [DOT96X]
	push [DOT96Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT96Bool],ax
	pop ax
	mov [finalBool],0
Dot97:
	cmp [DOT97Bool],0
	jne Dot98	
	push [DOT97Bool]
	push [DOT97X]
	push [DOT97Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT97Bool],ax
	pop ax
	mov [finalBool],0
Dot98:
	cmp [DOT98Bool],0
	jne Dot99	
	push [DOT98Bool]
	push [DOT98X]
	push [DOT98Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT98Bool],ax
	pop ax
	mov [finalBool],0
Dot99:
	cmp [DOT99Bool],0
	jne Dot100	
	push [DOT99Bool]
	push [DOT99X]
	push [DOT99Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT99Bool],ax
	pop ax
	mov [finalBool],0
Dot100:
	cmp [DOT100Bool],0
	jne Dot101	
	push [DOT100Bool]
	push [DOT100X]
	push [DOT100Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT100Bool],ax
	pop ax
	mov [finalBool],0	
Dot101:	
	cmp [DOT101Bool],0
	jne Dot102	
	push [DOT101Bool]
	push [DOT101X]
	push [DOT101Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT101Bool],ax
	pop ax
	mov [finalBool],0
Dot102:
	cmp [DOT102Bool],0
	jne Dot103	
	push [DOT102Bool]
	push [DOT102X]
	push [DOT102Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT102Bool],ax
	pop ax
	mov [finalBool],0
Dot103:
	cmp [DOT103Bool],0
	jne Dot104	
	push [DOT103Bool]
	push [DOT103X]
	push [DOT103Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT103Bool],ax
	pop ax
	mov [finalBool],0
Dot104:
	cmp [DOT104Bool],0
	jne Dot105	
	push [DOT104Bool]
	push [DOT104X]
	push [DOT104Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT104Bool],ax
	pop ax
	mov [finalBool],0
Dot105:
	cmp [DOT105Bool],0
	jne Dot106	
	push [DOT105Bool]
	push [DOT105X]
	push [DOT105Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT105Bool],ax
	pop ax
	mov [finalBool],0
Dot106:
	cmp [DOT106Bool],0
	jne Dot107	
	push [DOT106Bool]
	push [DOT106X]
	push [DOT106Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT106Bool],ax
	pop ax
	mov [finalBool],0
Dot107:
	cmp [DOT107Bool],0
	jne Dot108	
	push [DOT107Bool]
	push [DOT107X]
	push [DOT107Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT107Bool],ax
	pop ax
	mov [finalBool],0
Dot108:
	cmp [DOT108Bool],0
	jne Dot109	
	push [DOT108Bool]
	push [DOT108X]
	push [DOT108Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT108Bool],ax
	pop ax
	mov [finalBool],0
Dot109:
	cmp [DOT109Bool],0
	jne Dot110	
	push [DOT109Bool]
	push [DOT109X]
	push [DOT109Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT109Bool],ax
	pop ax
	mov [finalBool],0
Dot110:
	cmp [DOT110Bool],0
	jne Dot111	
	push [DOT110Bool]
	push [DOT110X]
	push [DOT110Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT110Bool],ax
	pop ax
	mov [finalBool],0
Dot111:
	cmp [DOT111Bool],0
	jne Dot112	
	push [DOT111Bool]
	push [DOT111X]
	push [DOT111Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT111Bool],ax
	pop ax
	mov [finalBool],0
Dot112:
	cmp [DOT112Bool],0
	jne Dot113	
	push [DOT112Bool]
	push [DOT112X]
	push [DOT112Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT112Bool],ax
	pop ax
	mov [finalBool],0
Dot113:
	cmp [DOT113Bool],0
	jne Dot114	
	push [DOT113Bool]
	push [DOT113X]
	push [DOT113Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT113Bool],ax
	pop ax
	mov [finalBool],0
Dot114:
	cmp [DOT114Bool],0
	jne Dot115	
	push [DOT114Bool]
	push [DOT114X]
	push [DOT114Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT114Bool],ax
	pop ax
	mov [finalBool],0
Dot115:
	cmp [DOT115Bool],0
	jne Dot116	
	push [DOT115Bool]
	push [DOT115X]
	push [DOT115Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT115Bool],ax
	pop ax
	mov [finalBool],0
Dot116:
	cmp [DOT116Bool],0
	jne Dot117	
	push [DOT116Bool]
	push [DOT116X]
	push [DOT116Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT116Bool],ax
	pop ax
	mov [finalBool],0
Dot117:
	cmp [DOT117Bool],0
	jne Dot118	
	push [DOT117Bool]
	push [DOT117X]
	push [DOT117Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT117Bool],ax
	pop ax
	mov [finalBool],0
Dot118:
	cmp [DOT118Bool],0
	jne Dot119	
	push [DOT118Bool]
	push [DOT118X]
	push [DOT118Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT118Bool],ax
	pop ax
	mov [finalBool],0
Dot119:
	cmp [DOT119Bool],0
	jne Dot120	
	push [DOT119Bool]
	push [DOT119X]
	push [DOT119Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT119Bool],ax
	pop ax
	mov [finalBool],0
Dot120:
	cmp [DOT120Bool],0
	jne Dot121	
	push [DOT120Bool]
	push [DOT120X]
	push [DOT120Y]
	call checkNPrintDots
	push ax
	mov ax,[finalBool]
	add [DotCounter],ax
	mov [DOT120Bool],ax
	pop ax
	mov [finalBool],0	
Dot121:	
	cmp [DotCounter],119
	jb DotPrintEnd
	mov [WinBool],1
DotPrintEnd:
	push offset Ghost1
	push 13
	push 14
	push [GHOST1_Y]
	push [GHOST1_X]
	call Print_Anything
	ret
	endp PrintDots
	
	proc checkNPrintDots;this procedure checks if the dot is being touched by pacman, if it is, it deletes the dot. It also checks if the dot is being touched by a ghost and if it does it doesn't reprint it as long as the ghost is above the dot so the dot won't print over the ghost
	pop [checkDotsRA]
	pop [Y2]
	pop [X2]
	pop [Bool]
	push ax
	push bx
	push cx
	push dx
	push [Y2]
	push [X2]
	cmp [Bool],0
	jne skipDOTPrintCP;if this boolean isn't zero the dot should be printed 
	mov cx,3
checkLoop: ;these 2 loops go over the 3X3 space of the dot to check the colours of the 9 pixels to check if a ghost is on the dot or if pacman touched the dot
	push cx
	mov cx,3
innerCheckLoop:
	push cx
	mov cx,[X2]
	mov dx,[Y2]
	mov bh,1
	mov ah,0Dh
	int 10h;reads the colour of the pixel in the given x,y and page
	cmp al,14
	jne notYellow
	mov [finalBool],1;puts 1 in a boolean that will not allow the dot to be printed any more because pacman touched it
	pop cx
	pop cx
	call deleteDot
skipDOTPrintCP:	
	jmp skipDOTPrint
notYellow:;this checks to see if the dot is being touched by a ghost,and if it is it wont re print the dot until the ghost stops touching the dot
	cmp al,0
	je dotContinue
	cmp al,15
	je dotContinue
	pop cx
	pop cx
	pop [X2]
	pop [Y2]
	jmp skipDOTPrint
dotContinue:	
	inc [X2]
	pop cx
	loop innerCheckLoop
	inc [Y2]
	sub [X2],3
	pop cx
	loop checkLoop
	sub [Y2],3
afterCheck:	;this happens after the 9 pixels were checked and pacman or the ghosts didn't touch the dot
	push offset Dot;it reprints the dot
	push 3
	push 3
	push [Y2]
	push [X2]
	call Print_Anything
	pop [X2]
	pop [Y2]
skipDOTPrint:	
	pop dx
	pop cx
	pop bx
	pop ax
	push [checkDotsRA]
	ret
	endp checkNPrintDots

	proc deleteDot;deletes the 3X3 of the dot
	pop [DLTDOTRA]
	pop [X2]
	pop [Y2]
	push 0
	push 3
	push 3
	push [Y2]
	push [X2]
	call Print_Map_Anything
	push [DLTDOTRA]
	ret
	endp deleteDot
