114 lines
812 B
Text
114 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
|