Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
63
Task/FizzBuzz/MMIX/fizzbuzz.mmix
Normal file
63
Task/FizzBuzz/MMIX/fizzbuzz.mmix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
t IS $255
|
||||
Ja IS $127
|
||||
|
||||
LOC Data_Segment
|
||||
data GREG @
|
||||
|
||||
fizz IS @-Data_Segment
|
||||
BYTE "Fizz",0,0,0,0
|
||||
|
||||
buzz IS @-Data_Segment
|
||||
BYTE "Buzz",0,0,0,0
|
||||
|
||||
nl IS @-Data_Segment
|
||||
BYTE #a,0,0,0,0,0,0,0
|
||||
|
||||
buffer IS @-Data_Segment
|
||||
|
||||
|
||||
|
||||
LOC #1000
|
||||
GREG @
|
||||
|
||||
% "usual" print integer subroutine
|
||||
printnum LOC @
|
||||
OR $1,$0,0
|
||||
SETL $2,buffer+64
|
||||
ADDU $2,$2,data
|
||||
XOR $3,$3,$3
|
||||
STBU $3,$2,1
|
||||
loop DIV $1,$1,10
|
||||
GET $3,rR
|
||||
ADDU $3,$3,'0'
|
||||
STBU $3,$2,0
|
||||
SUBU $2,$2,1
|
||||
PBNZ $1,loop
|
||||
ADDU t,$2,1
|
||||
TRAP 0,Fputs,StdOut
|
||||
GO Ja,Ja,0
|
||||
|
||||
Main SETL $0,1 % i = 1
|
||||
1H SETL $2,0 % fizz not taken
|
||||
CMP $1,$0,100 % i <= 100
|
||||
BP $1,4F % if no, go to end
|
||||
DIV $1,$0,3
|
||||
GET $1,rR % $1 = mod(i,3)
|
||||
CSZ $2,$1,1 % $2 = Fizz taken?
|
||||
BNZ $1,2F % $1 != 0? yes, then skip
|
||||
ADDU t,data,fizz
|
||||
TRAP 0,Fputs,StdOut % print "Fizz"
|
||||
2H DIV $1,$0,5
|
||||
GET $1,rR % $1 = mod(i,5)
|
||||
BNZ $1,3F % $1 != 0? yes, then skip
|
||||
ADDU t,data,buzz
|
||||
TRAP 0,Fputs,StdOut % print "Buzz"
|
||||
JMP 5F % skip print i
|
||||
3H BP $2,5F % skip if Fizz was taken
|
||||
GO Ja,printnum % print i
|
||||
5H ADDU t,data,nl
|
||||
TRAP 0,Fputs,StdOut % print newline
|
||||
ADDU $0,$0,1
|
||||
JMP 1B % repeat for next i
|
||||
4H XOR t,t,t
|
||||
TRAP 0,Halt,0 % exit(0)
|
||||
Loading…
Add table
Add a link
Reference in a new issue