📄 printf_fast.asm
字号:
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 + -