njvm/njlisp.asm
2024-01-27 22:14:18 +00:00

11071 lines
109 KiB
NASM

//
// version
//
.vers 8
//
// execution framework
//
__start:
call _main
call _exit
__stop:
jmp __stop
//
// Integer readInteger()
//
_readInteger:
asf 0
rdint
popr
rsf
ret
//
// void writeInteger(Integer)
//
_writeInteger:
asf 0
pushl -3
wrint
rsf
ret
//
// Character readCharacter()
//
_readCharacter:
asf 0
rdchr
popr
rsf
ret
//
// void writeCharacter(Character)
//
_writeCharacter:
asf 0
pushl -3
wrchr
rsf
ret
//
// Integer char2int(Character)
//
_char2int:
asf 0
pushl -3
popr
rsf
ret
//
// Character int2char(Integer)
//
_int2char:
asf 0
pushl -3
popr
rsf
ret
//
// void exit()
//
_exit:
asf 0
halt
rsf
ret
//
// void writeString(String)
//
_writeString:
asf 1
pushc 0
popl 0
jmp _writeString_L2
_writeString_L1:
pushl -3
pushl 0
getfa
call _writeCharacter
drop 1
pushl 0
pushc 1
add
popl 0
_writeString_L2:
pushl 0
pushl -3
getsz
lt
brt _writeString_L1
rsf
ret
//
// void debug(Integer)
//
_debug:
asf 0
pushc 7
newa
dup
pushc 0
pushc 68
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 66
putfa
dup
pushc 3
pushc 85
putfa
dup
pushc 4
pushc 71
putfa
dup
pushc 5
pushc 58
putfa
dup
pushc 6
pushc 32
putfa
call _writeString
drop 1
pushl -3
call _writeInteger
drop 1
pushc 1
newa
dup
pushc 0
pushc 10
putfa
call _writeString
drop 1
__0:
rsf
ret
//
// Boolean isAlpha(Character)
//
_isAlpha:
asf 0
pushl -3
pushc 65
ge
dup
brf __3
drop 1
pushl -3
pushc 90
le
__3:
dup
brt __2
drop 1
pushl -3
pushc 97
ge
dup
brf __4
drop 1
pushl -3
pushc 122
le
__4:
__2:
popr
jmp __1
__1:
rsf
ret
//
// Boolean isDigit(Character)
//
_isDigit:
asf 0
pushl -3
pushc 48
ge
dup
brf __6
drop 1
pushl -3
pushc 57
le
__6:
popr
jmp __5
__5:
rsf
ret
//
// Character toLower(Character)
//
_toLower:
asf 0
pushl -3
pushc 65
ge
dup
brf __9
drop 1
pushl -3
pushc 90
le
__9:
brf __8
pushl -3
call _char2int
drop 1
pushr
pushc 32
add
call _int2char
drop 1
pushr
popl -3
__8:
pushl -3
popr
jmp __7
__7:
rsf
ret
//
// Character toUpper(Character)
//
_toUpper:
asf 0
pushl -3
pushc 97
ge
dup
brf __12
drop 1
pushl -3
pushc 122
le
__12:
brf __11
pushl -3
call _char2int
drop 1
pushr
pushc 32
sub
call _int2char
drop 1
pushr
popl -3
__11:
pushl -3
popr
jmp __10
__10:
rsf
ret
//
// Character[] toString(Character)
//
_toString:
asf 1
pushc 1
newa
popl 0
pushl 0
pushc 0
pushl -3
putfa
pushl 0
popr
jmp __13
__13:
rsf
ret
//
// Integer stringCompare(Character[], Character[])
//
_stringCompare:
asf 3
pushl -4
getsz
popl 0
pushl -3
getsz
popl 1
pushc 0
popl 2
jmp __16
__15:
pushl -4
pushl 2
getfa
pushl -3
pushl 2
getfa
ne
brf __18
pushl -4
pushl 2
getfa
call _char2int
drop 1
pushr
pushl -3
pushl 2
getfa
call _char2int
drop 1
pushr
sub
popr
jmp __14
__18:
pushl 2
pushc 1
add
popl 2
__16:
pushl 2
pushl 0
lt
dup
brf __19
drop 1
pushl 2
pushl 1
lt
__19:
brt __15
__17:
pushl 0
pushl 1
sub
popr
jmp __14
__14:
rsf
ret
//
// record { String str; Integer len; } newStringBuffer(Integer)
//
_newStringBuffer:
asf 1
new 2
popl 0
pushl 0
pushl -3
newa
putf 0
pushl 0
pushc 0
putf 1
pushl 0
popr
jmp __20
__20:
rsf
ret
//
// void addCharToStringBuffer(record { String str; Integer len; }, Character)
//
_addCharToStringBuffer:
asf 2
pushl -4
getf 1
pushc 1
add
pushl -4
getf 0
getsz
gt
brf __22
pushc 2
pushl -4
getf 0
getsz
mul
newa
popl 0
pushc 0
popl 1
jmp __24
__23:
pushl 0
pushl 1
pushl -4
getf 0
pushl 1
getfa
putfa
pushl 1
pushc 1
add
popl 1
__24:
pushl 1
pushl -4
getf 1
lt
brt __23
__25:
pushl -4
pushl 0
putf 0
__22:
pushl -4
getf 0
pushl -4
getf 1
pushl -3
putfa
pushl -4
pushl -4
getf 1
pushc 1
add
putf 1
__21:
rsf
ret
//
// void addStringToStringBuffer(record { String str; Integer len; }, Character[])
//
_addStringToStringBuffer:
asf 2
pushl -3
getsz
popl 0
pushc 0
popl 1
jmp __28
__27:
pushl -4
pushl -3
pushl 1
getfa
call _addCharToStringBuffer
drop 2
pushl 1
pushc 1
add
popl 1
__28:
pushl 1
pushl 0
lt
brt __27
__29:
__26:
rsf
ret
//
// Character[] stringBufferToString(record { String str; Integer len; })
//
_stringBufferToString:
asf 2
pushl -3
getf 1
newa
popl 0
pushc 0
popl 1
jmp __32
__31:
pushl 0
pushl 1
pushl -3
getf 0
pushl 1
getfa
putfa
pushl 1
pushc 1
add
popl 1
__32:
pushl 1
pushl -3
getf 1
lt
brt __31
__33:
pushl 0
popr
jmp __30
__30:
rsf
ret
//
// void error(Character[], Boolean)
//
_error:
asf 0
pushc 1
newa
dup
pushc 0
pushc 10
putfa
call _writeString
drop 1
pushl -4
call _writeString
drop 1
pushc 2
newa
dup
pushc 0
pushc 10
putfa
dup
pushc 1
pushc 10
putfa
call _writeString
drop 1
pushl -3
brf __35
call _exit
__35:
__34:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } makeNil()
//
_makeNil:
asf 1
new 6
popl 0
pushl 0
pushg 0
putf 0
pushl 0
pushl 0
putf 1
pushl 0
pushl 0
putf 2
pushl 0
pushl 0
putf 3
pushl 0
pushc 3
newa
dup
pushc 0
pushc 78
putfa
dup
pushc 1
pushc 73
putfa
dup
pushc 2
pushc 76
putfa
putf 4
pushl 0
popr
jmp __36
__36:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } makeName(Character[])
//
_makeName:
asf 1
new 6
popl 0
pushl 0
pushg 0
putf 0
pushl 0
pushl 0
putf 1
pushl 0
pushg 10
putf 2
pushl 0
pushg 10
putf 3
pushl 0
pushl -3
putf 4
pushl 0
popr
jmp __37
__37:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } makeNumber(Integer)
//
_makeNumber:
asf 1
new 6
popl 0
pushl 0
pushg 1
putf 0
pushl 0
pushl 0
putf 1
pushl -3
pushc 0
lt
brf __39
pushl 0
pushg 11
putf 2
jmp __40
__39:
pushl 0
pushg 10
putf 2
__40:
pushl 0
pushl -3
putf 5
pushl 0
popr
jmp __38
__38:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } makeNode(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_makeNode:
asf 1
new 6
popl 0
pushl 0
pushg 2
putf 0
pushl 0
pushl -4
putf 1
pushl 0
pushl -3
putf 2
pushl 0
popr
jmp __41
__41:
rsf
ret
//
// void addOblist(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_addOblist:
asf 0
pushl -3
pushg 8
call _makeNode
drop 2
pushr
popg 8
__42:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } makeObject(Character[])
//
_makeObject:
asf 1
pushl -3
call _makeName
drop 1
pushr
popl 0
pushl 0
call _addOblist
drop 1
pushl 0
popr
jmp __43
__43:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } makeBuiltin(Character[], record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, Integer)
//
_makeBuiltin:
asf 1
pushl -5
call _makeObject
drop 1
pushr
popl 0
pushl 0
pushl -4
pushl -3
call _makeNumber
drop 1
pushr
call _makeNode
drop 2
pushr
putf 3
pushl 0
popr
jmp __44
__44:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } searchOblist(Character[])
//
_searchOblist:
asf 1
pushg 8
popl 0
jmp __47
__46:
pushl 0
getf 1
getf 4
pushl -3
call _stringCompare
drop 2
pushr
pushc 0
eq
brf __49
pushl 0
getf 1
popr
jmp __45
__49:
pushl 0
getf 2
popl 0
__47:
pushl 0
getf 0
pushg 2
eq
brt __46
__48:
pushl -3
call _makeObject
drop 1
pushr
popr
jmp __45
__45:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } copyTree(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_copyTree:
asf 2
pushg 10
pushg 10
call _makeNode
drop 2
pushr
popl 0
pushl 0
pushl 0
putf 1
jmp __52
__51:
pushl -3
getf 1
call _copyTree
drop 1
pushr
popl 1
pushl 0
getf 1
pushl 1
pushg 10
call _makeNode
drop 2
pushr
putf 2
pushl 0
pushl 0
getf 1
getf 2
putf 1
pushl -3
getf 2
popl -3
__52:
pushl -3
getf 0
pushg 2
eq
brt __51
__53:
pushl 0
getf 1
pushl -3
putf 2
pushl 0
getf 2
popr
jmp __50
__50:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } execErr(Integer)
//
_execErr:
asf 0
pushc 15
newa
dup
pushc 0
pushc 101
putfa
dup
pushc 1
pushc 120
putfa
dup
pushc 2
pushc 101
putfa
dup
pushc 3
pushc 99
putfa
dup
pushc 4
pushc 58
putfa
dup
pushc 5
pushc 32
putfa
dup
pushc 6
pushc 102
putfa
dup
pushc 7
pushc 117
putfa
dup
pushc 8
pushc 110
putfa
dup
pushc 9
pushc 99
putfa
dup
pushc 10
pushc 116
putfa
dup
pushc 11
pushc 105
putfa
dup
pushc 12
pushc 111
putfa
dup
pushc 13
pushc 110
putfa
dup
pushc 14
pushc 32
putfa
call _writeString
drop 1
pushl -3
call _writeInteger
drop 1
pushc 17
newa
dup
pushc 0
pushc 32
putfa
dup
pushc 1
pushc 110
putfa
dup
pushc 2
pushc 111
putfa
dup
pushc 3
pushc 116
putfa
dup
pushc 4
pushc 32
putfa
dup
pushc 5
pushc 105
putfa
dup
pushc 6
pushc 109
putfa
dup
pushc 7
pushc 112
putfa
dup
pushc 8
pushc 108
putfa
dup
pushc 9
pushc 101
putfa
dup
pushc 10
pushc 109
putfa
dup
pushc 11
pushc 101
putfa
dup
pushc 12
pushc 110
putfa
dup
pushc 13
pushc 116
putfa
dup
pushc 14
pushc 101
putfa
dup
pushc 15
pushc 100
putfa
dup
pushc 16
pushc 10
putfa
call _writeString
drop 1
call _exit
pushg 10
popr
jmp __54
__54:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } exec(Integer, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_exec:
asf 0
pushl -6
pushc 0
lt
dup
brt __57
drop 1
pushl -6
pushc 128
ge
__57:
brf __56
pushc 19
newa
dup
pushc 0
pushc 73
putfa
dup
pushc 1
pushc 110
putfa
dup
pushc 2
pushc 116
putfa
dup
pushc 3
pushc 101
putfa
dup
pushc 4
pushc 114
putfa
dup
pushc 5
pushc 110
putfa
dup
pushc 6
pushc 97
putfa
dup
pushc 7
pushc 108
putfa
dup
pushc 8
pushc 32
putfa
dup
pushc 9
pushc 69
putfa
dup
pushc 10
pushc 120
putfa
dup
pushc 11
pushc 101
putfa
dup
pushc 12
pushc 99
putfa
dup
pushc 13
pushc 32
putfa
dup
pushc 14
pushc 69
putfa
dup
pushc 15
pushc 114
putfa
dup
pushc 16
pushc 114
putfa
dup
pushc 17
pushc 111
putfa
dup
pushc 18
pushc 114
putfa
pushc 0
call _error
drop 2
pushg 10
popr
jmp __55
__56:
pushl -6
pushc 64
lt
brf __58
pushl -6
pushc 32
lt
brf __60
pushl -6
pushc 16
lt
brf __62
pushl -6
pushc 8
lt
brf __64
pushl -6
pushc 4
lt
brf __66
pushl -6
pushc 2
lt
brf __68
pushl -6
pushc 1
lt
brf __70
pushl -5
call _car
drop 1
pushr
popr
jmp __55
jmp __71
__70:
pushl -5
call _cdr
drop 1
pushr
popr
jmp __55
__71:
jmp __69
__68:
pushl -6
pushc 3
lt
brf __72
pushl -5
call _caar
drop 1
pushr
popr
jmp __55
jmp __73
__72:
pushl -5
call _cadr
drop 1
pushr
popr
jmp __55
__73:
__69:
jmp __67
__66:
pushl -6
pushc 6
lt
brf __74
pushl -6
pushc 5
lt
brf __76
pushl -5
call _cdar
drop 1
pushr
popr
jmp __55
jmp __77
__76:
pushl -5
call _cddr
drop 1
pushr
popr
jmp __55
__77:
jmp __75
__74:
pushl -6
pushc 7
lt
brf __78
pushl -5
call _caaar
drop 1
pushr
popr
jmp __55
jmp __79
__78:
pushl -5
call _caadr
drop 1
pushr
popr
jmp __55
__79:
__75:
__67:
jmp __65
__64:
pushl -6
pushc 12
lt
brf __80
pushl -6
pushc 10
lt
brf __82
pushl -6
pushc 9
lt
brf __84
pushl -5
call _cadar
drop 1
pushr
popr
jmp __55
jmp __85
__84:
pushl -5
call _caddr
drop 1
pushr
popr
jmp __55
__85:
jmp __83
__82:
pushl -6
pushc 11
lt
brf __86
pushl -5
call _cdaar
drop 1
pushr
popr
jmp __55
jmp __87
__86:
pushl -5
call _cdadr
drop 1
pushr
popr
jmp __55
__87:
__83:
jmp __81
__80:
pushl -6
pushc 14
lt
brf __88
pushl -6
pushc 13
lt
brf __90
pushl -5
call _cddar
drop 1
pushr
popr
jmp __55
jmp __91
__90:
pushl -5
call _cdddr
drop 1
pushr
popr
jmp __55
__91:
jmp __89
__88:
pushl -6
pushc 15
lt
brf __92
pushl -5
pushl -4
call _cons
drop 2
pushr
popr
jmp __55
jmp __93
__92:
pushl -5
call _list
drop 1
pushr
popr
jmp __55
__93:
__89:
__81:
__65:
jmp __63
__62:
pushl -6
pushc 24
lt
brf __94
pushl -6
pushc 20
lt
brf __96
pushl -6
pushc 18
lt
brf __98
pushl -6
pushc 17
lt
brf __100
pushl -5
pushl -4
call _reverse
drop 2
pushr
popr
jmp __55
jmp __101
__100:
call _oblist
pushr
popr
jmp __55
__101:
jmp __99
__98:
pushl -6
pushc 19
lt
brf __102
pushl -5
pushl -4
call _rplaca
drop 2
pushr
popr
jmp __55
jmp __103
__102:
pushl -5
pushl -4
call _rplacd
drop 2
pushr
popr
jmp __55
__103:
__99:
jmp __97
__96:
pushl -6
pushc 22
lt
brf __104
pushl -6
pushc 21
lt
brf __106
pushl -5
pushl -4
call _nconc
drop 2
pushr
popr
jmp __55
jmp __107
__106:
pushl -5
call _name
drop 1
pushr
popr
jmp __55
__107:
jmp __105
__104:
pushl -6
pushc 23
lt
brf __108
pushl -5
call _numberp
drop 1
pushr
popr
jmp __55
jmp __109
__108:
pushl -5
call _atom
drop 1
pushr
popr
jmp __55
__109:
__105:
__97:
jmp __95
__94:
pushl -6
pushc 28
lt
brf __110
pushl -6
pushc 26
lt
brf __112
pushl -6
pushc 25
lt
brf __114
pushl -5
call _null
drop 1
pushr
popr
jmp __55
jmp __115
__114:
pushl -5
call _plusp
drop 1
pushr
popr
jmp __55
__115:
jmp __113
__112:
pushl -6
pushc 27
lt
brf __116
pushl -5
call _minusp
drop 1
pushr
popr
jmp __55
jmp __117
__116:
pushl -5
call _zerop
drop 1
pushr
popr
jmp __55
__117:
__113:
jmp __111
__110:
pushl -6
pushc 30
lt
brf __118
pushl -6
pushc 29
lt
brf __120
pushl -5
call _even
drop 1
pushr
popr
jmp __55
jmp __121
__120:
pushl -5
pushl -4
call _eq
drop 2
pushr
popr
jmp __55
__121:
jmp __119
__118:
pushl -6
pushc 31
lt
brf __122
pushl -5
pushl -4
call _equal
drop 2
pushr
popr
jmp __55
jmp __123
__122:
pushl -5
pushl -4
call _member
drop 2
pushr
popr
jmp __55
__123:
__119:
__111:
__95:
__63:
jmp __61
__60:
pushl -6
pushc 48
lt
brf __124
pushl -6
pushc 40
lt
brf __126
pushl -6
pushc 36
lt
brf __128
pushl -6
pushc 34
lt
brf __130
pushl -6
pushc 33
lt
brf __132
pushl -5
pushl -4
call _greaterp
drop 2
pushr
popr
jmp __55
jmp __133
__132:
pushl -5
pushl -4
call _lessp
drop 2
pushr
popr
jmp __55
__133:
jmp __131
__130:
pushl -6
pushc 35
lt
brf __134
pushl -5
pushl -4
call _orderp
drop 2
pushr
popr
jmp __55
jmp __135
__134:
pushl -5
call _not
drop 1
pushr
popr
jmp __55
__135:
__131:
jmp __129
__128:
pushl -6
pushc 38
lt
brf __136
pushl -6
pushc 37
lt
brf __138
pushl -5
call _and
drop 1
pushr
popr
jmp __55
jmp __139
__138:
pushl -5
call _or
drop 1
pushr
popr
jmp __55
__139:
jmp __137
__136:
pushl -6
pushc 39
lt
brf __140
pushl -5
pushl -4
call _set
drop 2
pushr
popr
jmp __55
jmp __141
__140:
pushl -5
call _setq
drop 1
pushr
popr
jmp __55
__141:
__137:
__129:
jmp __127
__126:
pushl -6
pushc 44
lt
brf __142
pushl -6
pushc 42
lt
brf __144
pushl -6
pushc 41
lt
brf __146
pushl -5
call _pop
drop 1
pushr
popr
jmp __55
jmp __147
__146:
pushl -5
call _push
drop 1
pushr
popr
jmp __55
__147:
jmp __145
__144:
pushl -6
pushc 43
lt
brf __148
pushl -5
pushl -4
call _assoc
drop 2
pushr
popr
jmp __55
jmp __149
__148:
pushl -5
pushl -4
call _get
drop 2
pushr
popr
jmp __55
__149:
__145:
jmp __143
__142:
pushl -6
pushc 46
lt
brf __150
pushl -6
pushc 45
lt
brf __152
pushl -5
pushl -4
pushl -3
call _put
drop 3
pushr
popr
jmp __55
jmp __153
__152:
pushl -5
pushl -4
call _remprop
drop 2
pushr
popr
jmp __55
__153:
jmp __151
__150:
pushl -6
pushc 47
lt
brf __154
pushl -5
pushl -4
call _flagp
drop 2
pushr
popr
jmp __55
jmp __155
__154:
pushl -5
pushl -4
call _flag
drop 2
pushr
popr
jmp __55
__155:
__151:
__143:
__127:
jmp __125
__124:
pushl -6
pushc 56
lt
brf __156
pushl -6
pushc 52
lt
brf __158
pushl -6
pushc 50
lt
brf __160
pushl -6
pushc 49
lt
brf __162
pushl -5
pushl -4
call _remflag
drop 2
pushr
popr
jmp __55
jmp __163
__162:
pushl -5
call _getd
drop 1
pushr
popr
jmp __55
__163:
jmp __161
__160:
pushl -6
pushc 51
lt
brf __164
pushl -5
pushl -4
call _putd
drop 2
pushr
popr
jmp __55
jmp __165
__164:
pushl -5
pushl -4
call _movd
drop 2
pushr
popr
jmp __55
__165:
__161:
jmp __159
__158:
pushl -6
pushc 54
lt
brf __166
pushl -6
pushc 53
lt
brf __168
pushl -5
call _pack
drop 1
pushr
popr
jmp __55
jmp __169
__168:
pushl -5
call _unpack
drop 1
pushr
popr
jmp __55
__169:
jmp __167
__166:
pushl -6
pushc 55
lt
brf __170
pushl -5
call _length
drop 1
pushr
popr
jmp __55
jmp __171
__170:
pushl -5
call _minus
drop 1
pushr
popr
jmp __55
__171:
__167:
__159:
jmp __157
__156:
pushl -6
pushc 60
lt
brf __172
pushl -6
pushc 58
lt
brf __174
pushl -6
pushc 57
lt
brf __176
pushl -5
pushl -4
call _plus
drop 2
pushr
popr
jmp __55
jmp __177
__176:
pushl -5
pushl -4
call _difference
drop 2
pushr
popr
jmp __55
__177:
jmp __175
__174:
pushl -6
pushc 59
lt
brf __178
pushl -5
pushl -4
call _times
drop 2
pushr
popr
jmp __55
jmp __179
__178:
pushl -5
pushl -4
call _quotient
drop 2
pushr
popr
jmp __55
__179:
__175:
jmp __173
__172:
pushl -6
pushc 62
lt
brf __180
pushl -6
pushc 61
lt
brf __182
pushl -5
pushl -4
call _remainder
drop 2
pushr
popr
jmp __55
jmp __183
__182:
pushl -5
pushl -4
call _divide
drop 2
pushr
popr
jmp __55
__183:
jmp __181
__180:
pushl -6
pushc 63
lt
brf __184
pushl -5
pushl -4
pushl -3
call _rds
drop 3
pushr
popr
jmp __55
jmp __185
__184:
call _ratom
pushr
popr
jmp __55
__185:
__181:
__173:
__157:
__125:
__61:
jmp __59
__58:
pushl -6
pushc 96
lt
brf __186
pushl -6
pushc 80
lt
brf __188
pushl -6
pushc 72
lt
brf __190
pushl -6
pushc 68
lt
brf __192
pushl -6
pushc 66
lt
brf __194
pushl -6
pushc 65
lt
brf __196
call _read
pushr
popr
jmp __55
jmp __197
__196:
call _readch
pushr
popr
jmp __55
__197:
jmp __195
__194:
pushl -6
pushc 67
lt
brf __198
pushl -5
pushl -4
pushl -3
call _wrs
drop 3
pushr
popr
jmp __55
jmp __199
__198:
pushl -5
call _print
drop 1
pushr
popr
jmp __55
__199:
__195:
jmp __193
__192:
pushl -6
pushc 70
lt
brf __200
pushl -6
pushc 69
lt
brf __202
pushl -5
call _prin1
drop 1
pushr
popr
jmp __55
jmp __203
__202:
pushl -5
call _terpri
drop 1
pushr
popr
jmp __55
__203:
jmp __201
__200:
pushl -6
pushc 71
lt
brf __204
pushl -5
call _spaces
drop 1
pushr
popr
jmp __55
jmp __205
__204:
pushl -5
call _linelength
drop 1
pushr
popr
jmp __55
__205:
__201:
__193:
jmp __191
__190:
pushl -6
pushc 76
lt
brf __206
pushl -6
pushc 74
lt
brf __208
pushl -6
pushc 73
lt
brf __210
pushl -5
call _radix
drop 1
pushr
popr
jmp __55
jmp __211
__210:
pushl -5
call _quote
drop 1
pushr
popr
jmp __55
__211:
jmp __209
__208:
pushl -6
pushc 75
lt
brf __212
pushl -5
call _eval
drop 1
pushr
popr
jmp __55
jmp __213
__212:
pushl -5
pushl -4
call _apply
drop 2
pushr
popr
jmp __55
__213:
__209:
jmp __207
__206:
pushl -6
pushc 78
lt
brf __214
pushl -6
pushc 77
lt
brf __216
pushl -5
call _cond
drop 1
pushr
popr
jmp __55
jmp __217
__216:
pushl -5
call _loop
drop 1
pushr
popr
jmp __55
__217:
jmp __215
__214:
pushl -6
pushc 79
lt
brf __218
pushl -5
call _prog1
drop 1
pushr
popr
jmp __55
jmp __219
__218:
call _driver
pushr
popr
jmp __55
__219:
__215:
__207:
__191:
jmp __189
__188:
pushl -6
pushc 88
lt
brf __220
pushl -6
pushc 84
lt
brf __222
pushl -6
pushc 82
lt
brf __224
pushl -6
pushc 81
lt
brf __226
call _reclaim
pushr
popr
jmp __55
jmp __227
__226:
pushl -5
pushl -4
call _save
drop 2
pushr
popr
jmp __55
__227:
jmp __225
__224:
pushl -6
pushc 83
lt
brf __228
pushl -5
pushl -4
call _load
drop 2
pushr
popr
jmp __55
jmp __229
__228:
call _system
pushr
popr
jmp __55
__229:
__225:
jmp __223
__222:
pushl -6
pushc 86
lt
brf __230
pushl -6
pushc 85
lt
brf __232
pushl -5
pushl -4
call _xchgpname
drop 2
pushr
popr
jmp __55
jmp __233
__232:
pushl -5
call _purgename
drop 1
pushr
popr
jmp __55
__233:
jmp __231
__230:
pushl -6
pushc 87
lt
brf __234
pushc 86
call _execErr
drop 1
pushr
popr
jmp __55
jmp __235
__234:
pushc 87
call _execErr
drop 1
pushr
popr
jmp __55
__235:
__231:
__223:
jmp __221
__220:
pushl -6
pushc 92
lt
brf __236
pushl -6
pushc 90
lt
brf __238
pushl -6
pushc 89
lt
brf __240
pushc 88
call _execErr
drop 1
pushr
popr
jmp __55
jmp __241
__240:
pushc 89
call _execErr
drop 1
pushr
popr
jmp __55
__241:
jmp __239
__238:
pushl -6
pushc 91
lt
brf __242
pushc 90
call _execErr
drop 1
pushr
popr
jmp __55
jmp __243
__242:
pushc 91
call _execErr
drop 1
pushr
popr
jmp __55
__243:
__239:
jmp __237
__236:
pushl -6
pushc 94
lt
brf __244
pushl -6
pushc 93
lt
brf __246
pushc 92
call _execErr
drop 1
pushr
popr
jmp __55
jmp __247
__246:
pushc 93
call _execErr
drop 1
pushr
popr
jmp __55
__247:
jmp __245
__244:
pushl -6
pushc 95
lt
brf __248
pushc 94
call _execErr
drop 1
pushr
popr
jmp __55
jmp __249
__248:
pushc 95
call _execErr
drop 1
pushr
popr
jmp __55
__249:
__245:
__237:
__221:
__189:
jmp __187
__186:
pushl -6
call _execErr
drop 1
__187:
__59:
__55:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } car(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_car:
asf 0
pushl -3
getf 1
popr
jmp __250
__250:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cdr(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cdr:
asf 0
pushl -3
getf 2
popr
jmp __251
__251:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } caar(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_caar:
asf 0
pushl -3
getf 1
getf 1
popr
jmp __252
__252:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cadr(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cadr:
asf 0
pushl -3
getf 2
getf 1
popr
jmp __253
__253:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cdar(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cdar:
asf 0
pushl -3
getf 1
getf 2
popr
jmp __254
__254:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cddr(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cddr:
asf 0
pushl -3
getf 2
getf 2
popr
jmp __255
__255:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } caaar(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_caaar:
asf 0
pushl -3
getf 1
getf 1
getf 1
popr
jmp __256
__256:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } caadr(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_caadr:
asf 0
pushl -3
getf 2
getf 1
getf 1
popr
jmp __257
__257:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cadar(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cadar:
asf 0
pushl -3
getf 1
getf 2
getf 1
popr
jmp __258
__258:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } caddr(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_caddr:
asf 0
pushl -3
getf 2
getf 2
getf 1
popr
jmp __259
__259:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cdaar(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cdaar:
asf 0
pushl -3
getf 1
getf 1
getf 2
popr
jmp __260
__260:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cdadr(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cdadr:
asf 0
pushl -3
getf 2
getf 1
getf 2
popr
jmp __261
__261:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cddar(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cddar:
asf 0
pushl -3
getf 1
getf 2
getf 2
popr
jmp __262
__262:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cdddr(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cdddr:
asf 0
pushl -3
getf 2
getf 2
getf 2
popr
jmp __263
__263:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cons(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cons:
asf 0
pushl -4
pushl -3
call _makeNode
drop 2
pushr
popr
jmp __264
__264:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } list(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_list:
asf 2
pushg 10
pushg 10
call _makeNode
drop 2
pushr
popl 0
pushl 0
pushl 0
putf 1
jmp __267
__266:
pushl -3
getf 1
call _eval
drop 1
pushr
popl 1
pushl 0
getf 1
pushl 1
pushg 10
call _makeNode
drop 2
pushr
putf 2
pushl 0
pushl 0
getf 1
getf 2
putf 1
pushl -3
getf 2
popl -3
__267:
pushl -3
getf 0
pushg 2
eq
brt __266
__268:
pushl 0
getf 1
pushl -3
putf 2
pushl 0
getf 2
popr
jmp __265
__265:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } reverse(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_reverse:
asf 1
pushl -3
popl 0
jmp __271
__270:
pushl -4
getf 1
pushl 0
call _makeNode
drop 2
pushr
popl 0
pushl -4
getf 2
popl -4
__271:
pushl -4
getf 0
pushg 2
eq
brt __270
__272:
pushl 0
popr
jmp __269
__269:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } oblist()
//
_oblist:
asf 0
pushg 8
call _copyTree
drop 1
pushr
popr
jmp __273
__273:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } rplaca(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_rplaca:
asf 0
pushl -4
pushl -3
putf 1
pushl -4
popr
jmp __274
__274:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } rplacd(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_rplacd:
asf 0
pushl -4
pushl -3
putf 2
pushl -4
popr
jmp __275
__275:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } nconc(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_nconc:
asf 1
pushl -4
getf 0
pushg 2
ne
brf __277
pushl -3
popr
jmp __276
__277:
pushl -4
popl 0
jmp __279
__278:
pushl 0
getf 2
popl 0
__279:
pushl 0
getf 2
getf 0
pushg 2
eq
brt __278
__280:
pushl 0
pushl -3
putf 2
pushl -4
popr
jmp __276
__276:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } name(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_name:
asf 0
pushl -3
getf 0
pushg 0
eq
brf __282
pushg 11
popr
jmp __281
__282:
pushg 10
popr
jmp __281
__281:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } numberp(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_numberp:
asf 0
pushl -3
getf 0
pushg 1
eq
brf __284
pushg 11
popr
jmp __283
__284:
pushg 10
popr
jmp __283
__283:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } atom(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_atom:
asf 0
pushl -3
getf 0
pushg 2
ne
brf __286
pushg 11
popr
jmp __285
__286:
pushg 10
popr
jmp __285
__285:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } null(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_null:
asf 0
pushl -3
pushg 10
refeq
brf __288
pushg 11
popr
jmp __287
__288:
pushg 10
popr
jmp __287
__287:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } plusp(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_plusp:
asf 0
pushl -3
getf 0
pushg 1
eq
dup
brf __291
drop 1
pushl -3
getf 5
pushc 0
gt
__291:
brf __290
pushg 11
popr
jmp __289
__290:
pushg 10
popr
jmp __289
__289:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } minusp(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_minusp:
asf 0
pushl -3
getf 0
pushg 1
eq
dup
brf __294
drop 1
pushl -3
getf 5
pushc 0
lt
__294:
brf __293
pushg 11
popr
jmp __292
__293:
pushg 10
popr
jmp __292
__292:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } zerop(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_zerop:
asf 0
pushl -3
getf 0
pushg 1
eq
dup
brf __297
drop 1
pushl -3
getf 5
pushc 0
eq
__297:
brf __296
pushg 11
popr
jmp __295
__296:
pushg 10
popr
jmp __295
__295:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } even(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_even:
asf 0
pushl -3
getf 0
pushg 1
eq
dup
brf __300
drop 1
pushl -3
getf 5
pushc 2
mod
pushc 0
eq
__300:
brf __299
pushg 11
popr
jmp __298
__299:
pushg 10
popr
jmp __298
__298:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } eq(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_eq:
asf 0
pushl -4
pushl -3
refeq
brf __302
pushg 11
popr
jmp __301
__302:
pushl -4
getf 0
pushg 1
eq
dup
brf __305
drop 1
pushl -3
getf 0
pushg 1
eq
__305:
dup
brf __304
drop 1
pushl -4
getf 5
pushl -3
getf 5
eq
__304:
brf __303
pushg 11
popr
jmp __301
__303:
pushg 10
popr
jmp __301
__301:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } equal(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_equal:
asf 0
jmp __308
__307:
pushl -4
getf 1
pushl -3
getf 1
call _equal
drop 2
pushr
pushg 10
refeq
brf __310
pushg 10
popr
jmp __306
__310:
pushl -4
getf 2
popl -4
pushl -3
getf 2
popl -3
__308:
pushl -4
getf 0
pushg 2
eq
dup
brf __311
drop 1
pushl -3
getf 0
pushg 2
eq
__311:
brt __307
__309:
pushl -4
pushl -3
call _eq
drop 2
pushr
popr
jmp __306
__306:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } member(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_member:
asf 0
jmp __314
__313:
pushl -4
pushl -3
getf 1
call _equal
drop 2
pushr
pushg 11
refeq
brf __316
pushg 11
popr
jmp __312
__316:
pushl -3
getf 2
popl -3
__314:
pushl -3
getf 0
pushg 2
eq
brt __313
__315:
pushl -3
popr
jmp __312
__312:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } greaterp(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_greaterp:
asf 0
pushl -4
getf 0
pushg 1
eq
dup
brf __320
drop 1
pushl -3
getf 0
pushg 1
eq
__320:
dup
brf __319
drop 1
pushl -4
getf 5
pushl -3
getf 5
gt
__319:
brf __318
pushg 11
popr
jmp __317
__318:
pushg 10
popr
jmp __317
__317:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } lessp(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_lessp:
asf 0
pushl -4
getf 0
pushg 1
eq
dup
brf __324
drop 1
pushl -3
getf 0
pushg 1
eq
__324:
dup
brf __323
drop 1
pushl -4
getf 5
pushl -3
getf 5
lt
__323:
brf __322
pushg 11
popr
jmp __321
__322:
pushg 10
popr
jmp __321
__321:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } orderp(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_orderp:
asf 1
pushl -4
getf 0
pushg 2
eq
brf __326
pushg 10
popr
jmp __325
__326:
pushl -3
getf 0
pushg 2
eq
brf __327
pushg 11
popr
jmp __325
__327:
pushl -4
getf 0
pushg 1
eq
dup
brf __329
drop 1
pushl -3
getf 0
pushg 1
eq
__329:
brf __328
pushl -4
getf 5
pushl -3
getf 5
lt
brf __330
pushg 11
popr
jmp __325
__330:
pushg 10
popr
jmp __325
__328:
pushl -4
getf 0
pushg 1
eq
brf __331
pushg 11
popr
jmp __325
__331:
pushl -3
getf 0
pushg 1
eq
brf __332
pushg 10
popr
jmp __325
__332:
pushg 8
popl 0
jmp __334
__333:
pushl 0
getf 1
pushl -4
refeq
brf __336
pushg 10
popr
jmp __325
__336:
pushl 0
getf 1
pushl -3
refeq
brf __337
pushg 11
popr
jmp __325
__337:
pushl 0
getf 2
popl 0
__334:
pushl 0
getf 0
pushg 2
eq
brt __333
__335:
pushg 10
popr
jmp __325
__325:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } not(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_not:
asf 0
pushl -3
pushg 10
refeq
brf __339
pushg 11
popr
jmp __338
__339:
pushg 10
popr
jmp __338
__338:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } and(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_and:
asf 0
jmp __342
__341:
pushl -3
getf 1
call _eval
drop 1
pushr
pushg 10
refeq
brf __344
pushg 10
popr
jmp __340
__344:
pushl -3
getf 2
popl -3
__342:
pushl -3
getf 0
pushg 2
eq
brt __341
__343:
pushg 11
popr
jmp __340
__340:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } or(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_or:
asf 0
jmp __347
__346:
pushl -3
getf 1
call _eval
drop 1
pushr
pushg 10
refne
brf __349
pushg 11
popr
jmp __345
__349:
pushl -3
getf 2
popl -3
__347:
pushl -3
getf 0
pushg 2
eq
brt __346
__348:
pushg 10
popr
jmp __345
__345:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } set(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_set:
asf 0
pushl -4
pushl -3
putf 1
pushl -3
popr
jmp __350
__350:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } setq(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_setq:
asf 1
pushl -3
getf 2
getf 1
call _eval
drop 1
pushr
popl 0
pushl -3
getf 1
pushl 0
putf 1
pushl 0
popr
jmp __351
__351:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } pop(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_pop:
asf 1
pushl -3
getf 1
call _eval
drop 1
pushr
popl 0
pushl -3
getf 1
pushl 0
getf 2
putf 1
pushl 0
getf 1
popr
jmp __352
__352:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } push(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_push:
asf 3
pushl -3
getf 1
call _eval
drop 1
pushr
popl 0
pushl -3
getf 2
getf 1
call _eval
drop 1
pushr
popl 1
pushl 0
pushl 1
call _makeNode
drop 2
pushr
popl 2
pushl -3
getf 2
getf 1
pushl 2
putf 1
pushl 2
popr
jmp __353
__353:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } assoc(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_assoc:
asf 0
jmp __356
__355:
pushl -3
getf 1
getf 0
pushg 2
eq
dup
brf __359
drop 1
pushl -3
getf 1
getf 1
pushl -4
call _equal
drop 2
pushr
pushg 11
refeq
__359:
brf __358
pushl -3
getf 1
popr
jmp __354
__358:
pushl -3
getf 2
popl -3
__356:
pushl -3
getf 0
pushg 2
eq
brt __355
__357:
pushl -3
popr
jmp __354
__354:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } get(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_get:
asf 1
pushl -3
pushl -4
getf 2
call _assoc
drop 2
pushr
popl 0
pushl 0
getf 0
pushg 2
ne
brf __361
pushg 10
popr
jmp __360
__361:
pushl 0
getf 2
popr
jmp __360
__360:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } put(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_put:
asf 1
pushl -4
pushl -5
getf 2
call _assoc
drop 2
pushr
popl 0
pushl 0
getf 0
pushg 2
ne
brf __363
pushl -4
pushl -3
call _makeNode
drop 2
pushr
popl 0
pushl -5
pushl 0
pushl -5
getf 2
call _makeNode
drop 2
pushr
putf 2
pushl -3
popr
jmp __362
__363:
pushl 0
pushl -3
putf 2
pushl -3
popr
jmp __362
__362:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } remprop(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_remprop:
asf 0
jmp __366
__365:
pushl -4
getf 2
getf 1
getf 1
pushl -3
call _equal
drop 2
pushr
pushg 11
refeq
brf __368
pushl -4
getf 2
getf 1
getf 2
popl -3
pushl -4
pushl -4
getf 2
getf 2
putf 2
pushl -3
popr
jmp __364
__368:
pushl -4
getf 2
popl -4
__366:
pushl -4
getf 2
getf 0
pushg 2
eq
brt __365
__367:
pushl -4
getf 2
popr
jmp __364
__364:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } flagp(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_flagp:
asf 0
pushl -3
pushl -4
getf 2
call _member
drop 2
pushr
popr
jmp __369
__369:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } flag(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_flag:
asf 0
pushl -3
pushl -4
getf 2
call _member
drop 2
pushr
pushg 11
refeq
brf __371
pushl -3
popr
jmp __370
__371:
pushl -4
pushl -3
pushl -4
getf 2
call _makeNode
drop 2
pushr
putf 2
pushl -3
popr
jmp __370
__370:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } remflag(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_remflag:
asf 0
jmp __374
__373:
pushl -3
pushl -4
getf 2
getf 1
call _equal
drop 2
pushr
pushg 11
refeq
brf __376
pushl -4
pushl -4
getf 2
getf 2
putf 2
pushl -3
popr
jmp __372
__376:
pushl -4
getf 2
popl -4
__374:
pushl -4
getf 2
getf 0
pushg 2
eq
brt __373
__375:
pushg 10
popr
jmp __372
__372:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } getd(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_getd:
asf 0
pushl -3
getf 0
pushg 0
ne
brf __378
pushg 10
popr
jmp __377
__378:
pushl -3
getf 3
call _copyTree
drop 1
pushr
popr
jmp __377
__377:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } putd(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_putd:
asf 0
pushl -4
getf 0
pushg 0
ne
brf __380
pushg 10
popr
jmp __379
__380:
pushl -4
pushl -3
call _copyTree
drop 1
pushr
putf 3
pushl -3
popr
jmp __379
__379:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } movd(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_movd:
asf 0
pushl -4
getf 0
pushg 0
ne
dup
brt __383
drop 1
pushl -3
getf 0
pushg 0
ne
__383:
brf __382
pushg 10
popr
jmp __381
__382:
pushl -3
pushl -4
getf 3
putf 3
pushl -3
getf 3
call _copyTree
drop 1
pushr
popr
jmp __381
__381:
rsf
ret
//
// void addNumberToStringBuffer(record { String str; Integer len; }, Integer)
//
_addNumberToStringBuffer:
asf 2
pushl -3
pushc 0
lt
brf __385
pushl -4
pushc 45
call _addCharToStringBuffer
drop 2
pushc 0
pushl -3
sub
popl -3
__385:
pushl -3
pushg 106
div
popl 0
pushl 0
pushc 0
ne
brf __386
pushl -4
pushl 0
call _addNumberToStringBuffer
drop 2
__386:
pushl -3
pushg 106
mod
popl 1
pushl 1
pushc 10
lt
brf __387
pushl -4
pushc 48
call _char2int
drop 1
pushr
pushl 1
add
call _int2char
drop 1
pushr
call _addCharToStringBuffer
drop 2
jmp __388
__387:
pushl 0
pushc 0
eq
brf __389
pushl -4
pushc 48
call _addCharToStringBuffer
drop 2
__389:
pushl -4
pushc 65
call _char2int
drop 1
pushr
pushl 1
pushc 10
sub
add
call _int2char
drop 1
pushr
call _addCharToStringBuffer
drop 2
__388:
__384:
rsf
ret
//
// Integer countName(Character[])
//
_countName:
asf 5
pushc 0
popl 0
pushl -3
getsz
popl 1
pushc 0
popl 2
pushc 0
popl 4
jmp __392
__391:
pushl -3
pushl 2
getfa
popl 3
pushg 86
getf 1
pushg 10
refeq
dup
brf __396
drop 1
pushl 3
call _isSpecial
drop 1
pushr
__396:
dup
brf __395
drop 1
pushc 1
pushl 4
sub
__395:
brf __394
pushc 1
popl 4
pushl 0
pushc 1
add
popl 0
__394:
pushl 0
pushc 1
add
popl 0
pushl 3
pushc 34
eq
dup
brf __398
drop 1
pushl 4
__398:
brf __397
pushl 0
pushc 1
add
popl 0
__397:
pushl 2
pushc 1
add
popl 2
__392:
pushl 2
pushl 1
lt
brt __391
__393:
pushl 4
brf __399
pushl 0
pushc 1
add
popl 0
__399:
pushl 0
popr
jmp __390
__390:
rsf
ret
//
// Integer countNumber(Integer)
//
_countNumber:
asf 3
pushc 0
popl 0
pushl -3
pushc 0
lt
brf __401
pushl 0
pushc 1
add
popl 0
pushc 0
pushl -3
sub
popl -3
__401:
pushl -3
pushg 106
div
popl 1
pushl 1
pushc 0
ne
brf __402
pushl 0
pushl 1
call _countNumber
drop 1
pushr
add
popl 0
__402:
pushl -3
pushg 106
mod
popl 2
pushl 1
pushc 0
eq
dup
brf __404
drop 1
pushl 2
pushc 10
ge
__404:
brf __403
pushl 0
pushc 1
add
popl 0
__403:
pushl 0
pushc 1
add
popl 0
pushl 0
popr
jmp __400
__400:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } pack(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_pack:
asf 2
pushc 20
call _newStringBuffer
drop 1
pushr
popl 0
jmp __407
__406:
pushl -3
getf 1
getf 0
pushg 0
eq
brf __409
pushl 0
pushl -3
getf 1
getf 4
call _addStringToStringBuffer
drop 2
jmp __410
__409:
pushl -3
getf 1
getf 0
pushg 1
eq
brf __411
pushl 0
pushl -3
getf 1
getf 5
call _addNumberToStringBuffer
drop 2
__411:
__410:
pushl -3
getf 2
popl -3
__407:
pushl -3
getf 0
pushg 2
eq
brt __406
__408:
pushl 0
call _stringBufferToString
drop 1
pushr
popl 1
pushl 1
call _searchOblist
drop 1
pushr
popr
jmp __405
__405:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } unpack(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_unpack:
asf 5
pushc 20
call _newStringBuffer
drop 1
pushr
popl 0
pushl -3
getf 0
pushg 0
eq
brf __413
pushl 0
pushl -3
getf 4
call _addStringToStringBuffer
drop 2
jmp __414
__413:
pushl -3
getf 0
pushg 1
eq
brf __415
pushl 0
pushl -3
getf 5
call _addNumberToStringBuffer
drop 2
jmp __416
__415:
pushg 10
popr
jmp __412
__416:
__414:
pushl 0
call _stringBufferToString
drop 1
pushr
popl 1
pushg 10
pushg 10
call _makeNode
drop 2
pushr
popl 3
pushl 3
pushl 3
putf 1
pushc 0
popl 2
jmp __418
__417:
pushl 1
pushl 2
getfa
call _toString
drop 1
pushr
call _searchOblist
drop 1
pushr
popl 4
pushl 3
getf 1
pushl 4
pushg 10
call _makeNode
drop 2
pushr
putf 2
pushl 3
pushl 3
getf 1
getf 2
putf 1
pushl 2
pushc 1
add
popl 2
__418:
pushl 2
pushl 1
getsz
lt
brt __417
__419:
pushl 3
getf 2
popr
jmp __412
__412:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } length(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_length:
asf 1
pushl -3
getf 0
pushg 0
eq
brf __421
pushl -3
getf 4
call _countName
drop 1
pushr
call _makeNumber
drop 1
pushr
popr
jmp __420
__421:
pushl -3
getf 0
pushg 1
eq
brf __422
pushl -3
getf 5
call _countNumber
drop 1
pushr
call _makeNumber
drop 1
pushr
popr
jmp __420
__422:
pushc 0
popl 0
jmp __424
__423:
pushl 0
pushc 1
add
popl 0
pushl -3
getf 2
popl -3
__424:
pushl -3
getf 0
pushg 2
eq
brt __423
__425:
pushl 0
call _makeNumber
drop 1
pushr
popr
jmp __420
__420:
rsf
ret
//
// void zeroDivideError()
//
_zeroDivideError:
asf 0
pushc 17
newa
dup
pushc 0
pushc 90
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 82
putfa
dup
pushc 3
pushc 79
putfa
dup
pushc 4
pushc 32
putfa
dup
pushc 5
pushc 68
putfa
dup
pushc 6
pushc 105
putfa
dup
pushc 7
pushc 118
putfa
dup
pushc 8
pushc 105
putfa
dup
pushc 9
pushc 100
putfa
dup
pushc 10
pushc 101
putfa
dup
pushc 11
pushc 32
putfa
dup
pushc 12
pushc 69
putfa
dup
pushc 13
pushc 114
putfa
dup
pushc 14
pushc 114
putfa
dup
pushc 15
pushc 111
putfa
dup
pushc 16
pushc 114
putfa
pushc 0
call _error
drop 2
__426:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } minus(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_minus:
asf 0
pushl -3
getf 0
pushg 1
ne
brf __428
pushg 10
popr
jmp __427
__428:
pushc 0
pushl -3
getf 5
sub
call _makeNumber
drop 1
pushr
popr
jmp __427
__427:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } plus(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_plus:
asf 0
pushl -4
getf 0
pushg 1
ne
dup
brt __431
drop 1
pushl -3
getf 0
pushg 1
ne
__431:
brf __430
pushg 10
popr
jmp __429
__430:
pushl -4
getf 5
pushl -3
getf 5
add
call _makeNumber
drop 1
pushr
popr
jmp __429
__429:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } difference(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_difference:
asf 0
pushl -4
getf 0
pushg 1
ne
dup
brt __434
drop 1
pushl -3
getf 0
pushg 1
ne
__434:
brf __433
pushg 10
popr
jmp __432
__433:
pushl -4
getf 5
pushl -3
getf 5
sub
call _makeNumber
drop 1
pushr
popr
jmp __432
__432:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } times(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_times:
asf 0
pushl -4
getf 0
pushg 1
ne
dup
brt __437
drop 1
pushl -3
getf 0
pushg 1
ne
__437:
brf __436
pushg 10
popr
jmp __435
__436:
pushl -4
getf 5
pushl -3
getf 5
mul
call _makeNumber
drop 1
pushr
popr
jmp __435
__435:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } quotient(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_quotient:
asf 2
pushl -4
getf 0
pushg 1
ne
dup
brt __440
drop 1
pushl -3
getf 0
pushg 1
ne
__440:
brf __439
pushg 10
popr
jmp __438
__439:
pushl -3
getf 5
pushc 0
eq
brf __441
call _zeroDivideError
pushg 10
popr
jmp __438
__441:
pushl -4
getf 5
pushl -3
getf 5
div
popl 0
pushl -4
getf 5
pushl -3
getf 5
mod
popl 1
pushl 1
pushc 0
lt
brf __442
pushl 0
pushc 0
lt
brf __443
pushl 0
pushc 1
sub
popl 0
jmp __444
__443:
pushl 0
pushc 1
add
popl 0
__444:
__442:
pushl 0
call _makeNumber
drop 1
pushr
popr
jmp __438
__438:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } remainder(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_remainder:
asf 2
pushl -4
getf 0
pushg 1
ne
dup
brt __447
drop 1
pushl -3
getf 0
pushg 1
ne
__447:
brf __446
pushg 10
popr
jmp __445
__446:
pushl -3
getf 5
pushc 0
eq
brf __448
call _zeroDivideError
pushg 10
popr
jmp __445
__448:
pushl -4
getf 5
pushl -3
getf 5
div
popl 0
pushl -4
getf 5
pushl -3
getf 5
mod
popl 1
pushl 1
pushc 0
lt
brf __449
pushl 0
pushc 0
lt
brf __450
pushl 1
pushl -3
getf 5
add
popl 1
jmp __451
__450:
pushl 1
pushl -3
getf 5
sub
popl 1
__451:
__449:
pushl 1
call _makeNumber
drop 1
pushr
popr
jmp __445
__445:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } divide(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_divide:
asf 2
pushl -4
getf 0
pushg 1
ne
dup
brt __454
drop 1
pushl -3
getf 0
pushg 1
ne
__454:
brf __453
pushg 10
popr
jmp __452
__453:
pushl -3
getf 5
pushc 0
eq
brf __455
call _zeroDivideError
pushg 10
popr
jmp __452
__455:
pushl -4
getf 5
pushl -3
getf 5
div
popl 0
pushl -4
getf 5
pushl -3
getf 5
mod
popl 1
pushl 1
pushc 0
lt
brf __456
pushl 0
pushc 0
lt
brf __457
pushl 0
pushc 1
sub
popl 0
pushl 1
pushl -3
getf 5
add
popl 1
jmp __458
__457:
pushl 0
pushc 1
add
popl 0
pushl 1
pushl -3
getf 5
sub
popl 1
__458:
__456:
pushl 0
call _makeNumber
drop 1
pushr
pushl 1
call _makeNumber
drop 1
pushr
call _makeNode
drop 2
pushr
popr
jmp __452
__452:
rsf
ret
//
// void unread(Character)
//
_unread:
asf 0
pushc 1
popg 108
pushl -3
popg 109
__459:
rsf
ret
//
// Character readChar()
//
_readChar:
asf 1
pushg 108
brf __461
pushc 0
popg 108
pushg 109
popr
jmp __460
__461:
pushg 79
getf 1
pushg 10
refeq
brf __462
pushg 82
getf 1
pushg 10
refeq
brf __464
call _readCharacter
pushr
popl 0
jmp __465
__464:
call _readCharacter
pushr
popl 0
__465:
jmp __463
__462:
pushc 32
popl 0
pushg 83
getf 1
pushg 10
refne
brf __466
pushl 0
call _printChar
drop 1
__466:
__463:
pushg 81
getf 1
pushg 10
refeq
brf __467
pushl 0
call _toUpper
drop 1
pushr
popl 0
__467:
pushl 0
popr
jmp __460
__460:
rsf
ret
//
// Character[] readToken(Boolean[], Boolean[])
//
_readToken:
asf 3
pushc 0
popl 0
call _readChar
pushr
popl 1
jmp __470
__469:
pushl 1
pushc 37
eq
brf __472
jmp __474
__473:
__474:
call _readChar
pushr
pushc 37
ne
brt __473
__475:
__472:
call _readChar
pushr
popl 1
__470:
pushl 1
pushc 37
eq
dup
brt __476
drop 1
pushl -4
pushl 1
call _char2int
drop 1
pushr
getfa
__476:
brt __469
__471:
pushl -3
pushl 1
call _char2int
drop 1
pushr
getfa
brf __477
pushc 1
popg 107
pushl 1
call _toString
drop 1
pushr
popr
jmp __468
__477:
pushc 20
call _newStringBuffer
drop 1
pushr
popl 2
jmp __479
__478:
pushl 0
brf __481
pushl 1
pushc 34
eq
brf __483
call _readChar
pushr
popl 1
pushl 1
pushc 34
eq
brf __485
pushl 2
pushl 1
call _addCharToStringBuffer
drop 2
call _readChar
pushr
popl 1
jmp __486
__485:
pushc 0
popl 0
__486:
jmp __484
__483:
pushl 2
pushl 1
call _addCharToStringBuffer
drop 2
call _readChar
pushr
popl 1
__484:
jmp __482
__481:
pushl 1
pushc 34
eq
brf __487
pushc 1
popl 0
call _readChar
pushr
popl 1
jmp __488
__487:
pushl 1
pushc 37
eq
brf __489
jmp __492
__491:
__492:
call _readChar
pushr
pushc 37
ne
brt __491
__493:
call _readChar
pushr
popl 1
jmp __490
__489:
pushl -4
pushl 1
call _char2int
drop 1
pushr
getfa
dup
brt __496
drop 1
pushl -3
pushl 1
call _char2int
drop 1
pushr
getfa
__496:
brf __494
pushl 1
call _unread
drop 1
pushc 0
popg 107
pushl 2
call _stringBufferToString
drop 1
pushr
popr
jmp __468
jmp __495
__494:
pushl 2
pushl 1
call _addCharToStringBuffer
drop 2
call _readChar
pushr
popl 1
__495:
__490:
__488:
__482:
__479:
pushc 1
brt __478
__480:
__468:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } tokenToAtom(Character[])
//
_tokenToAtom:
asf 7
pushc 1
popl 0
pushc 0
popl 1
pushc 0
popl 2
pushc 0
popl 3
pushl 3
pushl -3
getsz
lt
dup
brf __499
drop 1
pushl -3
pushl 3
getfa
pushc 45
eq
__499:
brf __498
pushc 1
popl 1
pushl 3
pushc 1
add
popl 3
__498:
pushl 3
pushl -3
getsz
lt
dup
brf __502
drop 1
pushl -3
pushl 3
getfa
call _isDigit
drop 1
pushr
__502:
brf __500
jmp __504
__503:
pushl -3
pushl 3
getfa
popl 4
pushl 3
pushc 1
add
popl 3
pushl 4
call _isDigit
drop 1
pushr
brf __506
pushl 4
call _char2int
drop 1
pushr
pushc 48
call _char2int
drop 1
pushr
sub
popl 5
pushl 5
pushg 106
lt
brf __508
pushl 2
pushg 106
mul
pushl 5
add
popl 2
jmp __509
__508:
pushc 0
popl 0
jmp __505
__509:
jmp __507
__506:
pushl 4
call _isAlpha
drop 1
pushr
brf __510
pushl 4
call _toUpper
drop 1
pushr
popl 4
pushl 4
call _char2int
drop 1
pushr
pushc 65
call _char2int
drop 1
pushr
sub
popl 5
pushl 5
pushg 106
lt
brf __512
pushl 2
pushg 106
mul
pushl 5
add
popl 2
jmp __513
__512:
pushc 0
popl 0
jmp __505
__513:
jmp __511
__510:
pushc 0
popl 0
jmp __505
__511:
__507:
__504:
pushl 3
pushl -3
getsz
lt
brt __503
__505:
jmp __501
__500:
pushc 0
popl 0
__501:
pushl 0
brf __514
pushl 1
brf __516
pushc 0
pushl 2
sub
popl 2
__516:
pushl 2
call _makeNumber
drop 1
pushr
popl 6
jmp __515
__514:
pushl -3
call _searchOblist
drop 1
pushr
popl 6
__515:
pushg 80
pushl 6
putf 1
pushl 6
popr
jmp __497
__497:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } read0(Character[])
//
_read0:
asf 1
jmp __519
__518:
pushc 1
pushg 107
sub
brf __521
pushl -3
call _tokenToAtom
drop 1
pushr
popr
jmp __517
__521:
pushl -3
pushc 0
getfa
popl 0
pushl 0
pushc 40
eq
brf __522
pushg 5
pushg 6
call _readToken
drop 2
pushr
popl -3
pushl -3
call _readList
drop 1
pushr
popr
jmp __517
jmp __523
__522:
pushl 0
pushc 91
eq
brf __524
pushg 5
pushg 6
call _readToken
drop 2
pushr
popl -3
pushl -3
call _readBracket
drop 1
pushr
popr
jmp __517
jmp __525
__524:
pushl 0
pushc 41
eq
dup
brt __529
drop 1
pushl 0
pushc 93
eq
__529:
dup
brt __528
drop 1
pushl 0
pushc 46
eq
__528:
brf __526
pushg 5
pushg 6
call _readToken
drop 2
pushr
popl -3
jmp __527
__526:
pushc 20
newa
dup
pushc 0
pushc 105
putfa
dup
pushc 1
pushc 110
putfa
dup
pushc 2
pushc 116
putfa
dup
pushc 3
pushc 101
putfa
dup
pushc 4
pushc 114
putfa
dup
pushc 5
pushc 110
putfa
dup
pushc 6
pushc 97
putfa
dup
pushc 7
pushc 108
putfa
dup
pushc 8
pushc 32
putfa
dup
pushc 9
pushc 114
putfa
dup
pushc 10
pushc 101
putfa
dup
pushc 11
pushc 97
putfa
dup
pushc 12
pushc 100
putfa
dup
pushc 13
pushc 48
putfa
dup
pushc 14
pushc 32
putfa
dup
pushc 15
pushc 101
putfa
dup
pushc 16
pushc 114
putfa
dup
pushc 17
pushc 114
putfa
dup
pushc 18
pushc 111
putfa
dup
pushc 19
pushc 114
putfa
pushc 1
call _error
drop 2
__527:
__525:
__523:
__519:
pushc 1
brt __518
__520:
__517:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } readList(Character[])
//
_readList:
asf 2
pushg 10
pushg 10
call _makeNode
drop 2
pushr
popl 0
pushl 0
pushl 0
putf 1
jmp __532
__531:
pushg 107
dup
brf __536
drop 1
pushl -3
pushc 0
getfa
pushc 41
eq
__536:
brf __534
pushl 0
getf 2
popr
jmp __530
jmp __535
__534:
pushg 107
dup
brf __539
drop 1
pushl -3
pushc 0
getfa
pushc 93
eq
__539:
brf __537
pushc 93
call _unread
drop 1
pushl 0
getf 2
popr
jmp __530
jmp __538
__537:
pushg 107
dup
brf __542
drop 1
pushl -3
pushc 0
getfa
pushc 46
eq
__542:
brf __540
pushg 5
pushg 6
call _readToken
drop 2
pushr
popl -3
pushl -3
call _read0
drop 1
pushr
popl 1
pushg 5
pushg 6
call _readToken
drop 2
pushr
popl -3
pushg 107
dup
brf __545
drop 1
pushl -3
pushc 0
getfa
pushc 41
eq
__545:
brf __543
pushl 0
getf 1
pushl 1
putf 2
pushl 0
getf 2
popr
jmp __530
jmp __544
__543:
pushg 107
dup
brf __548
drop 1
pushl -3
pushc 0
getfa
pushc 93
eq
__548:
brf __546
pushc 93
call _unread
drop 1
pushl 0
getf 1
pushl 1
putf 2
pushl 0
getf 2
popr
jmp __530
jmp __547
__546:
pushl 0
getf 1
pushl 1
pushg 10
call _makeNode
drop 2
pushr
putf 2
pushl 0
pushl 0
getf 1
getf 2
putf 1
__547:
__544:
jmp __541
__540:
pushl -3
call _read0
drop 1
pushr
popl 1
pushl 0
getf 1
pushl 1
pushg 10
call _makeNode
drop 2
pushr
putf 2
pushl 0
pushl 0
getf 1
getf 2
putf 1
pushg 5
pushg 6
call _readToken
drop 2
pushr
popl -3
__541:
__538:
__535:
__532:
pushc 1
brt __531
__533:
__530:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } readBracket(Character[])
//
_readBracket:
asf 2
pushl -3
call _readList
drop 1
pushr
popl 0
jmp __551
__550:
pushg 5
pushg 6
call _readToken
drop 2
pushr
popl -3
pushg 107
dup
brf __555
drop 1
pushl -3
pushc 0
getfa
pushc 41
eq
__555:
brf __553
pushl 0
popr
jmp __549
jmp __554
__553:
pushg 107
dup
brf __558
drop 1
pushl -3
pushc 0
getfa
pushc 93
eq
__558:
brf __556
pushl 0
popr
jmp __549
jmp __557
__556:
pushl -3
call _readList
drop 1
pushr
popl 1
pushl 0
pushl 1
call _makeNode
drop 2
pushr
popl 0
__557:
__554:
__551:
pushc 1
brt __550
__552:
__549:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } rds(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_rds:
asf 0
pushg 10
popr
jmp __559
__559:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } ratom()
//
_ratom:
asf 1
pushg 3
pushg 4
call _readToken
drop 2
pushr
popl 0
pushl 0
call _tokenToAtom
drop 1
pushr
popr
jmp __560
__560:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } read()
//
_read:
asf 1
pushg 5
pushg 6
call _readToken
drop 2
pushr
popl 0
pushl 0
call _read0
drop 1
pushr
popr
jmp __561
__561:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } readch()
//
_readch:
asf 4
call _readChar
pushr
popl 0
pushl 0
call _isDigit
drop 1
pushr
brf __563
pushl 0
call _char2int
drop 1
pushr
pushc 48
call _char2int
drop 1
pushr
sub
popl 1
pushl 1
pushg 106
lt
brf __565
pushl 1
call _makeNumber
drop 1
pushr
popl 3
jmp __566
__565:
pushl 0
call _toString
drop 1
pushr
popl 2
pushl 2
call _searchOblist
drop 1
pushr
popl 3
__566:
jmp __564
__563:
pushl 0
call _toString
drop 1
pushr
popl 2
pushl 2
call _searchOblist
drop 1
pushr
popl 3
__564:
pushg 80
pushl 3
putf 1
pushl 3
popr
jmp __562
__562:
rsf
ret
//
// void putConsole(Character)
//
_putConsole:
asf 0
pushl -3
call _writeCharacter
drop 1
__567:
rsf
ret
//
// void printChar(Character)
//
_printChar:
asf 1
pushg 85
getf 1
pushg 10
refeq
brf __569
pushl -3
call _toLower
drop 1
pushr
popl -3
__569:
pushg 84
getf 1
pushg 10
refeq
brf __570
pushl -3
call _putConsole
drop 1
jmp __571
__570:
pushg 83
getf 1
pushg 10
refne
brf __572
pushl -3
call _putConsole
drop 1
__572:
__571:
pushl -3
call _char2int
drop 1
pushr
popl 0
pushl 0
pushc 8
eq
brf __573
pushg 104
pushc 1
sub
popg 104
jmp __574
__573:
pushl 0
pushc 9
eq
brf __575
pushg 104
pushc 8
add
pushc 8
div
pushc 8
mul
popg 104
jmp __576
__575:
pushl 0
pushc 10
eq
brf __577
pushc 0
popg 104
jmp __578
__577:
pushl 0
pushc 11
eq
brf __579
pushc 0
popg 104
jmp __580
__579:
pushl 0
pushc 12
eq
brf __581
pushc 0
popg 104
jmp __582
__581:
pushl 0
pushc 13
eq
brf __583
pushc 0
popg 104
jmp __584
__583:
pushg 104
pushc 1
add
popg 104
__584:
__582:
__580:
__578:
__576:
__574:
__568:
rsf
ret
//
// Boolean isSpecial(Character)
//
_isSpecial:
asf 1
pushl -3
call _char2int
drop 1
pushr
popl 0
pushg 7
pushl 0
getfa
dup
brt __587
drop 1
pushg 6
pushl 0
getfa
__587:
dup
brt __586
drop 1
pushg 5
pushl 0
getfa
__586:
popr
jmp __585
__585:
rsf
ret
//
// void printName(Character[])
//
_printName:
asf 4
pushl -3
getsz
popl 0
pushc 0
popl 1
pushc 0
popl 3
jmp __590
__589:
pushl -3
pushl 1
getfa
popl 2
pushg 86
getf 1
pushg 10
refeq
dup
brf __594
drop 1
pushl 2
call _isSpecial
drop 1
pushr
__594:
dup
brf __593
drop 1
pushc 1
pushl 3
sub
__593:
brf __592
pushc 1
popl 3
pushc 34
call _printChar
drop 1
__592:
pushl 2
call _printChar
drop 1
pushl 2
pushc 34
eq
dup
brf __596
drop 1
pushl 3
__596:
brf __595
pushc 34
call _printChar
drop 1
__595:
pushl 1
pushc 1
add
popl 1
__590:
pushl 1
pushl 0
lt
brt __589
__591:
pushl 3
brf __597
pushc 34
call _printChar
drop 1
__597:
__588:
rsf
ret
//
// void printNumber(Integer)
//
_printNumber:
asf 2
pushl -3
pushc 0
lt
brf __599
pushc 45
call _printChar
drop 1
pushc 0
pushl -3
sub
popl -3
__599:
pushl -3
pushg 106
div
popl 0
pushl 0
pushc 0
ne
brf __600
pushl 0
call _printNumber
drop 1
__600:
pushl -3
pushg 106
mod
popl 1
pushl 1
pushc 10
lt
brf __601
pushc 48
call _char2int
drop 1
pushr
pushl 1
add
call _int2char
drop 1
pushr
call _printChar
drop 1
jmp __602
__601:
pushl 0
pushc 0
eq
brf __603
pushc 48
call _printChar
drop 1
__603:
pushc 65
call _char2int
drop 1
pushr
pushl 1
pushc 10
sub
add
call _int2char
drop 1
pushr
call _printChar
drop 1
__602:
__598:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } wrs(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_wrs:
asf 0
pushg 10
popr
jmp __604
__604:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } print(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_print:
asf 0
pushl -3
call _prin1
drop 1
pushc 10
call _printChar
drop 1
pushl -3
popr
jmp __605
__605:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } prin1(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_prin1:
asf 0
pushl -3
getf 0
pushg 0
eq
brf __607
pushl -3
getf 4
call _printName
drop 1
pushl -3
popr
jmp __606
__607:
pushl -3
getf 0
pushg 1
eq
brf __608
pushl -3
getf 5
call _printNumber
drop 1
pushl -3
popr
jmp __606
__608:
pushc 40
call _printChar
drop 1
pushl -3
getf 1
call _prin1
drop 1
pushl -3
getf 2
popl -3
jmp __610
__609:
pushc 32
call _printChar
drop 1
pushl -3
getf 1
call _prin1
drop 1
pushl -3
getf 2
popl -3
__610:
pushl -3
getf 0
pushg 2
eq
brt __609
__611:
pushl -3
pushg 10
refne
brf __612
pushc 32
call _printChar
drop 1
pushc 46
call _printChar
drop 1
pushc 32
call _printChar
drop 1
pushl -3
call _prin1
drop 1
__612:
pushc 41
call _printChar
drop 1
pushl -3
popr
jmp __606
__606:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } terpri(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_terpri:
asf 1
pushl -3
getf 0
pushg 1
eq
brf __614
pushl -3
getf 5
popl 0
pushl 0
pushc 0
lt
dup
brt __616
drop 1
pushl 0
pushc 255
gt
__616:
brf __615
pushc 10
call _printChar
drop 1
pushg 10
popr
jmp __613
__615:
jmp __618
__617:
pushc 10
call _printChar
drop 1
pushl 0
pushc 1
sub
popl 0
__618:
pushl 0
pushc 0
gt
brt __617
__619:
pushg 10
popr
jmp __613
__614:
pushc 10
call _printChar
drop 1
pushg 10
popr
jmp __613
__613:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } spaces(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_spaces:
asf 1
pushl -3
getf 0
pushg 1
eq
brf __621
pushl -3
getf 5
popl 0
pushl 0
pushc 0
lt
dup
brt __623
drop 1
pushl 0
pushc 255
gt
__623:
brf __622
pushg 104
call _makeNumber
drop 1
pushr
popr
jmp __620
__622:
jmp __625
__624:
pushc 32
call _printChar
drop 1
pushl 0
pushc 1
sub
popl 0
__625:
pushl 0
pushc 0
gt
brt __624
__626:
pushg 104
call _makeNumber
drop 1
pushr
popr
jmp __620
__621:
pushg 104
call _makeNumber
drop 1
pushr
popr
jmp __620
__620:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } linelength(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_linelength:
asf 2
pushl -3
getf 0
pushg 1
eq
brf __628
pushl -3
getf 5
popl 0
pushl 0
pushc 11
gt
dup
brf __630
drop 1
pushl 0
pushc 256
lt
__630:
brf __629
pushg 105
call _makeNumber
drop 1
pushr
popl 1
pushl 0
popg 105
pushl 1
popr
jmp __627
__629:
pushg 105
call _makeNumber
drop 1
pushr
popr
jmp __627
__628:
pushg 105
call _makeNumber
drop 1
pushr
popr
jmp __627
__627:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } radix(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_radix:
asf 2
pushl -3
getf 0
pushg 1
eq
brf __632
pushl -3
getf 5
popl 0
pushl 0
pushc 1
gt
dup
brf __634
drop 1
pushl 0
pushc 37
lt
__634:
brf __633
pushg 106
call _makeNumber
drop 1
pushr
popl 1
pushl 0
popg 106
pushl 1
popr
jmp __631
__633:
pushg 106
call _makeNumber
drop 1
pushr
popr
jmp __631
__632:
pushg 106
call _makeNumber
drop 1
pushr
popr
jmp __631
__631:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } evlis(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_evlis:
asf 2
pushg 10
pushg 10
call _makeNode
drop 2
pushr
popl 0
pushl 0
pushl 0
putf 1
jmp __637
__636:
pushl -3
getf 1
call _eval
drop 1
pushr
popl 1
pushl 0
getf 1
pushl 1
pushg 10
call _makeNode
drop 2
pushr
putf 2
pushl 0
pushl 0
getf 1
getf 2
putf 1
pushl -3
getf 2
popl -3
__637:
pushl -3
getf 0
pushg 2
eq
brt __636
__638:
pushl 0
getf 1
pushl -3
putf 2
pushl 0
getf 2
popr
jmp __635
__635:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } evalbody(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_evalbody:
asf 1
pushl -4
popl 0
jmp __641
__640:
pushl -3
getf 1
getf 0
pushg 2
ne
dup
brt __645
drop 1
pushl -3
getf 1
getf 1
getf 0
pushg 2
ne
__645:
brf __643
pushl -3
getf 1
call _eval
drop 1
pushr
popl 0
pushl -3
getf 2
popl -3
jmp __644
__643:
pushl -3
getf 1
getf 1
getf 1
getf 0
pushg 2
ne
brf __646
pushl -3
getf 1
getf 1
call _eval
drop 1
pushr
popl 0
pushl 0
pushg 10
refeq
brf __648
pushl -3
getf 2
popl -3
jmp __649
__648:
pushl -3
getf 1
getf 2
popl -3
__649:
jmp __647
__646:
pushl 0
pushl -3
getf 1
call _evalbody
drop 2
pushr
popl 0
pushl -3
getf 2
popl -3
__647:
__644:
__641:
pushl -3
getf 0
pushg 2
eq
brt __640
__642:
pushl 0
popr
jmp __639
__639:
rsf
ret
//
// void bind(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_bind:
asf 0
pushl -4
getf 0
pushg 2
ne
brf __651
pushl -4
pushg 10
refne
brf __652
pushl -4
getf 1
pushg 9
call _makeNode
drop 2
pushr
popg 9
pushl -4
pushl -3
putf 1
__652:
jmp __650
__651:
jmp __654
__653:
pushl -4
getf 1
getf 1
pushg 9
call _makeNode
drop 2
pushr
popg 9
pushl -4
getf 1
pushl -3
getf 1
putf 1
pushl -4
getf 2
popl -4
pushl -3
getf 2
popl -3
__654:
pushl -4
getf 0
pushg 2
eq
dup
brf __656
drop 1
pushl -3
getf 0
pushg 2
eq
__656:
brt __653
__655:
jmp __658
__657:
pushl -4
getf 1
getf 1
pushg 9
call _makeNode
drop 2
pushr
popg 9
pushl -4
getf 1
pushg 10
putf 1
pushl -4
getf 2
popl -4
__658:
pushl -4
getf 0
pushg 2
eq
brt __657
__659:
__650:
rsf
ret
//
// void unbind(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_unbind:
asf 1
pushl -3
getf 0
pushg 2
ne
brf __661
pushl -3
pushg 10
refne
brf __662
pushl -3
pushg 9
getf 1
putf 1
pushg 9
getf 2
popg 9
__662:
jmp __660
__661:
pushg 10
popl 0
jmp __664
__663:
pushl -3
getf 1
pushl 0
call _makeNode
drop 2
pushr
popl 0
pushl -3
getf 2
popl -3
__664:
pushl -3
getf 0
pushg 2
eq
brt __663
__665:
jmp __667
__666:
pushl 0
getf 1
pushg 9
getf 1
putf 1
pushg 9
getf 2
popg 9
pushl 0
getf 2
popl 0
__667:
pushl 0
getf 0
pushg 2
eq
brt __666
__668:
__660:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } quote(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_quote:
asf 0
pushl -3
getf 1
popr
jmp __669
__669:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } eval(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_eval:
asf 1
pushl -3
getf 0
pushg 2
ne
brf __671
pushl -3
getf 1
popr
jmp __670
__671:
pushl -3
getf 1
getf 0
pushg 0
eq
brf __672
pushl -3
getf 1
getf 3
pushg 10
refeq
brf __673
pushl -3
getf 1
pushl -3
getf 1
getf 1
refeq
brf __674
pushl -3
call _evlis
drop 1
pushr
popr
jmp __670
__674:
pushl -3
getf 1
getf 1
pushl -3
getf 2
call _makeNode
drop 2
pushr
popl 0
pushl 0
call _eval
drop 1
pushr
popr
jmp __670
__673:
pushl -3
getf 1
getf 3
getf 1
pushg 12
refeq
dup
brt __676
drop 1
pushl -3
getf 1
getf 3
getf 1
pushg 14
refeq
__676:
brf __675
pushl -3
getf 2
call _evlis
drop 1
pushr
popl 0
pushl -3
getf 1
pushl 0
call _apply
drop 2
pushr
popr
jmp __670
__675:
pushl -3
getf 1
getf 3
getf 1
pushg 13
refeq
dup
brt __678
drop 1
pushl -3
getf 1
getf 3
getf 1
pushg 15
refeq
__678:
brf __677
pushl -3
getf 1
pushl -3
getf 2
call _apply
drop 2
pushr
popr
jmp __670
__677:
pushl -3
call _evlis
drop 1
pushr
popr
jmp __670
__672:
pushl -3
getf 1
getf 1
pushg 14
refeq
brf __679
pushl -3
getf 2
call _evlis
drop 1
pushr
popl 0
pushl -3
getf 1
pushl 0
call _apply
drop 2
pushr
popr
jmp __670
__679:
pushl -3
getf 1
getf 1
pushg 15
refeq
brf __680
pushl -3
getf 1
pushl -3
getf 2
call _apply
drop 2
pushr
popr
jmp __670
__680:
pushl -3
call _evlis
drop 1
pushr
popr
jmp __670
__670:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } apply(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_apply:
asf 1
pushl -4
getf 0
pushg 0
eq
brf __682
pushl -4
getf 3
pushg 10
refeq
brf __683
pushl -4
pushl -4
getf 1
refeq
brf __684
pushg 10
popr
jmp __681
__684:
pushl -4
getf 1
pushl -3
call _apply
drop 2
pushr
popr
jmp __681
__683:
pushl -4
getf 3
getf 1
pushg 12
refeq
brf __685
pushl -3
getf 0
pushg 2
ne
brf __686
pushl -4
getf 3
getf 2
getf 5
pushg 10
pushg 10
pushg 10
call _exec
drop 4
pushr
popr
jmp __681
__686:
pushl -3
getf 2
getf 0
pushg 2
ne
brf __687
pushl -4
getf 3
getf 2
getf 5
pushl -3
getf 1
pushg 10
pushg 10
call _exec
drop 4
pushr
popr
jmp __681
__687:
pushl -3
getf 2
getf 2
getf 0
pushg 2
ne
brf __688
pushl -4
getf 3
getf 2
getf 5
pushl -3
getf 1
pushl -3
getf 2
getf 1
pushg 10
call _exec
drop 4
pushr
popr
jmp __681
__688:
pushl -4
getf 3
getf 2
getf 5
pushl -3
getf 1
pushl -3
getf 2
getf 1
pushl -3
getf 2
getf 2
getf 1
call _exec
drop 4
pushr
popr
jmp __681
__685:
pushl -4
getf 3
getf 1
pushg 13
refeq
brf __689
pushl -4
getf 3
getf 2
getf 5
pushl -3
pushg 10
pushg 10
call _exec
drop 4
pushr
popr
jmp __681
__689:
pushl -4
getf 3
getf 1
pushg 14
refeq
dup
brt __691
drop 1
pushl -4
getf 3
getf 1
pushg 15
refeq
__691:
brf __690
pushl -4
getf 3
getf 2
getf 1
pushl -3
call _bind
drop 2
pushg 10
pushl -4
getf 3
getf 2
getf 2
call _evalbody
drop 2
pushr
popl 0
pushl -4
getf 3
getf 2
getf 1
call _unbind
drop 1
pushl 0
popr
jmp __681
__690:
pushg 10
popr
jmp __681
__682:
pushl -4
getf 1
pushg 14
refeq
dup
brt __693
drop 1
pushl -4
getf 1
pushg 15
refeq
__693:
brf __692
pushl -4
getf 2
getf 1
pushl -3
call _bind
drop 2
pushg 10
pushl -4
getf 2
getf 2
call _evalbody
drop 2
pushr
popl 0
pushl -4
getf 2
getf 1
call _unbind
drop 1
pushl 0
popr
jmp __681
__692:
pushg 10
popr
jmp __681
__681:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } cond(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_cond:
asf 1
jmp __696
__695:
pushl -3
getf 1
getf 1
call _eval
drop 1
pushr
popl 0
pushl 0
pushg 10
refne
brf __698
pushl 0
pushl -3
getf 1
getf 2
call _evalbody
drop 2
pushr
popr
jmp __694
__698:
pushl -3
getf 2
popl -3
__696:
pushl -3
getf 0
pushg 2
eq
brt __695
__697:
pushg 10
popr
jmp __694
__694:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } loop(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_loop:
asf 2
jmp __701
__700:
pushl -3
popl 0
jmp __704
__703:
pushl 0
getf 1
getf 0
pushg 2
ne
dup
brt __708
drop 1
pushl 0
getf 1
getf 1
getf 0
pushg 2
ne
__708:
brf __706
pushl 0
getf 1
call _eval
drop 1
pushl 0
getf 2
popl 0
jmp __707
__706:
pushl 0
getf 1
getf 1
getf 1
getf 0
pushg 2
ne
brf __709
pushl 0
getf 1
getf 1
call _eval
drop 1
pushr
popl 1
pushl 1
pushg 10
refne
brf __711
pushl 1
pushl 0
getf 1
getf 2
call _evalbody
drop 2
pushr
popr
jmp __699
__711:
pushl 0
getf 2
popl 0
jmp __710
__709:
pushg 10
pushl 0
getf 1
call _evalbody
drop 2
pushl 0
getf 2
popl 0
__710:
__707:
__704:
pushl 0
getf 0
pushg 2
eq
brt __703
__705:
__701:
pushc 1
brt __700
__702:
__699:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } prog1(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_prog1:
asf 1
pushl -3
getf 1
call _eval
drop 1
pushr
popl 0
pushl -3
getf 2
popl -3
jmp __714
__713:
pushl -3
getf 1
call _eval
drop 1
pushl -3
getf 2
popl -3
__714:
pushl -3
getf 0
pushg 2
eq
brt __713
__715:
pushl 0
popr
jmp __712
__712:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } driver()
//
_driver:
asf 2
pushg 79
pushg 10
putf 1
pushg 84
pushg 10
putf 1
pushg 83
pushg 10
putf 1
pushg 82
pushg 82
putf 1
jmp __718
__717:
pushc 10
call _printChar
drop 1
pushc 36
call _printChar
drop 1
pushc 10
call _printChar
drop 1
call _read
pushr
popl 0
pushl 0
call _eval
drop 1
pushr
popl 1
pushl 1
call _print
drop 1
__718:
pushc 1
brt __717
__719:
pushg 10
popr
jmp __716
__716:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } reclaim()
//
_reclaim:
asf 0
pushc 23
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 67
putfa
dup
pushc 3
pushc 76
putfa
dup
pushc 4
pushc 65
putfa
dup
pushc 5
pushc 73
putfa
dup
pushc 6
pushc 77
putfa
dup
pushc 7
pushc 32
putfa
dup
pushc 8
pushc 110
putfa
dup
pushc 9
pushc 111
putfa
dup
pushc 10
pushc 116
putfa
dup
pushc 11
pushc 32
putfa
dup
pushc 12
pushc 105
putfa
dup
pushc 13
pushc 109
putfa
dup
pushc 14
pushc 112
putfa
dup
pushc 15
pushc 108
putfa
dup
pushc 16
pushc 101
putfa
dup
pushc 17
pushc 109
putfa
dup
pushc 18
pushc 101
putfa
dup
pushc 19
pushc 110
putfa
dup
pushc 20
pushc 116
putfa
dup
pushc 21
pushc 101
putfa
dup
pushc 22
pushc 100
putfa
pushc 0
call _error
drop 2
pushg 10
popr
jmp __720
__720:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } save(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_save:
asf 0
pushc 20
newa
dup
pushc 0
pushc 83
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 86
putfa
dup
pushc 3
pushc 69
putfa
dup
pushc 4
pushc 32
putfa
dup
pushc 5
pushc 110
putfa
dup
pushc 6
pushc 111
putfa
dup
pushc 7
pushc 116
putfa
dup
pushc 8
pushc 32
putfa
dup
pushc 9
pushc 105
putfa
dup
pushc 10
pushc 109
putfa
dup
pushc 11
pushc 112
putfa
dup
pushc 12
pushc 108
putfa
dup
pushc 13
pushc 101
putfa
dup
pushc 14
pushc 109
putfa
dup
pushc 15
pushc 101
putfa
dup
pushc 16
pushc 110
putfa
dup
pushc 17
pushc 116
putfa
dup
pushc 18
pushc 101
putfa
dup
pushc 19
pushc 100
putfa
pushc 0
call _error
drop 2
pushg 10
popr
jmp __721
__721:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } load(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_load:
asf 0
pushc 20
newa
dup
pushc 0
pushc 76
putfa
dup
pushc 1
pushc 79
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 68
putfa
dup
pushc 4
pushc 32
putfa
dup
pushc 5
pushc 110
putfa
dup
pushc 6
pushc 111
putfa
dup
pushc 7
pushc 116
putfa
dup
pushc 8
pushc 32
putfa
dup
pushc 9
pushc 105
putfa
dup
pushc 10
pushc 109
putfa
dup
pushc 11
pushc 112
putfa
dup
pushc 12
pushc 108
putfa
dup
pushc 13
pushc 101
putfa
dup
pushc 14
pushc 109
putfa
dup
pushc 15
pushc 101
putfa
dup
pushc 16
pushc 110
putfa
dup
pushc 17
pushc 116
putfa
dup
pushc 18
pushc 101
putfa
dup
pushc 19
pushc 100
putfa
pushc 0
call _error
drop 2
pushg 10
popr
jmp __722
__722:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } system()
//
_system:
asf 0
pushc 31
newa
dup
pushc 0
pushc 10
putfa
dup
pushc 1
pushc 84
putfa
dup
pushc 2
pushc 104
putfa
dup
pushc 3
pushc 97
putfa
dup
pushc 4
pushc 110
putfa
dup
pushc 5
pushc 107
putfa
dup
pushc 6
pushc 115
putfa
dup
pushc 7
pushc 32
putfa
dup
pushc 8
pushc 102
putfa
dup
pushc 9
pushc 111
putfa
dup
pushc 10
pushc 114
putfa
dup
pushc 11
pushc 32
putfa
dup
pushc 12
pushc 117
putfa
dup
pushc 13
pushc 115
putfa
dup
pushc 14
pushc 105
putfa
dup
pushc 15
pushc 110
putfa
dup
pushc 16
pushc 103
putfa
dup
pushc 17
pushc 32
putfa
dup
pushc 18
pushc 78
putfa
dup
pushc 19
pushc 105
putfa
dup
pushc 20
pushc 110
putfa
dup
pushc 21
pushc 106
putfa
dup
pushc 22
pushc 97
putfa
dup
pushc 23
pushc 32
putfa
dup
pushc 24
pushc 76
putfa
dup
pushc 25
pushc 73
putfa
dup
pushc 26
pushc 83
putfa
dup
pushc 27
pushc 80
putfa
dup
pushc 28
pushc 33
putfa
dup
pushc 29
pushc 10
putfa
dup
pushc 30
pushc 10
putfa
call _writeString
drop 1
call _exit
pushg 10
popr
jmp __723
__723:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } xchgpname(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; }, record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_xchgpname:
asf 1
pushl -4
getf 0
pushg 0
ne
dup
brt __726
drop 1
pushl -3
getf 0
pushg 0
ne
__726:
brf __725
pushg 10
popr
jmp __724
__725:
pushl -4
getf 4
popl 0
pushl -4
pushl -3
getf 4
putf 4
pushl -3
pushl 0
putf 4
pushg 11
popr
jmp __724
__724:
rsf
ret
//
// record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; } purgename(record { Integer typ; Cell car; Cell cdr; Cell func; String name; Integer val; })
//
_purgename:
asf 1
pushl -3
getf 0
pushg 0
ne
brf __728
pushg 10
popr
jmp __727
__728:
pushg 8
popl 0
pushl 0
getf 0
pushg 2
eq
brf __729
pushl 0
getf 1
pushl -3
refeq
brf __730
pushl 0
getf 2
popg 8
pushg 11
popr
jmp __727
__730:
jmp __732
__731:
pushl 0
getf 2
getf 1
pushl -3
refeq
brf __734
pushl 0
pushl 0
getf 2
getf 2
putf 2
pushg 11
popr
jmp __727
__734:
pushl 0
getf 2
popl 0
__732:
pushl 0
getf 2
getf 0
pushg 2
eq
brt __731
__733:
__729:
pushg 10
popr
jmp __727
__727:
rsf
ret
//
// void initConstants()
//
_initConstants:
asf 0
pushc 0
popg 0
pushc 1
popg 1
pushc 2
popg 2
__735:
rsf
ret
//
// void initCharTypes()
//
_initCharTypes:
asf 1
pushc 128
newa
popg 3
pushc 128
newa
popg 4
pushc 128
newa
popg 5
pushc 128
newa
popg 6
pushc 128
newa
popg 7
pushc 0
popl 0
jmp __738
__737:
pushg 3
pushl 0
pushc 0
putfa
pushg 4
pushl 0
pushc 0
putfa
pushg 5
pushl 0
pushc 0
putfa
pushg 6
pushl 0
pushc 0
putfa
pushg 7
pushl 0
pushc 0
putfa
pushl 0
pushc 1
add
popl 0
__738:
pushl 0
pushc 128
lt
brt __737
__739:
pushg 3
pushc 32
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 3
pushc 13
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 3
pushc 10
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 3
pushc 9
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 33
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 36
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 38
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 39
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 40
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 41
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 42
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 43
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 44
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 45
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 46
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 47
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 64
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 58
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 59
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 60
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 61
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 62
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 63
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 91
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 92
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 93
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 94
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 95
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 96
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 123
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 124
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 125
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 4
pushc 126
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 5
pushc 32
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 5
pushc 44
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 5
pushc 13
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 5
pushc 10
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 5
pushc 9
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 6
pushc 40
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 6
pushc 41
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 6
pushc 46
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 6
pushc 91
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 6
pushc 93
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 7
pushc 34
call _char2int
drop 1
pushr
pushc 1
putfa
pushg 7
pushc 37
call _char2int
drop 1
pushr
pushc 1
putfa
__736:
rsf
ret
//
// void initObjects()
//
_initObjects:
asf 0
call _makeNil
pushr
popg 10
pushg 10
popg 8
pushg 10
call _addOblist
drop 1
pushg 10
popg 9
pushc 1
newa
dup
pushc 0
pushc 84
putfa
call _makeObject
drop 1
pushr
popg 11
pushc 4
newa
dup
pushc 0
pushc 83
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 66
putfa
dup
pushc 3
pushc 82
putfa
call _makeObject
drop 1
pushr
popg 12
pushc 5
newa
dup
pushc 0
pushc 78
putfa
dup
pushc 1
pushc 83
putfa
dup
pushc 2
pushc 85
putfa
dup
pushc 3
pushc 66
putfa
dup
pushc 4
pushc 82
putfa
call _makeObject
drop 1
pushr
popg 13
pushc 6
newa
dup
pushc 0
pushc 76
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 77
putfa
dup
pushc 3
pushc 66
putfa
dup
pushc 4
pushc 68
putfa
dup
pushc 5
pushc 65
putfa
call _makeObject
drop 1
pushr
popg 14
pushc 7
newa
dup
pushc 0
pushc 78
putfa
dup
pushc 1
pushc 76
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 77
putfa
dup
pushc 4
pushc 66
putfa
dup
pushc 5
pushc 68
putfa
dup
pushc 6
pushc 65
putfa
call _makeObject
drop 1
pushr
popg 15
pushc 4
newa
dup
pushc 0
pushc 69
putfa
dup
pushc 1
pushc 67
putfa
dup
pushc 2
pushc 72
putfa
dup
pushc 3
pushc 79
putfa
call _makeObject
drop 1
pushr
popg 83
pushc 4
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 68
putfa
pushg 12
pushc 64
call _makeBuiltin
drop 3
pushr
popg 81
pushc 5
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 84
putfa
dup
pushc 3
pushc 79
putfa
dup
pushc 4
pushc 77
putfa
pushg 12
pushc 63
call _makeBuiltin
drop 3
pushr
popg 80
pushc 6
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 68
putfa
dup
pushc 4
pushc 67
putfa
dup
pushc 5
pushc 72
putfa
pushg 12
pushc 65
call _makeBuiltin
drop 3
pushr
popg 82
pushc 3
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 68
putfa
dup
pushc 2
pushc 83
putfa
pushg 12
pushc 62
call _makeBuiltin
drop 3
pushr
popg 79
pushc 5
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 82
putfa
dup
pushc 2
pushc 73
putfa
dup
pushc 3
pushc 78
putfa
dup
pushc 4
pushc 84
putfa
pushg 12
pushc 67
call _makeBuiltin
drop 3
pushr
popg 85
pushc 5
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 82
putfa
dup
pushc 2
pushc 73
putfa
dup
pushc 3
pushc 78
putfa
dup
pushc 4
pushc 49
putfa
pushg 12
pushc 68
call _makeBuiltin
drop 3
pushr
popg 86
pushc 3
newa
dup
pushc 0
pushc 87
putfa
dup
pushc 1
pushc 82
putfa
dup
pushc 2
pushc 83
putfa
pushg 12
pushc 66
call _makeBuiltin
drop 3
pushr
popg 84
pushc 6
newa
dup
pushc 0
pushc 68
putfa
dup
pushc 1
pushc 82
putfa
dup
pushc 2
pushc 73
putfa
dup
pushc 3
pushc 86
putfa
dup
pushc 4
pushc 69
putfa
dup
pushc 5
pushc 82
putfa
pushg 12
pushc 79
call _makeBuiltin
drop 3
pushr
popg 97
pushc 3
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 82
putfa
pushg 12
pushc 0
call _makeBuiltin
drop 3
pushr
popg 16
pushc 3
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 68
putfa
dup
pushc 2
pushc 82
putfa
pushg 12
pushc 1
call _makeBuiltin
drop 3
pushr
popg 17
pushc 4
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 82
putfa
pushg 12
pushc 3
call _makeBuiltin
drop 3
pushr
popg 19
pushc 4
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 68
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 82
putfa
pushg 12
pushc 5
call _makeBuiltin
drop 3
pushr
popg 21
pushc 5
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 68
putfa
dup
pushc 4
pushc 82
putfa
pushg 12
pushc 9
call _makeBuiltin
drop 3
pushr
popg 25
pushc 5
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 68
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 68
putfa
dup
pushc 4
pushc 82
putfa
pushg 12
pushc 13
call _makeBuiltin
drop 3
pushr
popg 29
pushc 4
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 82
putfa
pushg 12
pushc 2
call _makeBuiltin
drop 3
pushr
popg 18
pushc 4
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 68
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 82
putfa
pushg 12
pushc 4
call _makeBuiltin
drop 3
pushr
popg 20
pushc 5
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 82
putfa
pushg 12
pushc 6
call _makeBuiltin
drop 3
pushr
popg 22
pushc 5
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 68
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 82
putfa
pushg 12
pushc 10
call _makeBuiltin
drop 3
pushr
popg 26
pushc 5
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 82
putfa
pushg 12
pushc 8
call _makeBuiltin
drop 3
pushr
popg 24
pushc 5
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 68
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 82
putfa
pushg 12
pushc 12
call _makeBuiltin
drop 3
pushr
popg 28
pushc 5
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 68
putfa
dup
pushc 4
pushc 82
putfa
pushg 12
pushc 7
call _makeBuiltin
drop 3
pushr
popg 23
pushc 5
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 68
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 68
putfa
dup
pushc 4
pushc 82
putfa
pushg 12
pushc 11
call _makeBuiltin
drop 3
pushr
popg 27
pushc 4
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 79
putfa
dup
pushc 2
pushc 78
putfa
dup
pushc 3
pushc 83
putfa
pushg 12
pushc 14
call _makeBuiltin
drop 3
pushr
popg 30
pushc 6
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 80
putfa
dup
pushc 2
pushc 76
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 67
putfa
dup
pushc 5
pushc 65
putfa
pushg 12
pushc 18
call _makeBuiltin
drop 3
pushr
popg 34
pushc 6
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 80
putfa
dup
pushc 2
pushc 76
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 67
putfa
dup
pushc 5
pushc 68
putfa
pushg 12
pushc 19
call _makeBuiltin
drop 3
pushr
popg 35
pushc 5
newa
dup
pushc 0
pushc 78
putfa
dup
pushc 1
pushc 67
putfa
dup
pushc 2
pushc 79
putfa
dup
pushc 3
pushc 78
putfa
dup
pushc 4
pushc 67
putfa
pushg 12
pushc 20
call _makeBuiltin
drop 3
pushr
popg 36
pushc 3
newa
dup
pushc 0
pushc 83
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 84
putfa
pushg 12
pushc 38
call _makeBuiltin
drop 3
pushr
popg 55
pushc 5
newa
dup
pushc 0
pushc 65
putfa
dup
pushc 1
pushc 83
putfa
dup
pushc 2
pushc 83
putfa
dup
pushc 3
pushc 79
putfa
dup
pushc 4
pushc 67
putfa
pushg 12
pushc 42
call _makeBuiltin
drop 3
pushr
popg 59
pushc 3
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 84
putfa
pushg 12
pushc 44
call _makeBuiltin
drop 3
pushr
popg 61
pushc 3
newa
dup
pushc 0
pushc 71
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 84
putfa
pushg 12
pushc 43
call _makeBuiltin
drop 3
pushr
popg 60
pushc 6
newa
dup
pushc 0
pushc 77
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 77
putfa
dup
pushc 3
pushc 66
putfa
dup
pushc 4
pushc 69
putfa
dup
pushc 5
pushc 82
putfa
pushg 12
pushc 31
call _makeBuiltin
drop 3
pushr
popg 47
pushc 7
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 77
putfa
dup
pushc 3
pushc 80
putfa
dup
pushc 4
pushc 82
putfa
dup
pushc 5
pushc 79
putfa
dup
pushc 6
pushc 80
putfa
pushg 12
pushc 45
call _makeBuiltin
drop 3
pushr
popg 62
pushc 5
newa
dup
pushc 0
pushc 70
putfa
dup
pushc 1
pushc 76
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 71
putfa
dup
pushc 4
pushc 80
putfa
pushg 12
pushc 46
call _makeBuiltin
drop 3
pushr
popg 63
pushc 4
newa
dup
pushc 0
pushc 70
putfa
dup
pushc 1
pushc 76
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 71
putfa
pushg 12
pushc 47
call _makeBuiltin
drop 3
pushr
popg 64
pushc 7
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 77
putfa
dup
pushc 3
pushc 70
putfa
dup
pushc 4
pushc 76
putfa
dup
pushc 5
pushc 65
putfa
dup
pushc 6
pushc 71
putfa
pushg 12
pushc 48
call _makeBuiltin
drop 3
pushr
popg 65
pushc 4
newa
dup
pushc 0
pushc 77
putfa
dup
pushc 1
pushc 79
putfa
dup
pushc 2
pushc 86
putfa
dup
pushc 3
pushc 68
putfa
pushg 12
pushc 51
call _makeBuiltin
drop 3
pushr
popg 68
pushc 4
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 84
putfa
dup
pushc 3
pushc 68
putfa
pushg 12
pushc 50
call _makeBuiltin
drop 3
pushr
popg 67
pushc 4
newa
dup
pushc 0
pushc 71
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 84
putfa
dup
pushc 3
pushc 68
putfa
pushg 12
pushc 49
call _makeBuiltin
drop 3
pushr
popg 66
pushc 4
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 67
putfa
dup
pushc 3
pushc 75
putfa
pushg 12
pushc 52
call _makeBuiltin
drop 3
pushr
popg 69
pushc 6
newa
dup
pushc 0
pushc 85
putfa
dup
pushc 1
pushc 78
putfa
dup
pushc 2
pushc 80
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 67
putfa
dup
pushc 5
pushc 75
putfa
pushg 12
pushc 53
call _makeBuiltin
drop 3
pushr
popg 70
pushc 6
newa
dup
pushc 0
pushc 76
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 78
putfa
dup
pushc 3
pushc 71
putfa
dup
pushc 4
pushc 84
putfa
dup
pushc 5
pushc 72
putfa
pushg 12
pushc 54
call _makeBuiltin
drop 3
pushr
popg 71
pushc 7
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 86
putfa
dup
pushc 3
pushc 69
putfa
dup
pushc 4
pushc 82
putfa
dup
pushc 5
pushc 83
putfa
dup
pushc 6
pushc 69
putfa
pushg 12
pushc 16
call _makeBuiltin
drop 3
pushr
popg 32
pushc 6
newa
dup
pushc 0
pushc 79
putfa
dup
pushc 1
pushc 66
putfa
dup
pushc 2
pushc 76
putfa
dup
pushc 3
pushc 73
putfa
dup
pushc 4
pushc 83
putfa
dup
pushc 5
pushc 84
putfa
pushg 12
pushc 17
call _makeBuiltin
drop 3
pushr
popg 33
pushc 4
newa
dup
pushc 0
pushc 65
putfa
dup
pushc 1
pushc 84
putfa
dup
pushc 2
pushc 79
putfa
dup
pushc 3
pushc 77
putfa
pushg 12
pushc 23
call _makeBuiltin
drop 3
pushr
popg 39
pushc 4
newa
dup
pushc 0
pushc 78
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 77
putfa
dup
pushc 3
pushc 69
putfa
pushg 12
pushc 21
call _makeBuiltin
drop 3
pushr
popg 37
pushc 4
newa
dup
pushc 0
pushc 78
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 76
putfa
dup
pushc 3
pushc 76
putfa
pushg 12
pushc 24
call _makeBuiltin
drop 3
pushr
popg 40
pushc 3
newa
dup
pushc 0
pushc 78
putfa
dup
pushc 1
pushc 79
putfa
dup
pushc 2
pushc 84
putfa
pushg 12
pushc 35
call _makeBuiltin
drop 3
pushr
popg 52
pushc 6
newa
dup
pushc 0
pushc 79
putfa
dup
pushc 1
pushc 82
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 69
putfa
dup
pushc 4
pushc 82
putfa
dup
pushc 5
pushc 80
putfa
pushg 12
pushc 34
call _makeBuiltin
drop 3
pushr
popg 50
pushc 7
newa
dup
pushc 0
pushc 79
putfa
dup
pushc 1
pushc 82
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 69
putfa
dup
pushc 4
pushc 82
putfa
dup
pushc 5
pushc 69
putfa
dup
pushc 6
pushc 68
putfa
call _makeObject
drop 1
pushr
popg 51
pushc 2
newa
dup
pushc 0
pushc 69
putfa
dup
pushc 1
pushc 81
putfa
pushg 12
pushc 29
call _makeBuiltin
drop 3
pushr
popg 45
pushc 5
newa
dup
pushc 0
pushc 69
putfa
dup
pushc 1
pushc 81
putfa
dup
pushc 2
pushc 85
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 76
putfa
pushg 12
pushc 30
call _makeBuiltin
drop 3
pushr
popg 46
pushc 5
newa
dup
pushc 0
pushc 65
putfa
dup
pushc 1
pushc 80
putfa
dup
pushc 2
pushc 80
putfa
dup
pushc 3
pushc 76
putfa
dup
pushc 4
pushc 89
putfa
pushg 12
pushc 75
call _makeBuiltin
drop 3
pushr
popg 93
pushc 4
newa
dup
pushc 0
pushc 69
putfa
dup
pushc 1
pushc 86
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 76
putfa
pushg 12
pushc 74
call _makeBuiltin
drop 3
pushr
popg 92
pushc 7
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 67
putfa
dup
pushc 3
pushc 76
putfa
dup
pushc 4
pushc 65
putfa
dup
pushc 5
pushc 73
putfa
dup
pushc 6
pushc 77
putfa
pushg 12
pushc 80
call _makeBuiltin
drop 3
pushr
popg 98
pushc 6
newa
dup
pushc 0
pushc 84
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 82
putfa
dup
pushc 3
pushc 80
putfa
dup
pushc 4
pushc 82
putfa
dup
pushc 5
pushc 73
putfa
pushg 12
pushc 69
call _makeBuiltin
drop 3
pushr
popg 87
pushc 6
newa
dup
pushc 0
pushc 83
putfa
dup
pushc 1
pushc 80
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 67
putfa
dup
pushc 4
pushc 69
putfa
dup
pushc 5
pushc 83
putfa
pushg 12
pushc 70
call _makeBuiltin
drop 3
pushr
popg 88
pushc 10
newa
dup
pushc 0
pushc 76
putfa
dup
pushc 1
pushc 73
putfa
dup
pushc 2
pushc 78
putfa
dup
pushc 3
pushc 69
putfa
dup
pushc 4
pushc 76
putfa
dup
pushc 5
pushc 69
putfa
dup
pushc 6
pushc 78
putfa
dup
pushc 7
pushc 71
putfa
dup
pushc 8
pushc 84
putfa
dup
pushc 9
pushc 72
putfa
pushg 12
pushc 71
call _makeBuiltin
drop 3
pushr
popg 89
pushc 5
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 68
putfa
dup
pushc 3
pushc 73
putfa
dup
pushc 4
pushc 88
putfa
pushg 12
pushc 72
call _makeBuiltin
drop 3
pushr
popg 90
pushc 4
newa
dup
pushc 0
pushc 76
putfa
dup
pushc 1
pushc 79
putfa
dup
pushc 2
pushc 65
putfa
dup
pushc 3
pushc 68
putfa
pushg 12
pushc 82
call _makeBuiltin
drop 3
pushr
popg 100
pushc 4
newa
dup
pushc 0
pushc 83
putfa
dup
pushc 1
pushc 65
putfa
dup
pushc 2
pushc 86
putfa
dup
pushc 3
pushc 69
putfa
pushg 12
pushc 81
call _makeBuiltin
drop 3
pushr
popg 99
pushc 6
newa
dup
pushc 0
pushc 83
putfa
dup
pushc 1
pushc 89
putfa
dup
pushc 2
pushc 83
putfa
dup
pushc 3
pushc 84
putfa
dup
pushc 4
pushc 69
putfa
dup
pushc 5
pushc 77
putfa
pushg 12
pushc 83
call _makeBuiltin
drop 3
pushr
popg 101
pushc 7
newa
dup
pushc 0
pushc 78
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 77
putfa
dup
pushc 3
pushc 66
putfa
dup
pushc 4
pushc 69
putfa
dup
pushc 5
pushc 82
putfa
dup
pushc 6
pushc 80
putfa
pushg 12
pushc 22
call _makeBuiltin
drop 3
pushr
popg 38
pushc 8
newa
dup
pushc 0
pushc 71
putfa
dup
pushc 1
pushc 82
putfa
dup
pushc 2
pushc 69
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 84
putfa
dup
pushc 5
pushc 69
putfa
dup
pushc 6
pushc 82
putfa
dup
pushc 7
pushc 80
putfa
pushg 12
pushc 32
call _makeBuiltin
drop 3
pushr
popg 48
pushc 5
newa
dup
pushc 0
pushc 76
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 83
putfa
dup
pushc 3
pushc 83
putfa
dup
pushc 4
pushc 80
putfa
pushg 12
pushc 33
call _makeBuiltin
drop 3
pushr
popg 49
pushc 5
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 76
putfa
dup
pushc 2
pushc 85
putfa
dup
pushc 3
pushc 83
putfa
dup
pushc 4
pushc 80
putfa
pushg 12
pushc 25
call _makeBuiltin
drop 3
pushr
popg 41
pushc 6
newa
dup
pushc 0
pushc 77
putfa
dup
pushc 1
pushc 73
putfa
dup
pushc 2
pushc 78
putfa
dup
pushc 3
pushc 85
putfa
dup
pushc 4
pushc 83
putfa
dup
pushc 5
pushc 80
putfa
pushg 12
pushc 26
call _makeBuiltin
drop 3
pushr
popg 42
pushc 5
newa
dup
pushc 0
pushc 90
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 82
putfa
dup
pushc 3
pushc 79
putfa
dup
pushc 4
pushc 80
putfa
pushg 12
pushc 27
call _makeBuiltin
drop 3
pushr
popg 43
pushc 4
newa
dup
pushc 0
pushc 69
putfa
dup
pushc 1
pushc 86
putfa
dup
pushc 2
pushc 69
putfa
dup
pushc 3
pushc 78
putfa
pushg 12
pushc 28
call _makeBuiltin
drop 3
pushr
popg 44
pushc 5
newa
dup
pushc 0
pushc 77
putfa
dup
pushc 1
pushc 73
putfa
dup
pushc 2
pushc 78
putfa
dup
pushc 3
pushc 85
putfa
dup
pushc 4
pushc 83
putfa
pushg 12
pushc 55
call _makeBuiltin
drop 3
pushr
popg 72
pushc 4
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 76
putfa
dup
pushc 2
pushc 85
putfa
dup
pushc 3
pushc 83
putfa
pushg 12
pushc 56
call _makeBuiltin
drop 3
pushr
popg 73
pushc 10
newa
dup
pushc 0
pushc 68
putfa
dup
pushc 1
pushc 73
putfa
dup
pushc 2
pushc 70
putfa
dup
pushc 3
pushc 70
putfa
dup
pushc 4
pushc 69
putfa
dup
pushc 5
pushc 82
putfa
dup
pushc 6
pushc 69
putfa
dup
pushc 7
pushc 78
putfa
dup
pushc 8
pushc 67
putfa
dup
pushc 9
pushc 69
putfa
pushg 12
pushc 57
call _makeBuiltin
drop 3
pushr
popg 74
pushc 5
newa
dup
pushc 0
pushc 84
putfa
dup
pushc 1
pushc 73
putfa
dup
pushc 2
pushc 77
putfa
dup
pushc 3
pushc 69
putfa
dup
pushc 4
pushc 83
putfa
pushg 12
pushc 58
call _makeBuiltin
drop 3
pushr
popg 75
pushc 6
newa
dup
pushc 0
pushc 68
putfa
dup
pushc 1
pushc 73
putfa
dup
pushc 2
pushc 86
putfa
dup
pushc 3
pushc 73
putfa
dup
pushc 4
pushc 68
putfa
dup
pushc 5
pushc 69
putfa
pushg 12
pushc 61
call _makeBuiltin
drop 3
pushr
popg 78
pushc 8
newa
dup
pushc 0
pushc 81
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 79
putfa
dup
pushc 3
pushc 84
putfa
dup
pushc 4
pushc 73
putfa
dup
pushc 5
pushc 69
putfa
dup
pushc 6
pushc 78
putfa
dup
pushc 7
pushc 84
putfa
pushg 12
pushc 59
call _makeBuiltin
drop 3
pushr
popg 76
pushc 9
newa
dup
pushc 0
pushc 82
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 77
putfa
dup
pushc 3
pushc 65
putfa
dup
pushc 4
pushc 73
putfa
dup
pushc 5
pushc 78
putfa
dup
pushc 6
pushc 68
putfa
dup
pushc 7
pushc 69
putfa
dup
pushc 8
pushc 82
putfa
pushg 12
pushc 60
call _makeBuiltin
drop 3
pushr
popg 77
pushc 4
newa
dup
pushc 0
pushc 76
putfa
dup
pushc 1
pushc 73
putfa
dup
pushc 2
pushc 83
putfa
dup
pushc 3
pushc 84
putfa
pushg 13
pushc 15
call _makeBuiltin
drop 3
pushr
popg 31
pushc 5
newa
dup
pushc 0
pushc 81
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 79
putfa
dup
pushc 3
pushc 84
putfa
dup
pushc 4
pushc 69
putfa
pushg 13
pushc 73
call _makeBuiltin
drop 3
pushr
popg 91
pushc 4
newa
dup
pushc 0
pushc 67
putfa
dup
pushc 1
pushc 79
putfa
dup
pushc 2
pushc 78
putfa
dup
pushc 3
pushc 68
putfa
pushg 13
pushc 76
call _makeBuiltin
drop 3
pushr
popg 94
pushc 4
newa
dup
pushc 0
pushc 76
putfa
dup
pushc 1
pushc 79
putfa
dup
pushc 2
pushc 79
putfa
dup
pushc 3
pushc 80
putfa
pushg 13
pushc 77
call _makeBuiltin
drop 3
pushr
popg 95
pushc 5
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 82
putfa
dup
pushc 2
pushc 79
putfa
dup
pushc 3
pushc 71
putfa
dup
pushc 4
pushc 49
putfa
pushg 13
pushc 78
call _makeBuiltin
drop 3
pushr
popg 96
pushc 3
newa
dup
pushc 0
pushc 65
putfa
dup
pushc 1
pushc 78
putfa
dup
pushc 2
pushc 68
putfa
pushg 13
pushc 36
call _makeBuiltin
drop 3
pushr
popg 53
pushc 2
newa
dup
pushc 0
pushc 79
putfa
dup
pushc 1
pushc 82
putfa
pushg 13
pushc 37
call _makeBuiltin
drop 3
pushr
popg 54
pushc 4
newa
dup
pushc 0
pushc 83
putfa
dup
pushc 1
pushc 69
putfa
dup
pushc 2
pushc 84
putfa
dup
pushc 3
pushc 81
putfa
pushg 13
pushc 39
call _makeBuiltin
drop 3
pushr
popg 56
pushc 3
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 79
putfa
dup
pushc 2
pushc 80
putfa
pushg 13
pushc 40
call _makeBuiltin
drop 3
pushr
popg 57
pushc 4
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 83
putfa
dup
pushc 3
pushc 72
putfa
pushg 13
pushc 41
call _makeBuiltin
drop 3
pushr
popg 58
pushc 9
newa
dup
pushc 0
pushc 88
putfa
dup
pushc 1
pushc 67
putfa
dup
pushc 2
pushc 72
putfa
dup
pushc 3
pushc 71
putfa
dup
pushc 4
pushc 80
putfa
dup
pushc 5
pushc 78
putfa
dup
pushc 6
pushc 65
putfa
dup
pushc 7
pushc 77
putfa
dup
pushc 8
pushc 69
putfa
pushg 12
pushc 84
call _makeBuiltin
drop 3
pushr
popg 102
pushc 9
newa
dup
pushc 0
pushc 80
putfa
dup
pushc 1
pushc 85
putfa
dup
pushc 2
pushc 82
putfa
dup
pushc 3
pushc 71
putfa
dup
pushc 4
pushc 69
putfa
dup
pushc 5
pushc 78
putfa
dup
pushc 6
pushc 65
putfa
dup
pushc 7
pushc 77
putfa
dup
pushc 8
pushc 69
putfa
pushg 12
pushc 85
call _makeBuiltin
drop 3
pushr
popg 103
__740:
rsf
ret
//
// void initCtlVars()
//
_initCtlVars:
asf 0
pushc 0
popg 108
pushg 79
pushg 10
putf 1
pushg 81
pushg 81
putf 1
pushg 82
pushg 82
putf 1
pushg 83
pushg 10
putf 1
pushg 84
pushg 10
putf 1
pushg 85
pushg 85
putf 1
pushg 86
pushg 86
putf 1
pushc 0
popg 104
pushc 79
popg 105
pushc 10
popg 106
__741:
rsf
ret
//
// void main()
//
_main:
asf 0
pushc 24
newa
dup
pushc 0
pushc 10
putfa
dup
pushc 1
pushc 87
putfa
dup
pushc 2
pushc 101
putfa
dup
pushc 3
pushc 108
putfa
dup
pushc 4
pushc 99
putfa
dup
pushc 5
pushc 111
putfa
dup
pushc 6
pushc 109
putfa
dup
pushc 7
pushc 101
putfa
dup
pushc 8
pushc 32
putfa
dup
pushc 9
pushc 116
putfa
dup
pushc 10
pushc 111
putfa
dup
pushc 11
pushc 32
putfa
dup
pushc 12
pushc 78
putfa
dup
pushc 13
pushc 105
putfa
dup
pushc 14
pushc 110
putfa
dup
pushc 15
pushc 106
putfa
dup
pushc 16
pushc 97
putfa
dup
pushc 17
pushc 32
putfa
dup
pushc 18
pushc 76
putfa
dup
pushc 19
pushc 73
putfa
dup
pushc 20
pushc 83
putfa
dup
pushc 21
pushc 80
putfa
dup
pushc 22
pushc 33
putfa
dup
pushc 23
pushc 10
putfa
call _writeString
drop 1
call _initConstants
call _initCharTypes
call _initObjects
call _initCtlVars
jmp __744
__743:
pushg 97
pushg 10
call _apply
drop 2
__744:
pushc 1
brt __743
__745:
__742:
rsf
ret