講師「きょうはFizzBuzzを書いてみよう これは基本中の基本だからね」
生徒「

        ORG     $0000

START:  
        LODI,r1 1

MAINLOOP:
        LODZ    r1
        LODI,r3 15
        BSTA,un MOD
        COMZ    r0
        BCTR,eq OUT_FIZZBUZZ
        
        LODZ    r1
        LODI,r3 3
        BSTA,un MOD
        COMZ    r0
        BCTR,eq OUT_FIZZ
        
        LODZ    r1
        LODI,r3 5
        BSTA,un MOD
        COMZ    r0
        BCTR,eq OUT_BUZZ
        
        LODZ    r1
        BSTA,un PRINTNUM
        BCTR,un NEXTITER

OUT_FIZZBUZZ:
        LODR,r0 ADDR_FIZZ
        BSTA,un PRINTSTR
        LODR,r0 ADDR_BUZZ
        BSTA,un PRINTSTR
        BCTR,un NEXTITER

OUT_FIZZ:
        LODR,r0 ADDR_FIZZ
        BSTA,un PRINTSTR
        BCTR,un NEXTITER

OUT_BUZZ:
        LODR,r0 ADDR_BUZZ
        BSTA,un PRINTSTR

NEXTITER:
        LODI,r0 $0A
        BSTA,un PUTCHAR
        
        ADDI,r1 1
        
        COMI,r1 101
        BCFR,eq MAINLOOP
        
        HALT

MOD:    
MOD_LOOP:
        SUBZ    r3
        BCFA,lt MOD_LOOP
        ADDZ    r3
        RETC,un

PRINTNUM:
        STRA,r1 TEMP_R1
        
        LODZ    r0
        STRZ    r1
        
        COMI,r0 100
        BCFR,lt PN_TENS
        
        LODI,r3 100
        LODI,r2 0
PN_100LP:
        SUBZ    r3
        BCFR,lt PN_100DN
        ADDI,r2 1
        BCTR,un PN_100LP
PN_100DN:
        ADDZ    r3
        STRA,r0 TEMP_R0
        ADDI,r2 '0'
        LODZ    r2
        BSTA,un PUTCHAR
        LODA,r0 TEMP_R0

PN_TENS:
        LODA,r2 TEMP_R1
        COMI,r2 100
        STRA,r2 TEMP_HUND
        
        COMI,r0 10
        BCFR,lt PN_ONES
        
        LODI,r3 10
        LODI,r2 0
PN_10LP:
        SUBZ    r3
        BCFR,lt PN_10DN
        ADDI,r2 1
        BCTR,un PN_10LP
PN_10DN:
        ADDZ    r3
        STRA,r0 TEMP_R0
        ADDI,r2 '0'
        LODZ    r2
        BSTA,un PUTCHAR
        LODA,r0 TEMP_R0

PN_ONES:
        ADDI,r0 '0'
        BSTA,un PUTCHAR
        
        LODA,r1 TEMP_R1
        RETC,un

PRINTSTR:
        STRA,r1 TEMP_R1
        STRZ    r1

PS_LOOP:
        LODZ    r1
        STRA,r0 STRPTR
        LODA,r0 *STRPTR
        COMZ    r0
        BCTR,eq PS_DONE
        
        BSTA,un PUTCHAR
        
        ADDI,r1 1
        BCTR,un PS_LOOP

PS_DONE:
        LODA,r1 TEMP_R1
        RETC,un

PUTCHAR:
        STRA,r0 $7F00
        RETC,un

STR_FIZZ:
        DATA    'F'
        DATA    'i'
        DATA    'z'
        DATA    'z'
        DATA    0

STR_BUZZ:
        DATA    'B'
        DATA    'u'
        DATA    'z'
        DATA    'z'
        DATA    0

ADDR_FIZZ:
        DATA    STR_FIZZ

ADDR_BUZZ:
        DATA    STR_BUZZ

TEMP_R0:
        DATA    0
TEMP_R1:
        DATA    0
TEMP_HUND:
        DATA    0

STRPTR:
        DATA    0
        DATA    0

        END     START

1

If you have a fediverse account, you can quote this note from your own instance. Search https://uneune.one/notes/aens0rdxq8 on your instance and quote it. (Note that quoting is not supported in Mastodon.)