RosettaCodeData/Task/Fibonacci-sequence/360-Assembly/fibonacci-sequence.360

50 lines
1.3 KiB
Plaintext

FIBONACC CSECT
USING FIBONACC,R12
SAVEAREA B STM-SAVEAREA(R15)
DC 17F'0'
DC CL8'FIBONACC'
STM STM R14,R12,12(R13)
ST R13,4(R15)
ST R15,8(R13)
LR R12,R15
* ---- CODE
LA R1,0 f1=0
LA R2,1 f2=1
LA R4,1 i=1
LA R6,1
LH R7,N
LOOP BXH R4,R6,ENDLOOP for i=2 to n
LR R3,R2
AR R3,R1 f3=f1+f2
CVD R4,P i
UNPK Z,P
MVC C,Z
OI C+L'C-1,X'F0'
MVC WTOBUF+5(5),C+11
CVD R3,P f3
UNPK Z,P
MVC C,Z
OI C+L'C-1,X'F0'
MVC WTOBUF+12(10),C+6
WTO MF=(E,WTOMSG)
LR R1,R2 f1=f2
LR R2,R3 f2=f3
B LOOP next i
ENDLOOP EQU *
* ---- END CODE
RETURN EQU *
LM R14,R12,12(R13)
XR R15,R15
BR R14
* ---- DATA
N DC H'46' max i
P DS PL8
Z DS ZL16
C DS CL16
WTOMSG DS 0F
DC H'80'
DC H'0'
WTOBUF DC CL80'fibo(12345)=1234567890 '
YREGS
END FIBONACC