115 lines
812 B
Text
115 lines
812 B
Text
|
jm
|
||
|
:-co
|
||
|
::if
|
||
|
'i
|
||
|
'n
|
||
|
'0
|
||
|
'3
|
||
|
00
|
||
|
::of
|
||
|
'o
|
||
|
'u
|
||
|
't
|
||
|
'0
|
||
|
'3
|
||
|
00
|
||
|
::BD
|
||
|
'B
|
||
|
'a
|
||
|
'd
|
||
|
20
|
||
|
'd
|
||
|
'i
|
||
|
'g
|
||
|
'i
|
||
|
't
|
||
|
\n
|
||
|
//
|
||
|
//
|
||
|
//
|
||
|
::co
|
||
|
// open input file
|
||
|
im
|
||
|
--if
|
||
|
JA
|
||
|
zA
|
||
|
IA
|
||
|
im
|
||
|
##2.
|
||
|
sy
|
||
|
// open output file
|
||
|
im
|
||
|
--of
|
||
|
JA
|
||
|
im
|
||
|
##241.
|
||
|
IA
|
||
|
im
|
||
|
##1ed.
|
||
|
DA
|
||
|
im
|
||
|
##2.
|
||
|
sy
|
||
|
im
|
||
|
##43.
|
||
|
BA
|
||
|
im
|
||
|
--hx
|
||
|
cl
|
||
|
jm
|
||
|
:-ex
|
||
|
//
|
||
|
//
|
||
|
// exit with code in rax
|
||
|
::ex
|
||
|
JA
|
||
|
im
|
||
|
##3c.
|
||
|
sy
|
||
|
// convert ASCII hex digit in rbx to number in rax.
|
||
|
::hx
|
||
|
im
|
||
|
##30. compare with ascii '0'
|
||
|
jg
|
||
|
:-bd bad digit if < '0'
|
||
|
im
|
||
|
##39.
|
||
|
jl
|
||
|
:-af probably a-f
|
||
|
im
|
||
|
##ffffffffffffffd0. -48
|
||
|
jm
|
||
|
:-hX
|
||
|
::af
|
||
|
im
|
||
|
##61. ASCII 'a'
|
||
|
jg
|
||
|
:-bd bad digit (not 0-9, and less than 'a')
|
||
|
im
|
||
|
##66. ASCII 'f'
|
||
|
jl
|
||
|
:-bd bad digit (not 0-9, and greater than 'f')
|
||
|
im
|
||
|
##ffffffffffffffa9. -87 (10 - 'a')
|
||
|
::hX
|
||
|
+B
|
||
|
re // return
|
||
|
// bad digit
|
||
|
::bd
|
||
|
im
|
||
|
##2. stderr
|
||
|
JA
|
||
|
im
|
||
|
--BD error message
|
||
|
IA
|
||
|
im
|
||
|
##a. length of error message
|
||
|
DA
|
||
|
im
|
||
|
##1. write
|
||
|
sy
|
||
|
im
|
||
|
##1.
|
||
|
jm
|
||
|
:-ex
|