Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

90% of /prog/ can't write FizzBuzz

Name: The antagonist 2008-04-25 12:38

Prove me wrong

Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".

Name: Anonymous 2008-04-25 23:27

whoops

FIZBUZ LDA #0
       STA DIV3
       STA DIV5
       STA FLAG
       TAX
NEXT   LDA #13
       JSR CHROUT
       INX
       CMP #101
       BEQ DONE
       INC DIV3
       LDA DIV3
       CMP #2
       BNE SKPFIZ
       JSR FIZZ
SKPFIZ INC DIV5
       CMP #4
       JSR SKPBUZ
       JSR BUZZ
SKPBUZ LDA FLAG
       BEQ NEXT
       TXA
       JSR NUMOUT
       LDA #0
       STA FLAG
       JMP NEXT
DONE   RTS

FIZZ   LDA >FIZTXT
       STA >STRPTR
       LDA <FIZTXT
       STA <STRPTR
MERGE  JSR STROUT
SETFLG LDA #$FF
       STA FLAG
       RTS

BUZZ   LDA >BUZTXT
       STA >STRPTR
       LDA <BUZTXT
       STA <STRPTR
       JMP MERGE

STROUT LDY #0
STROUL LDA (STRPTR),Y
       BEQ STROUX
       JSR CHROUT
       INY
       JMP STROUL
STROUX RTS

NUMOUT BNE NOT0
       LDA #'0'
       JMP CHROUT
NOT0   STX TEMP
       PHA
       LDY #0
LH     CMP #100
       BCS TENS     
       SEC
       SBC #100
       JMP LH
TENS   TYA
       BEQ H0
       CLC
       ADC #'0'
       JSR CHROUT
H0     LDY #0
LT     CMP #10
       BCS ONES
       SEC
       SBC #10
       JMP LT
ONES   PHA
       TYA
       BEQ T0
       CLC
       ADC #'0'
       JSR CHROUT
T0     PLA
       ADC #'0'
       JSR CHROUT
       LDA #13
       JSR CHROUT
       LDX TEMP
       RTS
;REPLACE WITH A CHARACTER OUTPUT ROUTINE
CHROUT PHP
       PHA
       TXA
       PHA
       TYA
       PHA
       JMP $FFD2
       PLA
       TAY
       PLA
       TAX
       PLA
       PLP
       RTS

FIZTXT .ASC "FIZZ"
       .DB 0
BUZTXT .ASC " BUZZ"
       .DB 0

DIV3   .DB 0
DIV5   .DB 0
FLAG   .DB 0
STRPTR .DW 0
TEMP   .DB 0


Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List