summaryrefslogtreecommitdiff
path: root/03/in02
blob: c8d0cfd88fd551f712170c3bdf2b9938ac729fa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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