⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5.s

📁 从iccavr7中破解得到的lib库源代码
💻 S
字号:
	.area text
;              c -> 8,SP
;        endchar -> 14,SP
;         uminus -> 16,SP
;       enddigit -> 18,SP
;         oldval -> 20,SP
;            val -> 24,SP
;           base -> 34,SP
;            end -> 32,SP
;              s -> 28,SP
_strtol::
	pshd
	leas -28,S
	leax 24,S
	movw #0,0,x
	movw #0,2,x
	bra L3
L2:
	ldy 28,S
	iny
	sty 28,S
L3:
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	tfr Y,D
	jsr _isspace
  ; 	tfr D,X
  ; 	stx 0,V
  ; 	ldy 0,V
  ; 	tfr X,Y
  ; 	tfr D,Y
  ; 	cpy #0
	cpd #0
	bne L2
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	cpy #0
	cpd #0
	beq L8
	ldy 34,S
	cpy #0
	beq L5
	ldy #1
	cpy 34,S
	bge L8
	ldy 34,S
	cpy #36
	ble L5
L8:
	ldy 32,S
	cpy #0
	beq L9
	ldy 28,S
	ldx 32,S
  ; 	ldy 0,F
  ; 	ldx 4,F
	sty 0,X
L9:
	movw #0,2,-S
	movw #0,2,-S
	ldd #30
	jmp lret
	lbra L1
L5:
	leay 16,S
	movw #0,0,y
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	cpy #45
	cpd #45
	bne L11
	ldy 28,S
	iny
	sty 28,S
	leax 16,S
	movw #1,0,x
  ; 	ldy 0,F
  ; 	iny
  ; 	sty 0,F
  ; 	movw #1,-12,F
	bra L12
L11:
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	cpy #43
	cpd #43
	bne L13
	ldy 28,S
	iny
	sty 28,S
L13:
L12:
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	cpy #48
	cpd #48
	bne L15
	ldy 28,S
	iny
	ldab 0,Y
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
	std 2,S
	cpd #88
  ; 	tfr D,Y
  ; 	sty 1,V
  ; 	std 1,V
  ; 	ldy 1,V
  ; 	tfr D,Y
  ; 	cpy #88
  ; 	cpd #88
	beq L17
	ldy 2,S
	cpy #120
	bne L15
L17:
	ldy 34,S
	cpy #16
	beq L18
	ldy 34,S
	cpy #0
	bne L15
L18:
	leax 34,S
	movw #16,0,x
  ; 	ldy 0,F
  ; 	tfr Y,D
	ldd 28,S
	addd #2
  ; 	tfr D,Y
  ; 	sty 0,F
	std 28,S
L15:
	ldy 34,S
	cpy #0
	bne L19
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	cpy #48
	cpd #48
	bne L22
	movw #8,12,S
	bra L23
L22:
	movw #10,12,S
L23:
	leax 34,S
	movw 12,S,0,x
L19:
	ldy 34,S
	cpy #10
	blt L25
	movw #57,10,S
	bra L26
L25:
	ldy 34,S
	dey
	tfr Y,D
	addd #48
  ; 	tfr D,Y
  ; 	sty -18,F
	std 10,S
L26:
	leay 18,S
	movw 10,S,0,y
	ldy 34,S
	cpy #10
	lble L32
  ; 	ldy 6,F
  ; 	tfr Y,D
	ldd 34,S
	subd #11
  ; 	tfr D,Y
  ; 	tfr Y,D
	addd #97
  ; 	tfr D,Y
  ; 	sty -14,F
	std 14,S
	lbra L32
L29:
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	tfr Y,D
	jsr _isdigit
  ; 	tfr D,X
  ; 	stx 2,V
  ; 	ldy 2,V
  ; 	tfr X,Y
  ; 	tfr D,Y
  ; 	cpy #0
	cpd #0
	beq L33
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	cpy -10,F
	cpd 18,S
	bgt L33
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	tfr Y,D
	subd #48
  ; 	tfr D,Y
  ; 	sty -20,F
	std 8,S
	bra L34
L33:
	ldy 34,S
	cpy #10
	lble L31
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	tfr Y,D
	jsr _tolower
  ; 	tfr D,X
  ; 	stx 3,V
	std 0,S
	movw 0,S,8,S
	ldy 0,S
	cpy #97
  ; 	tfr D,X
  ; 	stx 3,V
  ; 	movw 3,V,-20,F
  ; 	ldy 3,V
  ; 	cpy #97
	lblt L31
	ldy 8,S
	cpy 14,S
	lbgt L31
  ; 	ldy -20,F
  ; 	tfr Y,D
	ldd 8,S
	subd #97
  ; 	tfr D,Y
  ; 	tfr Y,D
	addd #10
  ; 	tfr D,Y
  ; 	sty -20,F
	std 8,S
L36:
L34:
	ldd 26,S
	pshd
	ldd 26,S
	pshd
	puld
	std 22,S
	puld
	std 22,S
	ldd 26,S
	pshd
	ldd 26,S
	pshd
  ; 	ldy 6,F
  ; 	tfr Y,D
	ldd 38,S
	jsr int2long
	jsr mul4
  ; 	ldy -20,F
  ; 	tfr Y,D
	ldd 12,S
	jsr int2long
	jsr add4
	puld
	std 26,S
	puld
	std 26,S
	ldd 26,S
	pshd
	ldd 26,S
	pshd
	ldd 26,S
	pshd
	ldd 26,S
	pshd
	jsr cmp4
	bge L37
	movw #2,_errno
	ldy 16,S
  ; 	movw #2,_errno
  ; 	ldy -12,F
	cpy #0
	beq L40
	movw #0,4,S
	movw #32768,6,S
	bra L41
L40:
	movw #65535,4,S
	movw #32767,6,S
L41:
	ldd 6,S
	pshd
	ldd 6,S
	pshd
	ldd #30
	jmp lret
	lbra L1
L37:
L30:
	ldy 28,S
	iny
	sty 28,S
L32:
	ldab [28,S]
  ; 	tfr B,Y
  ; 	tfr Y,D
  ; 	tfr B,D
	clra
  ; 	tfr D,Y
  ; 	cpy #0
	cpd #0
	lbne L29
L31:
	ldy 32,S
	cpy #0
	beq L42
	ldy 28,S
	ldx 32,S
  ; 	ldy 0,F
  ; 	ldx 4,F
	sty 0,X
L42:
	ldy 16,S
	cpy #0
	beq L45
	ldd 26,S
	pshd
	ldd 26,S
	pshd
	jsr neg4
	puld
	std 8,S
	puld
	std 8,S
	bra L46
L45:
	ldd 26,S
	pshd
	ldd 26,S
	pshd
	puld
	std 8,S
	puld
	std 8,S
L46:
	ldd 8,S
	pshd
	ldd 8,S
	pshd
	ldd #30
	jmp lret
L1:
	leas 30,S
	rts

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -