📄 v3k_fram_uart_demo1_sdcc.asm
字号:
;------------------------------------------------------------
G$bin2bcdser0$0$0 ==.
C$V3K_FRAM_UART_Demo1_SDCC.c$344$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:344: void bin2bcdser0(unsigned int number){
; -----------------------------------------
; function bin2bcdser0
; -----------------------------------------
_bin2bcdser0:
; genReceive
mov r2,dpl
mov r3,dph
C$V3K_FRAM_UART_Demo1_SDCC.c$348$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:348: unsigned char zerodisplay = 0; //intialise startdisplay to 0 -> do not display if number is zero
; genAssign
mov r4,#0x00
C$V3K_FRAM_UART_Demo1_SDCC.c$351$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:351: x = (number/10000); // Define number of then's of thousands
; genAssign
mov __divuint_PARM_2,#0x10
mov (__divuint_PARM_2 + 1),#0x27
; genCall
mov dpl,r2
mov dph,r3
push ar2
push ar3
push ar4
lcall __divuint
mov r5,dpl
mov r6,dph
pop ar4
pop ar3
pop ar2
; genCast
C$V3K_FRAM_UART_Demo1_SDCC.c$352$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:352: if(x>0) // If number > 0 display it
; genCmpGt
; genCmp
; genIfxJump
; Peephole 108 removed ljmp by inverse jump logic
; Peephole 132.b optimized genCmpGt by inverse logic (acc differs)
mov a,r5
add a,#0xff - 0x00
jnc 00102$
00131$:
C$V3K_FRAM_UART_Demo1_SDCC.c$354$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:354: zerodisplay = 1; // number > 0 -> when zero is next encountered, display it
; genAssign
mov r4,#0x01
C$V3K_FRAM_UART_Demo1_SDCC.c$355$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:355: number = number - (x*10000);
; genCast
mov ar6,r5
mov r7,#0x00
; genAssign
mov __mulint_PARM_2,#0x10
mov (__mulint_PARM_2 + 1),#0x27
; genCall
mov dpl,r6
mov dph,r7
push ar2
push ar3
push ar4
push ar5
lcall __mulint
mov r6,dpl
mov r7,dph
pop ar5
pop ar4
pop ar3
pop ar2
; genMinus
mov a,r2
clr c
; Peephole 236.l used r6 instead of ar6
subb a,r6
mov r2,a
mov a,r3
; Peephole 236.l used r7 instead of ar7
subb a,r7
mov r3,a
C$V3K_FRAM_UART_Demo1_SDCC.c$356$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:356: txmit0((x+'0'));
; genPlus
mov a,#0x30
; Peephole 236.a used r5 instead of ar5
add a,r5
mov dpl,a
; genCall
push ar2
push ar3
push ar4
lcall _txmit0
pop ar4
pop ar3
pop ar2
; Peephole 112.b changed ljmp to sjmp
sjmp 00103$
00102$:
C$V3K_FRAM_UART_Demo1_SDCC.c$359$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:359: txmit0(' '); //display a blank space instead
; genCall
mov dpl,#0x20
push ar2
push ar3
push ar4
lcall _txmit0
pop ar4
pop ar3
pop ar2
00103$:
C$V3K_FRAM_UART_Demo1_SDCC.c$361$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:361: x = (number/1000); //Define the number of thousands
; genAssign
mov __divuint_PARM_2,#0xE8
mov (__divuint_PARM_2 + 1),#0x03
; genCall
mov dpl,r2
mov dph,r3
push ar2
push ar3
push ar4
lcall __divuint
mov r6,dpl
mov r7,dph
pop ar4
pop ar3
pop ar2
; genCast
mov ar5,r6
C$V3K_FRAM_UART_Demo1_SDCC.c$363$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:363: if( (zerodisplay !=0)|| (x !=0))
; genCmpEq
; Peephole 112.b changed ljmp to sjmp
; Peephole 199 optimized misc jump sequence
cjne r4,#0x00,00104$
;00132$:
; Peephole 200 removed redundant sjmp
00133$:
; genCmpEq
cjne r5,#0x00,00134$
; Peephole 112.b changed ljmp to sjmp
sjmp 00105$
00134$:
00104$:
C$V3K_FRAM_UART_Demo1_SDCC.c$365$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:365: txmit0((x+'0'));
; genPlus
mov a,#0x30
; Peephole 236.a used r5 instead of ar5
add a,r5
mov dpl,a
; genCall
push ar2
push ar3
push ar4
push ar5
lcall _txmit0
pop ar5
pop ar4
pop ar3
pop ar2
; Peephole 112.b changed ljmp to sjmp
sjmp 00106$
00105$:
C$V3K_FRAM_UART_Demo1_SDCC.c$367$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:367: txmit0(' '); //display a blank space instead
; genCall
mov dpl,#0x20
push ar2
push ar3
push ar4
push ar5
lcall _txmit0
pop ar5
pop ar4
pop ar3
pop ar2
00106$:
C$V3K_FRAM_UART_Demo1_SDCC.c$369$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:369: if(x>0)
; genCmpGt
; genCmp
; genIfxJump
; Peephole 108 removed ljmp by inverse jump logic
; Peephole 132.b optimized genCmpGt by inverse logic (acc differs)
mov a,r5
add a,#0xff - 0x00
jnc 00109$
00135$:
C$V3K_FRAM_UART_Demo1_SDCC.c$371$2$3 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:371: zerodisplay = 1;
; genAssign
mov r4,#0x01
C$V3K_FRAM_UART_Demo1_SDCC.c$372$2$3 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:372: number = number - (x*1000);
; genCast
mov ar6,r5
mov r7,#0x00
; genAssign
mov __mulint_PARM_2,#0xE8
mov (__mulint_PARM_2 + 1),#0x03
; genCall
mov dpl,r6
mov dph,r7
push ar2
push ar3
push ar4
lcall __mulint
mov r6,dpl
mov r7,dph
pop ar4
pop ar3
pop ar2
; genMinus
mov a,r2
clr c
; Peephole 236.l used r6 instead of ar6
subb a,r6
mov r2,a
mov a,r3
; Peephole 236.l used r7 instead of ar7
subb a,r7
mov r3,a
00109$:
C$V3K_FRAM_UART_Demo1_SDCC.c$375$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:375: x = (number/100); //Define the number of hundreds
; genAssign
mov __divuint_PARM_2,#0x64
clr a
mov (__divuint_PARM_2 + 1),a
; genCall
mov dpl,r2
mov dph,r3
push ar2
push ar3
push ar4
lcall __divuint
mov r6,dpl
mov r7,dph
pop ar4
pop ar3
pop ar2
; genCast
mov ar5,r6
C$V3K_FRAM_UART_Demo1_SDCC.c$376$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:376: if( (zerodisplay !=0)|| (x !=0))
; genCmpEq
; Peephole 112.b changed ljmp to sjmp
; Peephole 199 optimized misc jump sequence
cjne r4,#0x00,00110$
;00136$:
; Peephole 200 removed redundant sjmp
00137$:
; genCmpEq
cjne r5,#0x00,00138$
; Peephole 112.b changed ljmp to sjmp
sjmp 00111$
00138$:
00110$:
C$V3K_FRAM_UART_Demo1_SDCC.c$377$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:377: txmit0((x+'0'));
; genPlus
mov a,#0x30
; Peephole 236.a used r5 instead of ar5
add a,r5
mov dpl,a
; genCall
push ar2
push ar3
push ar4
push ar5
lcall _txmit0
pop ar5
pop ar4
pop ar3
pop ar2
; Peephole 112.b changed ljmp to sjmp
sjmp 00112$
00111$:
C$V3K_FRAM_UART_Demo1_SDCC.c$379$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:379: txmit0(' '); //display a blank space instead
; genCall
mov dpl,#0x20
push ar2
push ar3
push ar4
push ar5
lcall _txmit0
pop ar5
pop ar4
pop ar3
pop ar2
00112$:
C$V3K_FRAM_UART_Demo1_SDCC.c$381$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:381: if(x>0)
; genCmpGt
; genCmp
; genIfxJump
; Peephole 108 removed ljmp by inverse jump logic
; Peephole 132.b optimized genCmpGt by inverse logic (acc differs)
mov a,r5
add a,#0xff - 0x00
jnc 00115$
00139$:
C$V3K_FRAM_UART_Demo1_SDCC.c$383$2$4 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:383: zerodisplay = 1;
; genAssign
mov r4,#0x01
C$V3K_FRAM_UART_Demo1_SDCC.c$384$2$4 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:384: number = number - (x*100);
; genMult
; genMultOneByte
mov a,r5
mov b,#0x64
mul ab
; genMinus
setb c
; Peephole 236.l used r2 instead of ar2
subb a,r2
cpl a
mov r2,a
mov a,r3
subb a,b
mov r3,a
00115$:
C$V3K_FRAM_UART_Demo1_SDCC.c$387$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:387: x = (number / 10); //Define the number of thens
; genAssign
mov __divuint_PARM_2,#0x0A
clr a
mov (__divuint_PARM_2 + 1),a
; genCall
mov dpl,r2
mov dph,r3
push ar2
push ar3
push ar4
lcall __divuint
mov r6,dpl
mov r7,dph
pop ar4
pop ar3
pop ar2
; genCast
mov ar5,r6
C$V3K_FRAM_UART_Demo1_SDCC.c$388$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:388: if( (zerodisplay !=0)|| (x !=0))
; genCmpEq
; Peephole 112.b changed ljmp to sjmp
; Peephole 199 optimized misc jump sequence
cjne r4,#0x00,00116$
;00140$:
; Peephole 200 removed redundant sjmp
00141$:
; genCmpEq
cjne r5,#0x00,00142$
; Peephole 112.b changed ljmp to sjmp
sjmp 00117$
00142$:
00116$:
C$V3K_FRAM_UART_Demo1_SDCC.c$389$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:389: txmit0((x+'0'));
; genPlus
mov a,#0x30
; Peephole 236.a used r5 instead of ar5
add a,r5
mov dpl,a
; genCall
push ar2
push ar3
push ar5
lcall _txmit0
pop ar5
pop ar3
pop ar2
; Peephole 112.b changed ljmp to sjmp
sjmp 00118$
00117$:
C$V3K_FRAM_UART_Demo1_SDCC.c$391$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:391: txmit0(' '); //display a blank space instead
; genCall
mov dpl,#0x20
push ar2
push ar3
push ar5
lcall _txmit0
pop ar5
pop ar3
pop ar2
00118$:
C$V3K_FRAM_UART_Demo1_SDCC.c$393$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:393: if(x>0)
; genCmpGt
; genCmp
; genIfxJump
; Peephole 108 removed ljmp by inverse jump logic
; Peephole 132.b optimized genCmpGt by inverse logic (acc differs)
mov a,r5
add a,#0xff - 0x00
jnc 00121$
00143$:
C$V3K_FRAM_UART_Demo1_SDCC.c$394$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:394: number = number - (x*10);
; genMult
; genMultOneByte
mov a,r5
mov b,#0x0A
mul ab
; genMinus
setb c
; Peephole 236.l used r2 instead of ar2
subb a,r2
cpl a
mov r2,a
mov a,r3
subb a,b
mov r3,a
00121$:
C$V3K_FRAM_UART_Demo1_SDCC.c$396$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:396: txmit0(number + '0');
; genCast
; genPlus
mov a,#0x30
; Peephole 236.a used r2 instead of ar2
add a,r2
mov dpl,a
; genCall
C$V3K_FRAM_UART_Demo1_SDCC.c$397$1$1 ==.
XG$bin2bcdser0$0$0 ==.
; Peephole 253.b replaced lcall/ret with ljmp
ljmp _txmit0
;------------------------------------------------------------
;Allocation info for local variables in function 'Uart0HexSer4'
;------------------------------------------------------------
;value Allocated to registers r2 r3
;valmsb Allocated to registers r2
;vallsb Allocated to registers r4
;hexchar Allocated to registers r3
;------------------------------------------------------------
G$Uart0HexSer4$0$0 ==.
C$V3K_FRAM_UART_Demo1_SDCC.c$407$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:407: void Uart0HexSer4(int value)
; -----------------------------------------
; function Uart0HexSer4
; -----------------------------------------
_Uar
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -