Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
68
Task/Ackermann-function/MACRO-11/ackermann-function.macro11
Normal file
68
Task/Ackermann-function/MACRO-11/ackermann-function.macro11
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
.TITLE ACKRMN
|
||||
.MCALL .TTYOUT,.EXIT
|
||||
ACKRMN::JMP MKTBL
|
||||
|
||||
; R0 = ACK(R0,R1)
|
||||
ACK: MOV SP,R2 ; KEEP OLD STACK PTR
|
||||
MOV #ASTK,SP ; USE PRIVATE STACK
|
||||
JSR PC,1$
|
||||
MOV R2,SP ; RESTORE STACK PTR
|
||||
RTS PC
|
||||
1$: TST R0
|
||||
BNE 2$
|
||||
INC R1
|
||||
MOV R1,R0
|
||||
RTS PC
|
||||
2$: TST R1
|
||||
BNE 3$
|
||||
DEC R0
|
||||
INC R1
|
||||
BR 1$
|
||||
3$: MOV R0,-(SP)
|
||||
DEC R1
|
||||
JSR PC,1$
|
||||
MOV R0,R1
|
||||
MOV (SP)+,R0
|
||||
DEC R0
|
||||
BR 1$
|
||||
.BLKB 4000 ; BIG STACK
|
||||
ASTK = .
|
||||
|
||||
; PRINT TABLE
|
||||
MMAX = 4
|
||||
NMAX = 7
|
||||
MKTBL: CLR R3
|
||||
1$: CLR R4
|
||||
2$: MOV R3,R0
|
||||
MOV R4,R1
|
||||
JSR PC,ACK
|
||||
JSR PC,PR0
|
||||
INC R4
|
||||
CMP R4,#NMAX
|
||||
BLT 2$
|
||||
MOV #15,R0
|
||||
.TTYOUT
|
||||
MOV #12,R0
|
||||
.TTYOUT
|
||||
INC R3
|
||||
CMP R3,#MMAX
|
||||
BLT 1$
|
||||
.EXIT
|
||||
|
||||
; PRINT NUMBER IN R0 AS DECIMAL
|
||||
PR0: MOV #4$,R1
|
||||
1$: MOV #-1,R2
|
||||
2$: INC R2
|
||||
SUB #12,R0
|
||||
BCC 2$
|
||||
ADD #72,R0
|
||||
MOVB R0,-(R1)
|
||||
MOV R2,R0
|
||||
BNE 1$
|
||||
3$: MOVB (R1)+,R0
|
||||
.TTYOUT
|
||||
BNE 3$
|
||||
RTS PC
|
||||
.ASCII /...../
|
||||
4$: .BYTE 11,0
|
||||
.END ACKRMN
|
||||
Loading…
Add table
Add a link
Reference in a new issue