📄 v3k_fram_uart_demo1_sdcc.asm
字号:
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:206: txmit0(10);
; genCall
mov dpl,#0x0A
push ar2
push ar3
lcall _txmit0
pop ar3
pop ar2
; genDjnz
; genMinus
; genMinusDec
dec r2
cjne r2,#0xff,00235$
dec r3
00235$:
C$V3K_FRAM_UART_Demo1_SDCC.c$203$2$10 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:203: for( cptr = 0; cptr < 010; cptr++)
; genIfx
mov a,r2
orl a,r3
; genIfxJump
; Peephole 109 removed ljmp by inverse jump logic
C$V3K_FRAM_UART_Demo1_SDCC.c$211$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:211: do{
; genAssign
; Peephole 256.c loading r2 with zero from a
; Peephole 256.d loading r3 with zero from a
jnz 00165$
00236$:
mov r2,a
mov r3,a
00125$:
C$V3K_FRAM_UART_Demo1_SDCC.c$212$2$11 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:212: txmit0(msg[cptr++]);
; genAssign
mov ar4,r2
mov ar5,r3
; genPlus
; genPlusIncr
inc r2
cjne r2,#0x00,00237$
inc r3
00237$:
; genPlus
; Peephole 236.g used r4 instead of ar4
mov a,r4
add a,#_msg
mov r0,a
; genPointerGet
; genNearPointerGet
mov dpl,@r0
; genCall
push ar2
push ar3
lcall _txmit0
pop ar3
pop ar2
C$V3K_FRAM_UART_Demo1_SDCC.c$213$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:213: }while(msg[cptr]!= '\0');
; genPlus
; Peephole 236.g used r2 instead of ar2
mov a,r2
add a,#_msg
mov r0,a
; genPointerGet
; genNearPointerGet
mov ar4,@r0
; genCmpEq
; Peephole 112.b changed ljmp to sjmp
; Peephole 199 optimized misc jump sequence
cjne r4,#0x00,00125$
;00238$:
; Peephole 200 removed redundant sjmp
00239$:
C$V3K_FRAM_UART_Demo1_SDCC.c$215$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:215: txmit0(13); //Send Carriage Return
; genCall
mov dpl,#0x0D
lcall _txmit0
C$V3K_FRAM_UART_Demo1_SDCC.c$216$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:216: txmit0(10); //Send Line Feed
; genCall
mov dpl,#0x0A
lcall _txmit0
C$V3K_FRAM_UART_Demo1_SDCC.c$220$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:220: for(cptr = 0x000; cptr < 0x1C00; cptr+= 0x010)
; genAssign
mov r2,#0x00
mov r3,#0x00
00166$:
; genCmpLt
; genCmp
clr c
mov a,r2
subb a,#0x00
mov a,r3
xrl a,#0x80
subb a,#0x9c
; genIfxJump
; Peephole 108 removed ljmp by inverse jump logic
jnc 00129$
00240$:
C$V3K_FRAM_UART_Demo1_SDCC.c$222$2$12 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:222: ReadFramUart0(cptr);
; genCall
mov dpl,r2
mov dph,r3
push ar2
push ar3
lcall _ReadFramUart0
pop ar3
pop ar2
C$V3K_FRAM_UART_Demo1_SDCC.c$223$2$12 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:223: ReadFramUart0(cptr+1);
; genPlus
; genPlusIncr
mov a,#0x01
; Peephole 236.a used r2 instead of ar2
add a,r2
mov dpl,a
; Peephole 181 changed mov to clr
clr a
; Peephole 236.b used r3 instead of ar3
addc a,r3
mov dph,a
; genCall
push ar2
push ar3
lcall _ReadFramUart0
pop ar3
pop ar2
C$V3K_FRAM_UART_Demo1_SDCC.c$224$2$12 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:224: delay(70);
; genCall
; Peephole 182.b used 16 bit load of dptr
mov dptr,#0x0046
push ar2
push ar3
lcall _delay
pop ar3
pop ar2
C$V3K_FRAM_UART_Demo1_SDCC.c$220$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:220: for(cptr = 0x000; cptr < 0x1C00; cptr+= 0x010)
; genPlus
mov a,#0x10
; Peephole 236.a used r2 instead of ar2
add a,r2
mov r2,a
; Peephole 181 changed mov to clr
clr a
; Peephole 236.b used r3 instead of ar3
addc a,r3
mov r3,a
C$V3K_FRAM_UART_Demo1_SDCC.c$228$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:228: while(1);
; Peephole 112.b changed ljmp to sjmp
sjmp 00166$
00129$:
; Peephole 112.b changed ljmp to sjmp
sjmp 00129$
00170$:
C$V3K_FRAM_UART_Demo1_SDCC.c$230$1$1 ==.
XG$main$0$0 ==.
ret
;------------------------------------------------------------
;Allocation info for local variables in function 'INT0Interrupt'
;------------------------------------------------------------
;bof Allocated to registers
;cptr Allocated to registers r2
;------------------------------------------------------------
G$INT0Interrupt$0$0 ==.
C$V3K_FRAM_UART_Demo1_SDCC.c$243$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:243: void INT0Interrupt(void) interrupt 0
; -----------------------------------------
; function INT0Interrupt
; -----------------------------------------
_INT0Interrupt:
push acc
push b
push dpl
push dph
push (0+2)
push (0+3)
push (0+4)
push (0+5)
push (0+6)
push (0+7)
push (0+0)
push (0+1)
push psw
mov psw,#0x00
C$V3K_FRAM_UART_Demo1_SDCC.c$249$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:249: INTEN1 = 0x00; //Disable UART0 Interrupt
; genAssign
mov _INTEN1,#0x00
C$V3K_FRAM_UART_Demo1_SDCC.c$251$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:251: do{
; genAssign
mov r2,#0x00
00101$:
C$V3K_FRAM_UART_Demo1_SDCC.c$252$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:252: B = msgint0[cptr++];
; genAssign
mov ar3,r2
; genPlus
; genPlusIncr
inc r2
; genPlus
; Peephole 236.g used r3 instead of ar3
mov a,r3
add a,#_msgint0
mov r0,a
; genPointerGet
; genNearPointerGet
mov _B,@r0
C$V3K_FRAM_UART_Demo1_SDCC.c$253$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:253: txmit0(B);
; genCall
mov dpl,_B
push ar2
lcall _txmit0
pop ar2
C$V3K_FRAM_UART_Demo1_SDCC.c$254$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:254: }while(msgint0[cptr]!= '\0');
; genPlus
; Peephole 236.g used r2 instead of ar2
mov a,r2
add a,#_msgint0
mov r0,a
; genPointerGet
; genNearPointerGet
mov ar3,@r0
; genCmpEq
; Peephole 112.b changed ljmp to sjmp
; Peephole 199 optimized misc jump sequence
cjne r3,#0x00,00101$
;00108$:
; Peephole 200 removed redundant sjmp
00109$:
C$V3K_FRAM_UART_Demo1_SDCC.c$256$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:256: txmit0(13); //Send Carriage Return
; genCall
mov dpl,#0x0D
lcall _txmit0
C$V3K_FRAM_UART_Demo1_SDCC.c$257$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:257: txmit0(10); //Send Line Feed
; genCall
mov dpl,#0x0A
lcall _txmit0
C$V3K_FRAM_UART_Demo1_SDCC.c$259$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:259: INTEN1 = 0x21; //Enable UART0 Interrupt + INT0
; genAssign
mov _INTEN1,#0x21
00104$:
pop psw
pop (0+1)
pop (0+0)
pop (0+7)
pop (0+6)
pop (0+5)
pop (0+4)
pop (0+3)
pop (0+2)
pop dph
pop dpl
pop b
pop acc
C$V3K_FRAM_UART_Demo1_SDCC.c$260$1$1 ==.
XG$INT0Interrupt$0$0 ==.
reti
;------------------------------------------------------------
;Allocation info for local variables in function 'UART0Interrupt'
;------------------------------------------------------------
;genvar Allocated to registers r3
;------------------------------------------------------------
G$UART0Interrupt$0$0 ==.
C$V3K_FRAM_UART_Demo1_SDCC.c$266$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:266: void UART0Interrupt(void) interrupt 5
; -----------------------------------------
; function UART0Interrupt
; -----------------------------------------
_UART0Interrupt:
push acc
push b
push dpl
push dph
push (0+2)
push (0+3)
push (0+4)
push (0+5)
push (0+6)
push (0+7)
push (0+0)
push (0+1)
push psw
mov psw,#0x00
C$V3K_FRAM_UART_Demo1_SDCC.c$270$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:270: INTEN1 = 0x00; //Disable UART0 Interrupt
; genAssign
mov _INTEN1,#0x00
C$V3K_FRAM_UART_Demo1_SDCC.c$273$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:273: genvar = UART0INT;
; genAssign
mov r2,_UART0INT
; genAssign
C$V3K_FRAM_UART_Demo1_SDCC.c$275$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:275: if(genvar & 0x02)
; genAnd
; peephole 177.h optimized mov sequence
mov a,r2
; Peephole 236.i used r3 instead of ar3
mov r3,a
; genIfxJump
; Peephole 111 removed ljmp by inverse jump logic
jnb acc.1,00102$
00109$:
C$V3K_FRAM_UART_Demo1_SDCC.c$276$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:276: txmit0(UART0BUF); //Send back the received character
; genCall
mov dpl,_UART0BUF
push ar3
lcall _txmit0
pop ar3
00102$:
C$V3K_FRAM_UART_Demo1_SDCC.c$280$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:280: if(genvar &= 0x04)
; genAnd
mov a,r3
; genIfxJump
; Peephole 111 removed ljmp by inverse jump logic
jnb acc.2,00104$
00110$:
C$V3K_FRAM_UART_Demo1_SDCC.c$282$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:282: genvar = UART0BUF; //Read S0BUF to clear RX OV condition...
; genDummyRead
mov a,_UART0BUF
C$V3K_FRAM_UART_Demo1_SDCC.c$285$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:285: txmit0(' '); //Send " OV!" on serial port
; genCall
mov dpl,#0x20
lcall _txmit0
C$V3K_FRAM_UART_Demo1_SDCC.c$286$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:286: txmit0('O'); //
; genCall
mov dpl,#0x4F
lcall _txmit0
C$V3K_FRAM_UART_Demo1_SDCC.c$287$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:287: txmit0('V'); //
; genCall
mov dpl,#0x56
lcall _txmit0
C$V3K_FRAM_UART_Demo1_SDCC.c$288$2$2 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:288: txmit0('!'); //
; genCall
mov dpl,#0x21
lcall _txmit0
00104$:
C$V3K_FRAM_UART_Demo1_SDCC.c$292$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:292: INTEN1 = 0x21; //Enable UART0 Interrupt + INT0
; genAssign
mov _INTEN1,#0x21
00105$:
pop psw
pop (0+1)
pop (0+0)
pop (0+7)
pop (0+6)
pop (0+5)
pop (0+4)
pop (0+3)
pop (0+2)
pop dph
pop dpl
pop b
pop acc
C$V3K_FRAM_UART_Demo1_SDCC.c$294$1$1 ==.
XG$UART0Interrupt$0$0 ==.
reti
;------------------------------------------------------------
;Allocation info for local variables in function 'uart0config'
;------------------------------------------------------------
;------------------------------------------------------------
G$uart0config$0$0 ==.
C$V3K_FRAM_UART_Demo1_SDCC.c$306$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:306: void uart0config()
; -----------------------------------------
; function uart0config
; -----------------------------------------
_uart0config:
C$V3K_FRAM_UART_Demo1_SDCC.c$310$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:310: UART0CFG = 0x90; //No Fine adjustment on baud rate
; genAssign
mov _UART0CFG,#0x90
C$V3K_FRAM_UART_Demo1_SDCC.c$315$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:315: UART0INT = 0x62; //Enable RX AV + RXO V int + Enable Reception
; genAssign
mov _UART0INT,#0x62
C$V3K_FRAM_UART_Demo1_SDCC.c$316$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:316: UART0EXT = 0x00; //Not using UART0 Extensions
; genAssign
mov _UART0EXT,#0x00
C$V3K_FRAM_UART_Demo1_SDCC.c$318$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:318: UART0BRL = 0x09; //Reload for 115200
; genAssign
mov _UART0BRL,#0x09
C$V3K_FRAM_UART_Demo1_SDCC.c$319$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:319: UART0BRH = 0x00; //
; genAssign
mov _UART0BRH,#0x00
00101$:
C$V3K_FRAM_UART_Demo1_SDCC.c$321$1$1 ==.
XG$uart0config$0$0 ==.
ret
;------------------------------------------------------------
;Allocation info for local variables in function 'txmit0'
;------------------------------------------------------------
;charact Allocated to registers
;------------------------------------------------------------
G$txmit0$0$0 ==.
C$V3K_FRAM_UART_Demo1_SDCC.c$330$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:330: void txmit0( unsigned char charact){
; -----------------------------------------
; function txmit0
; -----------------------------------------
_txmit0:
; genReceive
mov _UART0BUF,dpl
C$V3K_FRAM_UART_Demo1_SDCC.c$333$1$1 ==.
;C:/APP_ENG_Local/Demo_Programs/VRS51L3074/V3K_FRAM_UART_Demo1_SDCC/V3K_FRAM_UART_Demo1_SDCC.c:333: while(!(UART0INT & 0x01));
00101$:
; genAnd
mov a,_UART0INT
; genIfxJump
; Peephole 111 removed ljmp by inverse jump logic
jnb acc.0,00101$
00107$:
00104$:
C$V3K_FRAM_UART_Demo1_SDCC.c$335$1$1 ==.
XG$txmit0$0$0 ==.
ret
;------------------------------------------------------------
;Allocation info for local variables in function 'bin2bcdser0'
;------------------------------------------------------------
;number Allocated to registers r2 r3
;x Allocated to registers r5
;zerodisplay Allocated to registers r4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -