📄 floatbin.lst
字号:
0000B9FC 40 F0 99 B9 call F_FloatToBCD_Dot
0000B9FE 7B 95 r2 = r3 lsr 4
0000B9FF BC 93 r1 = r4 ror 4
0000BA00 09 B3 F0 FF r1 = r1&0xfff0
0000BA02 05 A3 r1 = r1|r5
0000BA03 13 97 05 02 r3 = [uiBIN_FH]
0000BA05 7B 97 r3 = r3 lsr 4
0000BA06 63 97 r3 = r3 lsr 1
0000BA07 03 A3 r1 = r1|r3
0000BA08 38 EE jmp ?F_FloatToBCD_Exit
?F_FloatToBCD_B:
0000BA09 0D 2B 7F 00 r5 = r5-0x007f
0000BA0B 41 0A r5 = r5+1
0000BA0C 1D DB 02 02 [uiTemp_shift] = r5
0000BA0E 40 96 r3 = 0
0000BA0F 40 98 r4 = 0
?F_FloatToBCD_B1:
0000BA10 40 0A r5 = r5+0
0000BA11 01 03 r1 = r1+r1
0000BA12 02 15 r2 = r2+r2,carry
0000BA13 03 17 r3 = r3+r3,carry
0000BA14 04 19 r4 = r4+r4,carry
0000BA15 15 9B 02 02 r5 = [uiTemp_shift]
0000BA17 41 2A r5-=1
0000BA18 1D DB 02 02 [uiTemp_shift] = r5
0000BA1A 4B 4E jnz ?F_FloatToBCD_B1
0000BA1B 1C D9 03 02 [uiBIN_Hight] = r4
0000BA1D 1B D7 04 02 [uiBIN_Low] = r3
0000BA1F 7A 95 r2 = r2 lsr 4
0000BA20 B9 93 r1 = r1 ror 4
0000BA21 7A 95 r2 = r2 lsr 4
0000BA22 B9 93 r1 = r1 ror 4
0000BA23 40 F0 99 B9 call F_FloatToBCD_Dot //小数部份转换
0000BA25 11 93 04 02 r1 = [uiBIN_Low]
0000BA27 12 95 03 02 r2 = [uiBIN_Hight]
0000BA29 40 F0 44 BA call F_FloatToBCD_Int //整数部份转换
0000BA2B 88 DA push r5 to [sp]
?F_FloatToBCD_L1:
0000BA2C 5C 99 r4 = r4 lsl 4
0000BA2D 9B 97 r3 = r3 rol 4
0000BA2E 99 93 r1 = r1 rol 4
0000BA2F 9A 95 r2 = r2 rol 4
0000BA30 0D 0B 00 10 r5+=0x1000
0000BA32 0D 4B 00 80 cmp r5,0x8000
0000BA34 49 0E jb ?F_FloatToBCD_L1
0000BA35 88 98 pop r5 from [sp]
0000BA36 7D 9B r5 = r5 lsr 4
0000BA37 7D 9B r5 = r5 lsr 4
0000BA38 7D 9B r5 = r5 lsr 4
0000BA39 13 97 05 02 r3 = [uiBIN_FH]
0000BA3B 7B 97 r3 = r3 lsr 4
0000BA3C 63 97 r3 = r3 lsr 1
0000BA3D 05 A7 r3 = r3 | r5
0000BA3E 09 B3 F0 FF r1 = r1 & 0xfff0
0000BA40 03 A3 r1 = r1 | r3
?F_FloatToBCD_Exit:
0000BA41 90 94 pop r3,r4 from [sp]
0000BA42 88 98 pop r5 from [sp]
0000BA43 90 9A retf
F_FloatToBCD_Int:
0000BA44 90 D8 push r3,r4 to [sp]
0000BA45 59 93 r1 = r1 lsl 4
0000BA46 9A 95 r2 = r2 rol 4
0000BA47 59 93 r1 = r1 lsl 4
0000BA48 9A 95 r2 = r2 rol 4
0000BA49 58 9A r5 = 24
0000BA4A 40 96 r3 = 0
0000BA4B 40 98 r4 = 0
?F_FloatToBCD_Int1:
0000BA4C 40 0A r5 = r5+0
0000BA4D 01 03 r1 = r1+r1
0000BA4E 02 15 r2 = r2+r2,carry
0000BA4F 03 17 r3 = r3+r3,carry
0000BA50 04 19 r4 = r4+r4,carry
0000BA51 40 F0 68 BA call F_FloatToBCD_Model
0000BA53 41 2A r5-=1
0000BA54 49 4E jnz ?F_FloatToBCD_Int1
0000BA55 90 D8 push r3,r4 to [sp]
/// r1 = r4
// r2 = r3
0000BA56 40 9A r5 = 0//
?F_FloatToBCD_Int2:
0000BA57 5B 97 r3 = r3 lsl 4
0000BA58 9C 99 r4 = r4 rol 4
0000BA59 99 93 r1 = r1 rol 4
0000BA5A 4F B2 r1 = r1&0x000f
0000BA5B 03 4E jnz ?F_FloatToBCD_Int3
0000BA5C 41 0A r5+=1
0000BA5D 47 4A cmp r5,7
0000BA5E 48 0E jb ?F_FloatToBCD_Int2
?F_FloatToBCD_Int3:
0000BA5F 48 92 r1 = 8
0000BA60 05 23 r1 = r1-r5
0000BA61 59 9B r5 = r1 lsl 4
0000BA62 5D 9B r5 = r5 lsl 4
0000BA63 5D 9B r5 = r5 lsl 4
0000BA64 90 90 pop r1,r2 from [sp]
0000BA65 05 A5 r2 = r2 | r5
0000BA66 90 94 pop r3,r4 from [sp]
0000BA67 90 9A retf
F_FloatToBCD_Model:
0000BA68 88 DA push r5 to [sp]
0000BA69 50 C6 test r3,0x0010
0000BA6A 04 4E jnz ?F_FloatToBCD_Model1
0000BA6B 0B BB 0F 00 r5 = r3&0x000f
0000BA6D 4A 4A cmp r5,0x000a
0000BA6E 01 0E jb ?F_FloatToBCD_Model2
?F_FloatToBCD_Model1:
0000BA6F 46 06 r3 = r3+0x0006
// r4 = r4+0,carry
?F_FloatToBCD_Model2:
0000BA70 0B C7 00 01 test r3,0x0100
0000BA72 05 4E jnz ?F_FloatToBCD_Model3
0000BA73 0B BB F0 00 r5 = r3&0x00f0
0000BA75 0D 4B A0 00 cmp r5,0x00a0
0000BA77 02 0E jb ?F_FloatToBCD_Model4
?F_FloatToBCD_Model3:
0000BA78 0B 07 60 00 r3 = r3+0x0060
?F_FloatToBCD_Model4:
0000BA7A 0B C7 00 10 test r3,0x1000
0000BA7C 05 4E jnz ?F_FloatToBCD_Model5
0000BA7D 0B BB 00 0F r5 = r3&0x0f00
0000BA7F 0D 4B 00 0A cmp r5,0x0a00
0000BA81 02 0E jb ?F_FloatToBCD_Model6
?F_FloatToBCD_Model5:
0000BA82 0B 07 00 06 r3 = r3+0x0600
?F_FloatToBCD_Model6:
0000BA84 41 C8 test r4,0x0001
0000BA85 05 4E jnz ?F_FloatToBCD_Model7
0000BA86 0B BB 00 F0 r5 = r3&0xf000
0000BA88 0D 4B 00 A0 cmp r5,0xa000
0000BA8A 03 0E jb ?F_FloatToBCD_Model8
?F_FloatToBCD_Model7:
0000BA8B 0B 07 00 60 r3 = r3+0x6000
0000BA8D 40 18 r4 = r4+0,carry
?F_FloatToBCD_Model8:
0000BA8E 50 C8 test r4,0x0010
0000BA8F 04 4E jnz ?F_FloatToBCD_Model9
0000BA90 0C BB 0F 00 r5 = r4&0x000f
0000BA92 4A 4A cmp r5,0x000a
0000BA93 01 0E jb ?F_FloatToBCD_Model10
?F_FloatToBCD_Model9:
0000BA94 46 08 r4 = r4+0x0006
?F_FloatToBCD_Model10:
0000BA95 0C C9 00 01 test r4,0x0100
0000BA97 05 4E jnz ?F_FloatToBCD_Model11
0000BA98 0C BB F0 00 r5 = r4&0x00f0
0000BA9A 0D 4B A0 00 cmp r5,0x00a0
0000BA9C 02 0E jb ?F_FloatToBCD_Model12
?F_FloatToBCD_Model11:
0000BA9D 0C 09 60 00 r4 = r4+0x0060
?F_FloatToBCD_Model12:
0000BA9F 88 98 pop r5 from [sp]
0000BAA0 90 9A retf
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -