Subversion Repositories NedoOS

Rev

Details | Last modification | View Log

Rev Author Line No. Line
1485 alone 1
#ifndef included_ascii_to_uint8
2
#define included_ascii_to_uint8
3
ascii_to_uint8:
4
;c flag means don't increment the exponent
5
  ld c,0
6
  ld a,(hl)
7
  jr c,ascii_to_uint8_noexp
8
  cp char_DEC
9
  jr z,ascii_to_uint8_noexp-2
10
_:
11
  sub 3Ah
12
  add a,10
13
  jr nc,ascii_to_uint8_noexp_end
14
  inc b
15
  ld c,a
16
  add a,a
17
  add a,a
18
  add a,c
19
  add a,a
20
  ld c,a
21
  inc hl
22
_:
23
  ld a,(hl)
24
  cp char_DEC
25
  jr z,ascii_to_uint8_noexp_2nd
26
_:
27
  sub 3Ah
28
  add a,10
29
  jr nc,ascii_to_uint8_noexp_end
30
  inc b
31
  add a,c
32
  inc hl
33
  ld (de),a
34
  dec de
35
  or a
36
  ret
37
 
38
  inc hl
39
  ld a,(hl)
40
ascii_to_uint8_noexp:
41
  sub 3Ah
42
  add a,10
43
  jr nc,ascii_to_uint8_noexp_end
44
  ld c,a
45
  add a,a
46
  add a,a
47
  add a,c
48
  add a,a
49
  ld c,a
50
ascii_to_uint8_noexp_2nd:
51
  inc hl
52
  ld a,(hl)
53
  sub 3Ah
54
  add a,10
55
  jr nc,ascii_to_uint8_noexp_end
56
  add a,c
57
  inc hl
58
  .db $FE   ;start of `cp **`, saves 1cc
59
ascii_to_uint8_noexp_end:
60
  ld a,c
61
  ld (de),a
62
  dec de
63
  scf
64
  ret
65
#endif