view interps/c-intercal/pit/interfunge.i @ 12253:ad5c5d1b7d04 draft

<oerjan> t sled lib/karma//s/egrep.*>/egrep -x \'<[^>]*>/
author HackEso <hackeso@esolangs.org>
date Fri, 06 Dec 2019 07:53:22 +0000
parents 859f9b4339e6
children
line wrap: on
line source

	PLEASE DO (600) NEXT
	PLEASE DON'T PAY ATTENTION TO THE ABOVE LINE IF YOU ARE HUMAN

	INTERFUNGE.I - COPYRIGHT 2008 JEFFREY LEE

	THE BEFUNGE PROGRAM FROM IS FIRST READ FROM INPUT
	DON'T FORGET TO TERMINATE YOUR FUNGESPACE PROGRAM WITH A BLANK LINE

	VARIABLES AND SUBROUTINES:
	;1 IS THE 2D FUNGESPACE ARRAY
	;2 IS THE FUNGESPACE STACK
	.10 AND .11 ARE THE IP
	.12 AND .13 ARE THE DELTA
	.14 IS THE STACK DEPTH
	.15 AND .16 ARE THE IO TAPE POSITIONS
	,1 IS THE IO BUFFER
	,2 IS THE INSTRUCTION LOOKUP TABLE
	[500] GETS A CHAR INTO .1 AND [510] OUTPUTS A CHAR FROM .1
	[530] PUSHES :1 AND [540] POPS :1 FROM THE STACK

	LICENSING:
	INTERFUNGE.I IS FREE SOFTWARE: YOU CAN REDISTRIBUTE IT AND/OR MODIFY
	IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
	THE FREE SOFTWARE FOUNDATION, EITHER VERSION 2 OF THE LICENSE, OR
	(AT YOUR OPTION) ANY LATER VERSION.
	INTERFUNGE.I IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
	BUT WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
	MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  SEE THE
	GNU GENERAL PUBLIC LICENSE FOR MORE DETAILS.
	YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
	ALONG WITH INTERFUNGE.I.  IF NOT, SEE <HTTP://WWW.GNU.ORG/LICENSES/>.

	PLEASE NOTE THAT THE PROGRAM STARTS HERE

(600)	PLEASE DO ;1 <- #80 BY #25
	DO ;2 <- #10000
	DO .11 <- #1
	PLEASE DO .12 <- #1
	DO .13 <- #0
	DO .14 <- #0
	DO .15 <- #0
	DO .16 <- #0
	PLEASE DO ,1 <- #1
	PLEASE DO ,2 <- #127
	DO .3 <- #127
	DO .2 <- #1
(13)	DO FORGET #1
	DO .1 <- .3
	PLEASE DO ,2SUB.1 <- #1
	DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (14) NEXT
	DO (13) NEXT
(14)	PLEASE DO (3) NEXT
	DON'T FORGET THAT [1] CLEARS THE CALL STACK FOR US
	DO ,2SUB#32 <- #2
	DO ,2SUB#33 <- #3
	PLEASE DO ,2SUB#34 <- #4
	DO ,2SUB#35 <- #5
	DO ,2SUB#36 <- #6
	DO ,2SUB#37 <- #7
	PLEASE DO ,2SUB#38 <- #8
	DO ,2SUB#42 <- #9
	DO ,2SUB#43 <- #10
	DO ,2SUB#44 <- #11
	PLEASE DO ,2SUB#45 <- #12
	DO ,2SUB#46 <- #13
	DO ,2SUB#47 <- #14
	DO ,2SUB#48 <- #15
	PLEASE DO ,2SUB#49 <- #16
	DO ,2SUB#50 <- #17
	DO ,2SUB#51 <- #18
	DO ,2SUB#52 <- #19
	PLEASE DO ,2SUB#53 <- #20
	DO ,2SUB#54 <- #21
	DO ,2SUB#55 <- #22
	DO ,2SUB#56 <- #23
	PLEASE DO ,2SUB#57 <- #24
	DO ,2SUB#58 <- #25
	DO ,2SUB#60 <- #26
	DO ,2SUB#62 <- #27
	PLEASE DO ,2SUB#63 <- #28
	DO ,2SUB#64 <- #29
	DO ,2SUB#92 <- #30
	DO ,2SUB#94 <- #31
	PLEASE DO ,2SUB#95 <- #32
	DO ,2SUB#96 <- #33
	DO ,2SUB#103 <- #34
	DO ,2SUB#112 <- #35
	PLEASE DO ,2SUB#118 <- #36
	DO ,2SUB#124 <- #37
	DO ,2SUB#126 <- #38
(5)	DO .10 <- #1
(1)	PLEASE FORGET #1
(10)	DO (500) NEXT
(11)	DON'T .1 <- #10
	DO .5 <- .1
	DO .2 <- #10
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	DO (2) NEXT
	DO .1 <- .10
	DO .2 <- #81
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	DO (18) NEXT
	DO ;1SUB.10.11 <- .5
	PLEASE ABSTAIN FROM (18)
(18)	DO (3) NEXT
	PLEASE REINSTATE (18)
	PLEASE FORGET #1
	DO .1 <- .10
	PLEASE DO (1020) NEXT
	DO .10 <- .1
	PLEASE DO (1) NEXT
(2)	DO (3) NEXT
	DO FORGET #1
	DO .1 <- .10
	DO .2 <- #1
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	DO (4) NEXT
(7)	PLEASE FORGET #1
	DO .1 <- .10
	DO .2 <- #81
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	DO (6) NEXT
	DO ;1SUB.10.11 <- #32
	DO .1 <- .10
	DO .2 <- #1
	PLEASE DO (1000) NEXT
	DO .10 <- .3
	DO (7) NEXT
(6)	DO (3) NEXT
	PLEASE FORGET #1
	DO .1 <- .11
	PLEASE DO (1020) NEXT
	DO .11 <- .1
	DO .2 <- #26
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	DO (8) NEXT
	DO (5) NEXT
(8)	PLEASE DO (3) NEXT
	PLEASE FORGET #1
	PLEASE DO (9) NEXT
(4)	DO (3) NEXT
	PLEASE FORGET #1
	DO ABSTAIN FROM (10)
	PLEASE REINSTATE (11)
	PLEASE DO (7) NEXT
(3)	PLEASE RESUME .1
(9)	DO .10 <- #1
	DO .11 <- #1
(12)	DO :9 <- ;1SUB.10.11
	DO .1 <- '?"':9~:9'~#1"$#1'~#3
	PLEASE DO (15) NEXT
	DO .1 <- :9~'#65528$#65520'
	DO .1 <- '?"!1~.1'~#1"$#1'~#3
	PLEASE DO (16) NEXT
	PLEASE DO (17) NEXT
(16)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .1 <- ,2SUB:9
	PLEASE DO (390) NEXT
(15)	PLEASE DO (3) NEXT
(17)	DO FORGET #80
	DON'T IMPLEMENT REFLECT HERE
	DO .1 <- #0
	DO .2 <- .12
	PLEASE DO (1010) NEXT
	DO .12 <- .3
	DO .2 <- .13
	PLEASE DO (1010) NEXT
	DO .13 <- .3
	DO (20) NEXT
(30)	PLEASE DO (15) NEXT
(20)	DON'T IMPLEMENT SPACE HERE
	DO FORGET #80
	DO .1 <- '?".12~#1"$#1'~#3
	PLEASE DO (33) NEXT
	DO .1 <- .10
	DO .2 <- .12
	PLEASE DO (1009) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (31) NEXT
	DO .10 <- .3
	DO .1 <- .3
	DO .2 <- #81
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (32) NEXT
	DO (12) NEXT
(31)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .10 <- #80
	DO (12) NEXT
(32)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .10 <- #1
	DO (12) NEXT
(33)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .1 <- .11
	DO .2 <- .13
	PLEASE DO (1009) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (34) NEXT
	DO .11 <- .3
	DO .1 <- .3
	DO .2 <- #26
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (35) NEXT
	DO (12) NEXT
(34)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .11 <- #25
	DO (12) NEXT
(35)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .11 <- #1
	DO (12) NEXT
(40)	PLEASE DO (30) NEXT
	DO FORGET #80
	DON'T IMPLEMENT NOT HERE
	DO (540) NEXT
	DO :1 <- '?"':1~:1'~#1"$#1'~#1
	DO (530) NEXT
	PLEASE DO (20) NEXT
(50)	PLEASE DO (40) NEXT
(58)	DON'T IMPLEMENT STRINGMODE HERE
	DO FORGET #80
	DO .1 <- '?".12~#1"$#1'~#3
	PLEASE DO (53) NEXT
	DO .1 <- .10
	DO .2 <- .12
	PLEASE DO (1009) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (51) NEXT
	DO .10 <- .3
	DO .1 <- .3
	DO .2 <- #81
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (52) NEXT
	DO (56) NEXT
(51)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .10 <- #80
	DO (56) NEXT
(52)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .10 <- #1
	DO (56) NEXT
(53)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .1 <- .11
	DO .2 <- .13
	PLEASE DO (1009) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (54) NEXT
	DO .11 <- .3
	DO .1 <- .3
	DO .2 <- #26
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (55) NEXT
	DO (56) NEXT
(54)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .11 <- #25
	DO (56) NEXT
(55)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .11 <- #1
(56)	DO FORGET #1
	DO :1 <- ;1SUB.10.11
	DO :2 <- #34
	PLEASE DO (1510) NEXT
	DO .1 <- '?"':3~:3'~#1"$#1'~#3
	DO (57) NEXT
	DO (530) NEXT
	DO (58) NEXT
(57)	DO (3) NEXT
	PLEASE DO (20) NEXT
(60)	PLEASE DO (50) NEXT
	DO FORGET #80
	DON'T IMPLEMENT TRAMPOLINE HERE
	DO .1 <- '?".12~#1"$#1'~#3
	PLEASE DO (63) NEXT
	DO .1 <- .10
	DO .2 <- .12
	PLEASE DO (1009) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (31) NEXT
	DO .10 <- .3
	DO .1 <- .3
	DO .2 <- #81
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (62) NEXT
	DO (20) NEXT
(61)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .10 <- #80
	DO (20) NEXT
(62)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .10 <- #1
	DO (20) NEXT
(63)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .1 <- .11
	DO .2 <- .13
	PLEASE DO (1009) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (64) NEXT
	DO .11 <- .3
	DO .1 <- .3
	DO .2 <- #26
	PLEASE DO (1010) NEXT
	DO .1 <- '?"!3~.3'~#1"$#1'~#3
	PLEASE DO (65) NEXT
	DO (20) NEXT
(64)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .11 <- #25
	DO (20) NEXT
(65)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .11 <- #1
	DO (20) NEXT
(70)	PLEASE DO (60) NEXT
	DO FORGET #80
	DON'T IMPLEMENT POP HERE
	DO (540) NEXT
	PLEASE DO (20) NEXT
(80)	PLEASE DO (70) NEXT
	DO FORGET #80
	DON'T IMPLEMENT REMAINDER HERE
	DO (540) NEXT
	DO :2 <- :1
	DO (540) NEXT
	PLEASE DO (2530) NEXT
	DO :1 <- :4
	DO (530) NEXT
	PLEASE DO (20) NEXT
(90)	PLEASE DO (80) NEXT
	DO FORGET #80
	DON'T IMPLEMENT INPUT INTEGER HERE
	DO WRITE IN :1
	DO (530) NEXT
	PLEASE DO (20) NEXT
(100)	PLEASE DO (90) NEXT
	DO FORGET #80
	DON'T IMPLEMENT MULTIPLY HERE
	DO (540) NEXT
	DO :2 <- :1
	DO (540) NEXT
	PLEASE DO (1549) NEXT
	DO :1 <- :3
	DO (530) NEXT
	PLEASE DO (20) NEXT
(110)	PLEASE DO (100) NEXT
	DO FORGET #80
	DON'T IMPLEMENT ADD HERE
	DO (540) NEXT
	DO :2 <- :1
	DO (540) NEXT
	PLEASE DO (1509) NEXT
	DO :1 <- :3
	DO (530) NEXT
	PLEASE DO (20) NEXT
(120)	PLEASE DO (110) NEXT
	DO FORGET #80
	DON'T IMPLEMENT OUTPUT CHAR HERE
	DO (540) NEXT
	DO .1 <- :1~#255
	DO (510) NEXT
	PLEASE DO (20) NEXT
(130)	PLEASE DO (120) NEXT
	DO FORGET #80
	DON'T IMPLEMENT SUBTRACT HERE
	DO (540) NEXT
	DO :2 <- :1
	DO (540) NEXT
	PLEASE DO (1510) NEXT
	DO :1 <- :3
	DO (530) NEXT
	PLEASE DO (20) NEXT
(140)	PLEASE DO (130) NEXT
	DO FORGET #80
	DON'T IMPLEMENT OUTPUT INTEGER HERE
	DO (540) NEXT
	DO READ OUT :1
	PLEASE DO (20) NEXT
(150)	PLEASE DO (140) NEXT
	DO FORGET #80
	DON'T IMPLEMENT DIVIDE HERE
	DO (540) NEXT
	DO :2 <- :1
	DO (540) NEXT
	PLEASE DO (1550) NEXT
	DO :1 <- :3
	DO (530) NEXT
	PLEASE DO (20) NEXT
(160)	PLEASE DO (150) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH ZERO HERE
	DO :1 <- #0
	DO (530) NEXT
	PLEASE DO (20) NEXT
(170)	PLEASE DO (160) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH ONE HERE
	DO :1 <- #1
	DO (530) NEXT
	PLEASE DO (20) NEXT
(180)	PLEASE DO (170) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH TWO HERE
	DO :1 <- #2
	DO (530) NEXT
	PLEASE DO (20) NEXT
(190)	PLEASE DO (180) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH THREE HERE
	DO :1 <- #3
	DO (530) NEXT
	PLEASE DO (20) NEXT
(200)	PLEASE DO (190) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH FOUR HERE
	DO :1 <- #4
	DO (530) NEXT
	PLEASE DO (20) NEXT
(210)	PLEASE DO (200) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH FIVE HERE
	DO :1 <- #5
	DO (530) NEXT
	PLEASE DO (20) NEXT
(220)	PLEASE DO (210) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH SIX HERE
	DO :1 <- #6
	DO (530) NEXT
	PLEASE DO (20) NEXT
(230)	PLEASE DO (220) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH SEVEN HERE
	DO :1 <- #7
	DO (530) NEXT
	PLEASE DO (20) NEXT
(240)	PLEASE DO (230) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH EIGHT HERE
	DO :1 <- #8
	DO (530) NEXT
	PLEASE DO (20) NEXT
(250)	PLEASE DO (240) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUSH NINE HERE
	DO :1 <- #9
	DO (530) NEXT
	PLEASE DO (20) NEXT
(260)	PLEASE DO (250) NEXT
	DO FORGET #80
	DON'T IMPLEMENT DUPLICATE HERE
	DO (540) NEXT
	DO (530) NEXT
	DO (530) NEXT
	PLEASE DO (20) NEXT
(270)	PLEASE DO (260) NEXT
	DO FORGET #80
	DON'T IMPLEMENT GO WEST HERE
	DO .12 <- #65535
	DO .13 <- #0
	PLEASE DO (20) NEXT
(280)	PLEASE DO (270) NEXT
	DO FORGET #80
	DON'T IMPLEMENT GO EAST HERE
	DO .12 <- #1
	DO .13 <- #0
	PLEASE DO (20) NEXT
(290)	PLEASE DO (280) NEXT
	DO FORGET #80
	DON'T IMPLEMENT GO AWAY HERE
	PLEASE NOTE THAT THIS WAS PATCHED BY AIS523 TO FIX A SYNTAX ERROR
	DO %50 (291) NEXT
	DO .13 <- #0
	DO .12 <- #65535
	DO %50 .12 <- .12~#1
	PLEASE DO (20) NEXT
(291)	DO .12 <- #0
	DO .13 <- #65535
	DO %50 .13 <- .13~#1
	PLEASE DO (20) NEXT
(300)	PLEASE DO (290) NEXT
	PLEASE GIVE UP
(310)	PLEASE DO (300) NEXT
	DO FORGET #80
	DON'T IMPLEMENT SWAP HERE
	DO (540) NEXT
	DO :2 <- :1
	DO (540) NEXT
	DO :3 <- :1
	DO :1 <- :2
	DO (530) NEXT
	DO :1 <- :3
	DO (530) NEXT
	PLEASE DO (20) NEXT
(320)	PLEASE DO (310) NEXT
	DO FORGET #80
	DON'T IMPLEMENT GO NORTH HERE
	DO .12 <- #0
	DO .13 <- #65535
	PLEASE DO (20) NEXT
(330)	PLEASE DO (320) NEXT
	DO FORGET #80
	DON'T IMPLEMENT EAST-WEST IF HERE
	DO .13 <- #0
	DO (540) NEXT
	DO .1 <- '?"':1~:1'~#1"$#1'~#3
	DO (331) NEXT
	DO .12 <- #65535
	PLEASE DO (20) NEXT
(331)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .12 <- #1
	PLEASE DO (20) NEXT
(340)	PLEASE DO (330) NEXT
	DO FORGET #80
	DON'T IMPLEMENT GREATER THAN HERE
	DO (540) NEXT
	DO :2 <- :1
	DO (540) NEXT
	DO (1510) NEXT
	DO :1 <- :3~'#32767$#65535'
	DO :1 <- ':1~:1'~"'?":3~'#32768$#0'"$#1'~#1"
	PLEASE DO (530) NEXT
	PLEASE DO (20) NEXT
(350)	PLEASE DO (340) NEXT
	DO FORGET #80
	DON'T IMPLEMENT GET HERE
	DO (540) NEXT
	DO :4 <- :1
	DO .1 <- '?":1~'#32768$#0'"$#1'~#1
	DO :2 <- #25
	PLEASE DO (1510) NEXT
	DO (540) NEXT
	DO .1 <- .1~"':3~"#32768$#0"'~"'?":1~'#32768$#0'"$#1'~#1""
	DO :2 <- #80
	PLEASE DO (1510) NEXT
	DO .1 <- '?".1~':3~"#32768$#0"'"$#1'~#3
	PLEASE DO (351) NEXT
	DO .1 <- :4
	PLEASE DO (1020) NEXT
	DO .2 <- .1
	DO .1 <- :1
	PLEASE DO (1020) NEXT
	DO :1 <- ;1SUB.1.2
	DO (530) NEXT
	PLEASE DO (20) NEXT
(351)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO :1 <- #32
	DO (530) NEXT
	PLEASE DO (20) NEXT
(360)	PLEASE DO (350) NEXT
	DO FORGET #80
	DON'T IMPLEMENT PUT HERE
	DO (540) NEXT
	DO :4 <- :1
	DO .1 <- '?":1~'#32768$#0'"$#1'~#1
	DO :2 <- #25
	PLEASE DO (1510) NEXT
	DO (540) NEXT
	DO .1 <- .1~"':3~"#32768$#0"'~"'?":1~'#32768$#0'"$#1'~#1""
	DO :2 <- #80
	PLEASE DO (1510) NEXT
	DO .1 <- '?".1~':3~"#32768$#0"'"$#1'~#3
	PLEASE DO (361) NEXT
	DO .1 <- :4
	PLEASE DO (1020) NEXT
	DO .2 <- .1
	DO .1 <- :1
	PLEASE DO (1020) NEXT
	DO (540) NEXT
	DO ;1SUB.1.2 <- :1
	PLEASE DO (20) NEXT
(361)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO (540) NEXT
	PLEASE DO (20) NEXT
(370)	PLEASE DO (360) NEXT
	DO FORGET #80
	DON'T IMPLEMENT GO SOUTH HERE
	DO .12 <- #0
	DO .13 <- #1
	PLEASE DO (20) NEXT
(380)	PLEASE DO (370) NEXT
	DO FORGET #80
	DON'T IMPLEMENT NORTH-SOUTH IF HERE
	DO .12 <- #0
	DO (540) NEXT
	DO .1 <- '?"':1~:1'~#1"$#1'~#3
	DO (381) NEXT
	DO .13 <- #65535
	PLEASE DO (20) NEXT
(381)	PLEASE DO (3) NEXT
	DO FORGET #1
	DO .13 <- #1
	PLEASE DO (20) NEXT
(390)	PLEASE DO (380) NEXT
	DO FORGET #80
	DON'T IMPLEMENT INPUT CHAR HERE
	DO (500) NEXT
	DO :1 <- .1
	DO (530) NEXT
	PLEASE DO (20) NEXT

(500)	PLEASE STASH .2 + .3 + .4
	PLEASE WRITE IN ,1
	DO .1 <- ,1SUB#1
	DO .2 <- .15
	DO (1000) NEXT
	DO .15 <- .3~#255
	DO .1 <- .15
	PLEASE RETRIEVE .2 + .3 + .4
	PLEASE RESUME #1
(510)	PLEASE STASH .1 + .2 + .3 + .4
	DO .2 <- !1~#15'$!1~#240'
	DO .2 <- !2~#15'$!2~#240'
	DO .2 <- !2~#15'$!2~#240'
	DO .1 <- .16
	DO (1010) NEXT
	DO .16 <- .2
	DO ,1SUB#1 <- .3
	PLEASE READ OUT ,1
	PLEASE RETRIEVE .1 + .2 + .3 + .4
	PLEASE RESUME #1
(520)	DON'T EXPECT THIS TO DO MUCH
(530)	PLEASE STASH .1
	DO .1 <- .14
	PLEASE DO (1020) NEXT
	DO .14 <- .1
	DO ;2SUB.14 <- :1
	PLEASE RETRIEVE .1
	PLEASE RESUME #1
(540)	PLEASE STASH .1 + .2 + .3
	DO .1 <- '?"!14~.14'~#1"$#1'~#3
	DO (541) NEXT
	DO :1 <- ;2SUB.14
	DO .1 <- .14
	DO .2 <- #1
	PLEASE DO (1010) NEXT
	DO .14 <- .3
	PLEASE RETRIEVE .1 + .2 + .3
	PLEASE RESUME #1
(541)	PLEASE DO (3) NEXT
	DO :1 <- #0
	PLEASE RETRIEVE .1 + .2 + .3
	PLEASE RESUME #2

PLEASE ACKNOWLEDGE 32BIT DIVISION WITH REMAINDER FROM NUMIO.I

(2530)	DO STASH :1 + :5 + .5
	DO :3 <- #0
	DO .5 <- '?"':2~:2'~#1"$#1'~#3
	PLEASE DO (2531) NEXT
	DO :4 <- #1
	PLEASE DO (2533) NEXT
(2533)	DO FORGET #1
	DO .5 <- '?":2~'#32768$#0'"$#2'~#3
	DO (2532) NEXT
	DO :2 <- ":2~'#0$#65535'"$"'":2~'#32767$#0'"$#
	   0'~'#32767$#1'"
	PLEASE DO :4 <- ":4~'#0$#65535'"$"'":4~'#32767
	     $#0'"$#0'~'#32767$#1'"
	DO (2533) NEXT
(2532)	DO (1001) NEXT
(2536)	PLEASE FORGET #1
	DO :5 <- "'?":1~'#65535$#0'"$":2~'#65535$#0'"'
	     ~'#0$#65535'"$"'?":1~'#0$#65535'"$":2~'#0$
	     #65535'"'~'#0$#65535'"
	DO .5 <- '?"'&"':2~:5'~'"'?"'?":5~:5"~"#65535$
	     #65535"'~'#65535$#0'"$#32768'~'#0$#65535'"
	     $"'?":5~:5"~"#65535$#65535"'~'#0$#65535'"'
	     "$"':5~:5'~#1"'~#1"$#2'~#3
	DO (2534) NEXT
	DO :5 <- :3
	DO (1510) NEXT
	PLEASE DO :1 <- :3
	DO :3 <- "'V":4~'#65535$#0'"$":5~'#65535$#0'"'
	     ~'#0$#65535'"$"'V":4~'#0$#65535'"$":5~'#0$
	     #65535'"'~'#0$#65535'"
	DO (2535) NEXT
(2534)	PLEASE DO (1001) NEXT
(2535)	DO FORGET #1
	DO .5 <- "?':4~#1'$#2"~#3
	DO (2531) NEXT
	DO :2 <- ":2~'#0$#65534'"$":2~'#65535$#0'"
	DO :4 <- ":4~'#0$#65534'"$":4~'#65535$#0'"
	PLEASE DO (2536) NEXT
(2531)	DO (1001) NEXT
	DO :4 <- :1
	PLEASE RETRIEVE :1 + :5 + .5
	PLEASE RESUME #2

PLEASE REMEMBER TO APPEND STANDARD LIBRARY