mirror of
				https://github.com/ton-blockchain/ton
				synced 2025-03-09 15:40:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
"Asm.fif" include
 | 
						|
 | 
						|
<{ 1 INT 70 INT
 | 
						|
   REPEAT:<{ 10 MULCONST }>
 | 
						|
   1 INT DUP <{ TUCK ADD DUP s3 PUSH GREATER }>UNTIL
 | 
						|
   MULDIVR
 | 
						|
 }>s
 | 
						|
dup csr.
 | 
						|
 | 
						|
runvmcode .s
 | 
						|
 | 
						|
<{ 1 INT 70 INT REPEAT:<{ 10 MULCONST }>
 | 
						|
   1 INT DUP <{ TUCK ADD TUCK ADD SWAP DUP s3 PUSH GREATER }>UNTIL
 | 
						|
   MULDIVR
 | 
						|
 }>s
 | 
						|
dup csr.
 | 
						|
 | 
						|
runvmcode .s
 | 
						|
 | 
						|
<{ WHILE:<{
 | 
						|
     DUP DEC
 | 
						|
   }>DO<{
 | 
						|
     DUP DUP 1 INT AND IF:<{
 | 
						|
       3 MULCONST INC
 | 
						|
     }>ELSE<{
 | 
						|
       1 RSHIFT#
 | 
						|
     }>
 | 
						|
   }>
 | 
						|
}>s
 | 
						|
dup csr.
 | 
						|
 | 
						|
<{ WHILE:<{
 | 
						|
     DUP DEC
 | 
						|
   }>DO:
 | 
						|
     DUP DUP 1 INT AND IF:<{
 | 
						|
       3 MULCONST INC
 | 
						|
     }>ELSE:
 | 
						|
       1 RSHIFT#
 | 
						|
}>s
 | 
						|
 | 
						|
dup csr.
 | 
						|
nip
 | 
						|
 | 
						|
17 swap runvmcode .s
 | 
						|
 | 
						|
<{ CONT:<{
 | 
						|
     TUCK DIVR SWAP DUP MUL NEGATE SWAP ZERO ONE
 | 
						|
     <{ SWAP s2 s1 PUSH2 DIVR ADD SWAP 2 ADDCONST
 | 
						|
        2SWAP OVER DIVR 2SWAP s2 PUSH ISZERO }>UNTIL
 | 
						|
     DROP s2 POP DROP
 | 
						|
   }>
 | 
						|
   8 PUSHPOW2 70 INT REPEAT:<{ 10 MULCONST }>
 | 
						|
   DUP 2 LSHIFT# 5 INT s3 PUSH EXECUTE
 | 
						|
   s0 s2 XCHG 239 INT SWAP EXECUTE SUB
 | 
						|
   6 RSHIFTR#
 | 
						|
}>s dup csr.
 | 
						|
 | 
						|
runvmcode .s
 | 
						|
 | 
						|
<{ 8 PUSHPOW2 70 INT REPEAT:<{ 10 MULCONST }>
 | 
						|
   ZERO DUP
 | 
						|
   <{ s2 PUSH ADD -ROT INC TUCK DIVR -ROT SWAP s2 PUSH ISZERO }>UNTIL
 | 
						|
   NIP NIP 8 RSHIFTR#
 | 
						|
}>s dup csr.
 | 
						|
 | 
						|
runvmcode .s
 |