revolution
When all else fails, read the source
Joined: 24 Aug 2004
Posts: 20303
Location: In your JS exploiting you and your system
|
rept 1{
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}} ~ fasm test.asm
flat assembler version 1.73.31 (16384 kilobytes memory)
error: out of memory. Try more memory. ~ fasm test.asm -m 19999
flat assembler version 1.73.31 (19999 kilobytes memory)
test.asm [2]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] rept [1]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] rept [0]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [2]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [5]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [4]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] match [4]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [4]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [3]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] match [3]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [3]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [2]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] match [2]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [2]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [1]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] match [1]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
test.asm [2] irp [1]:
rept 5{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}}
error: incomplete macro. It got there, but needed a lot of space to figure it out.
However changing the code to add a single extra rept rept 1{
rept 6{irp x,<0,1,2,3,4>\{match a=,b=,c=,d=,e,x\\{irp y,<5,6>,<8,7>\\\{\\\}\\}\}} ~ fasm test.asm -m 19999
flat assembler version 1.73.31 (19999 kilobytes memory)
error: out of memory. Let's try more memory. ~ fasm test.asm -m 199999
flat assembler version 1.73.31 (199999 kilobytes memory)
error: out of memory. Let's try more memory. ~ fasm test.asm -m 499999
flat assembler version 1.73.31 (499999 kilobytes memory)
error: out of memory. Let's try more memory. ~ fasm test.asm -m 1499999
flat assembler version 1.73.31 (1499999 kilobytes memory)
error: out of memory. It still can't figure it out.
The first rept doesn't have a closing bracket. And there appears to be some sort of exponential expansion of memory usage when a closing curly bracket is missing.
|