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

📄 printf_fast.asm

📁 sdcc的win版本.是small device c compiler的意思.支持8051和z80.是一个遵循GPL的软件,不过他的库函数是LGPL的,允许商业联结,可以用在自己的软件里
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	        mov r6, a
	        mov a, r1
	        orl a, #32
	        movc a, @a+dptr
	        addc a, r7
	        da a
	        mov r7, a
	        mov a, r1
	        orl a, #48
	        movc a, @a+dptr
	        addc a, r2
	        da a
	        mov r2, a
	        mov a, r4
	        anl a, #0x0F
	        mov r1, a
	        mov dptr, #_int2bcd_6
	        mov r3, #0
	        lcall printf_bcd_add10
	        mov a, r4
	        swap a
	        anl a, #0x0F
	        mov r1, a
	        mov dptr, #_int2bcd_7
printf_bcd_add10:
	        movc a, @a+dptr
	        add a, r5
	        da a
	        mov r5, a
	        mov a, r1
	        orl a, #16
	        movc a, @a+dptr
	        addc a, r6
	        da a
	        mov r6, a
	        mov a, r1
	        orl a, #32
	        movc a, @a+dptr
	        addc a, r7
	        da a
	        mov r7, a
	        mov a, r1
	        orl a, #48
	        movc a, @a+dptr
	        addc a, r2
	        da a
	        mov r2, a
	        mov a, r1
	        orl a, #64
	        movc a, @a+dptr
	        addc a, r3
	        da a
	        mov r3, a
	        ret
printf_space_loop:
	        mov a, #32
	        lcall printf_putchar
	        dec _field_width
printf_space:
	        mov a, _field_width
	        jnz printf_space_loop
	        ret
;	#line 677 "printf_fast.c"
printf_phex_msn:
	        swap a
printf_phex_lsn:
	        anl a, #15
	        jnz printf_phex_ok
	        jnb _print_zero_flag, printf_ret
printf_phex_ok:
	        setb _print_zero_flag
	        add a, #0x90
	        da a
	        addc a, #0x40
	        da a
printf_putchar:
	        push dph
	        push dpl
	        push ar0
	        mov dpl, a
	        lcall _putchar
	        pop ar0
	        pop dpl
	        pop dph
printf_ret:
	        ret
printf_zero:
	        jb _print_zero_flag, printf_ret
	        mov a, #48
	        ljmp printf_putchar
printf_end:
00101$:
	mov	sp,_bp
	pop	_bp
	ret
	.area CSEG    (CODE)
_int2bcd_0:
	.db #0x00
	.db #0x01
	.db #0x02
	.db #0x03
	.db #0x04
	.db #0x05
	.db #0x06
	.db #0x07
	.db #0x08
	.db #0x09
	.db #0x10
	.db #0x11
	.db #0x12
	.db #0x13
	.db #0x14
	.db #0x15
_int2bcd_1:
	.db #0x00
	.db #0x16
	.db #0x32
	.db #0x48
	.db #0x64
	.db #0x80
	.db #0x96
	.db #0x12
	.db #0x28
	.db #0x44
	.db #0x60
	.db #0x76
	.db #0x92
	.db #0x08
	.db #0x24
	.db #0x40
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x01
	.db #0x01
	.db #0x01
	.db #0x01
	.db #0x01
	.db #0x01
	.db #0x02
	.db #0x02
	.db #0x02
_int2bcd_2:
	.db #0x00
	.db #0x56
	.db #0x12
	.db #0x68
	.db #0x24
	.db #0x80
	.db #0x36
	.db #0x92
	.db #0x48
	.db #0x04
	.db #0x60
	.db #0x16
	.db #0x72
	.db #0x28
	.db #0x84
	.db #0x40
	.db #0x00
	.db #0x02
	.db #0x05
	.db #0x07
	.db #0x10
	.db #0x12
	.db #0x15
	.db #0x17
	.db #0x20
	.db #0x23
	.db #0x25
	.db #0x28
	.db #0x30
	.db #0x33
	.db #0x35
	.db #0x38
_int2bcd_3:
	.db #0x00
	.db #0x96
	.db #0x92
	.db #0x88
	.db #0x84
	.db #0x80
	.db #0x76
	.db #0x72
	.db #0x68
	.db #0x64
	.db #0x60
	.db #0x56
	.db #0x52
	.db #0x48
	.db #0x44
	.db #0x40
	.db #0x00
	.db #0x40
	.db #0x81
	.db #0x22
	.db #0x63
	.db #0x04
	.db #0x45
	.db #0x86
	.db #0x27
	.db #0x68
	.db #0x09
	.db #0x50
	.db #0x91
	.db #0x32
	.db #0x73
	.db #0x14
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x01
	.db #0x01
	.db #0x02
	.db #0x02
	.db #0x02
	.db #0x03
	.db #0x03
	.db #0x04
	.db #0x04
	.db #0x04
	.db #0x05
	.db #0x05
	.db #0x06
_int2bcd_4:
	.db #0x00
	.db #0x36
	.db #0x72
	.db #0x08
	.db #0x44
	.db #0x80
	.db #0x16
	.db #0x52
	.db #0x88
	.db #0x24
	.db #0x60
	.db #0x96
	.db #0x32
	.db #0x68
	.db #0x04
	.db #0x40
	.db #0x00
	.db #0x55
	.db #0x10
	.db #0x66
	.db #0x21
	.db #0x76
	.db #0x32
	.db #0x87
	.db #0x42
	.db #0x98
	.db #0x53
	.db #0x08
	.db #0x64
	.db #0x19
	.db #0x75
	.db #0x30
	.db #0x00
	.db #0x06
	.db #0x13
	.db #0x19
	.db #0x26
	.db #0x32
	.db #0x39
	.db #0x45
	.db #0x52
	.db #0x58
	.db #0x65
	.db #0x72
	.db #0x78
	.db #0x85
	.db #0x91
	.db #0x98
_int2bcd_5:
	.db #0x00
	.db #0x76
	.db #0x52
	.db #0x28
	.db #0x04
	.db #0x80
	.db #0x56
	.db #0x32
	.db #0x08
	.db #0x84
	.db #0x60
	.db #0x36
	.db #0x12
	.db #0x88
	.db #0x64
	.db #0x40
	.db #0x00
	.db #0x85
	.db #0x71
	.db #0x57
	.db #0x43
	.db #0x28
	.db #0x14
	.db #0x00
	.db #0x86
	.db #0x71
	.db #0x57
	.db #0x43
	.db #0x29
	.db #0x14
	.db #0x00
	.db #0x86
	.db #0x00
	.db #0x04
	.db #0x09
	.db #0x14
	.db #0x19
	.db #0x24
	.db #0x29
	.db #0x34
	.db #0x38
	.db #0x43
	.db #0x48
	.db #0x53
	.db #0x58
	.db #0x63
	.db #0x68
	.db #0x72
	.db #0x00
	.db #0x01
	.db #0x02
	.db #0x03
	.db #0x04
	.db #0x05
	.db #0x06
	.db #0x07
	.db #0x08
	.db #0x09
	.db #0x10
	.db #0x11
	.db #0x12
	.db #0x13
	.db #0x14
	.db #0x15
_int2bcd_6:
	.db #0x00
	.db #0x16
	.db #0x32
	.db #0x48
	.db #0x64
	.db #0x80
	.db #0x96
	.db #0x12
	.db #0x28
	.db #0x44
	.db #0x60
	.db #0x76
	.db #0x92
	.db #0x08
	.db #0x24
	.db #0x40
	.db #0x00
	.db #0x72
	.db #0x44
	.db #0x16
	.db #0x88
	.db #0x60
	.db #0x32
	.db #0x05
	.db #0x77
	.db #0x49
	.db #0x21
	.db #0x93
	.db #0x65
	.db #0x38
	.db #0x10
	.db #0x82
	.db #0x00
	.db #0x77
	.db #0x55
	.db #0x33
	.db #0x10
	.db #0x88
	.db #0x66
	.db #0x44
	.db #0x21
	.db #0x99
	.db #0x77
	.db #0x54
	.db #0x32
	.db #0x10
	.db #0x88
	.db #0x65
	.db #0x00
	.db #0x16
	.db #0x33
	.db #0x50
	.db #0x67
	.db #0x83
	.db #0x00
	.db #0x17
	.db #0x34
	.db #0x50
	.db #0x67
	.db #0x84
	.db #0x01
	.db #0x18
	.db #0x34
	.db #0x51
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x00
	.db #0x01
	.db #0x01
	.db #0x01
	.db #0x01
	.db #0x01
	.db #0x01
	.db #0x02
	.db #0x02
	.db #0x02
	.db #0x02
_int2bcd_7:
	.db #0x00
	.db #0x56
	.db #0x12
	.db #0x68
	.db #0x24
	.db #0x80
	.db #0x36
	.db #0x92
	.db #0x48
	.db #0x04
	.db #0x60
	.db #0x16
	.db #0x72
	.db #0x28
	.db #0x84
	.db #0x40
	.db #0x00
	.db #0x54
	.db #0x09
	.db #0x63
	.db #0x18
	.db #0x72
	.db #0x27
	.db #0x81
	.db #0x36
	.db #0x91
	.db #0x45
	.db #0x00
	.db #0x54
	.db #0x09
	.db #0x63
	.db #0x18
	.db #0x00
	.db #0x43
	.db #0x87
	.db #0x30
	.db #0x74
	.db #0x17
	.db #0x61
	.db #0x04
	.db #0x48
	.db #0x91
	.db #0x35
	.db #0x79
	.db #0x22
	.db #0x66
	.db #0x09
	.db #0x53
	.db #0x00
	.db #0x68
	.db #0x36
	.db #0x05
	.db #0x73
	.db #0x42
	.db #0x10
	.db #0x79
	.db #0x47
	.db #0x15
	.db #0x84
	.db #0x52
	.db #0x21
	.db #0x89
	.db #0x58
	.db #0x26
	.db #0x00
	.db #0x02
	.db #0x05
	.db #0x08
	.db #0x10
	.db #0x13
	.db #0x16
	.db #0x18
	.db #0x21
	.db #0x24
	.db #0x26
	.db #0x29
	.db #0x32
	.db #0x34
	.db #0x37
	.db #0x40
	.area	XINIT   (CODE)

⌨️ 快捷键说明

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