10.s
来自「从iccavr7中破解得到的lib库源代码」· S 代码 · 共 302 行
S
302 行
.area text
; c -> -20,SP
; endchar -> -14,SP
; uminus -> -12,SP
; enddigit -> -10,SP
; oldval -> -8,SP
; val -> -4,SP
; base -> 6,SP
; end -> 4,SP
; s -> 0,SP
_strtol::
pshd
movcl #0,-4,F
bra L3
L2:
ldy 0,F
iny
sty 0,F
L3:
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
tfr Y,D
jsr _isspace
tfr D,X
stx -1442840576,V
ldy -1442840576,V
cpy #0
bne L2
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
cpy #0
beq L8
ldy 6,F
cpy #0
beq L5
ldy #1
cpy 6,F
bge L8
ldy 6,F
cpy #36
ble L5
L8:
ldy 4,F
cpy #0
beq L9
ldy 0,F
ldx 4,F
sty 0,X
L9:
pshmvc4 #0
ldd #2
jmp lret
lbra L1
L5:
movw #0,-12,F
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
cpy #45
bne L11
ldy 0,F
iny
sty 0,F
movw #1,-12,F
bra L12
L11:
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
cpy #43
bne L13
ldy 0,F
iny
sty 0,F
L13:
L12:
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
cpy #48
bne L15
ldy 0,F
iny
ldab 0,Y
tfr B,Y
tfr Y,D
clra
tfr D,Y
sty -1442840575,V
ldy -1442840575,V
cpy #88
beq L17
ldy -1442840575,V
cpy #120
bne L15
L17:
ldy 6,F
cpy #16
beq L18
ldy 6,F
cpy #0
bne L15
L18:
movw #16,6,F
ldy 0,F
tfr Y,D
addd #2
tfr D,Y
sty 0,F
L15:
ldy 6,F
cpy #0
bne L19
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
cpy #48
bne L22
movw #8,-16,F
bra L23
L22:
movw #10,-16,F
L23:
movw -16,F,6,F
L19:
ldy 6,F
cpy #10
blt L25
movw #57,-18,F
bra L26
L25:
ldy 6,F
dey
tfr Y,D
addd #48
tfr D,Y
sty -18,F
L26:
movw -18,F,-10,F
ldy 6,F
cpy #10
lble L32
ldy 6,F
tfr Y,D
subd #11
tfr D,Y
tfr Y,D
addd #97
tfr D,Y
sty -14,F
lbra L32
L29:
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
tfr Y,D
jsr _isdigit
tfr D,X
stx -1442840574,V
ldy -1442840574,V
cpy #0
beq L33
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
cpy -10,F
bgt L33
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
tfr Y,D
subd #48
tfr D,Y
sty -20,F
bra L34
L33:
ldy 6,F
cpy #10
lble L31
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
tfr Y,D
jsr _tolower
tfr D,X
stx -1442840573,V
movw -1442840573,V,-20,F
ldy -1442840573,V
cpy #97
lblt L31
ldy -20,F
cpy -14,F
lbgt L31
ldy -20,F
tfr Y,D
subd #97
tfr D,Y
tfr Y,D
addd #10
tfr D,Y
sty -20,F
L36:
L34:
psh4 -4,F
pop4 -8,F
stk #0
psh4 -4,F
ldy 6,F
tfr Y,D
libc int2long
stk #4
libc mul4
stk #65532
ldy -20,F
tfr Y,D
libc int2long
stk #4
libc add4
stk #65532
pop4 -4,F
stk #0
psh4 -4,F
psh4 -8,F
libc cmp4
stk #65528
bge L37
movw #2,_errno
ldy -12,F
cpy #0
beq L40
movcl #0,-24,F
bra L41
L40:
movcl #65535,-24,F
L41:
psh4 -24,F
ldd #2
jmp lret
lbra L1
L37:
L30:
ldy 0,F
iny
sty 0,F
L32:
ldab [0,F]
tfr B,Y
tfr Y,D
clra
tfr D,Y
cpy #0
lbne L29
L31:
ldy 4,F
cpy #0
beq L42
ldy 0,F
ldx 4,F
sty 0,X
L42:
ldy -12,F
cpy #0
beq L45
psh4 -4,F
libc neg4
pop4 -22,F
stk #0
bra L46
L45:
psh4 -4,F
pop4 -22,F
stk #0
L46:
psh4 -22,F
ldd #2
jmp lret
L1:
leas 2,S
rts
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?