Initial data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 72d218235f
commit f23f22d71c
199087 changed files with 3378941 additions and 0 deletions

View file

@ -0,0 +1,29 @@
section .text
global _main
_main:
mov eax, 3 ;m
mov ebx, 4 ;n
call ack ;returns number in ebx
ret
ack:
cmp eax, 0
je M0 ;if M == 0
cmp ebx, 0
je N0 ;if N == 0
dec ebx ;else N-1
push eax ;save M
call ack1 ;ack(m,n) -> returned in ebx so no further instructions needed
pop eax ;restore M
dec eax ;M - 1
call ack1 ;return ack(m-1,ack(m,n-1))
ret
M0:
inc ebx ;return n + 1
ret
N0:
dec eax
inc ebx ;ebx always 0: inc -> ebx = 1
call ack1 ;return ack(M-1,1)
ret