📄 stm8s_uart2.ls
字号:
2963 00000002 OFST: set 2
2966 ; 915 int i=0;
2968 ; 916 for(i=0;i<strlen(a);i++)
2970 0479 5f clrw x
2971 047a 1f01 ldw (OFST-1,sp),x
2973 047c 200f jra L1641
2974 047e L5541:
2975 ; 918 putChr(a[i]);
2977 047e 1e01 ldw x,(OFST-1,sp)
2978 0480 72fb03 addw x,(OFST+1,sp)
2979 0483 f6 ld a,(x)
2980 0484 ade2 call _putChr
2982 ; 916 for(i=0;i<strlen(a);i++)
2984 0486 1e01 ldw x,(OFST-1,sp)
2985 0488 1c0001 addw x,#1
2986 048b 1f01 ldw (OFST-1,sp),x
2987 048d L1641:
2990 048d 1e03 ldw x,(OFST+1,sp)
2991 048f cd0000 call _strlen
2993 0492 1301 cpw x,(OFST-1,sp)
2994 0494 22e8 jrugt L5541
2995 ; 920 }
2998 0496 5b04 addw sp,#4
2999 0498 81 ret
3036 ; 923 void putStrLine(char *a)
3036 ; 924 {
3037 switch .text
3038 0499 _putStrLine:
3042 ; 925 putStr(a);
3044 0499 addc call _putStr
3046 ; 926 putChr('\r');
3048 049b a60d ld a,#13
3049 049d adc9 call _putChr
3051 ; 927 putChr('\n');
3053 049f a60a ld a,#10
3054 04a1 adc5 call _putChr
3056 ; 928 }
3059 04a3 81 ret
3094 switch .const
3095 0004 L611:
3096 0004 00989680 dc.l 10000000
3097 0008 L021:
3098 0008 05f5e100 dc.l 100000000
3099 000c L221:
3100 000c 000f4240 dc.l 1000000
3101 0010 L421:
3102 0010 000186a0 dc.l 100000
3103 0014 L621:
3104 0014 00002710 dc.l 10000
3105 0018 L031:
3106 0018 000003e8 dc.l 1000
3107 001c L231:
3108 001c 0000000a dc.l 10
3109 ; 931 void putInt(unsigned long num)
3109 ; 932 {
3110 switch .text
3111 04a4 _putInt:
3113 00000000 OFST: set 0
3116 ; 933 if(num>=10000000)putChr(num%100000000/10000000+'0');
3118 04a4 96 ldw x,sp
3119 04a5 1c0003 addw x,#OFST+3
3120 04a8 cd0000 call c_ltor
3122 04ab ae0004 ldw x,#L611
3123 04ae cd0000 call c_lcmp
3125 04b1 251c jrult L1251
3128 04b3 96 ldw x,sp
3129 04b4 1c0003 addw x,#OFST+3
3130 04b7 cd0000 call c_ltor
3132 04ba ae0008 ldw x,#L021
3133 04bd cd0000 call c_lumd
3135 04c0 ae0004 ldw x,#L611
3136 04c3 cd0000 call c_ludv
3138 04c6 a630 ld a,#48
3139 04c8 cd0000 call c_ladc
3141 04cb b603 ld a,c_lreg+3
3142 04cd ad99 call _putChr
3144 04cf L1251:
3145 ; 934 if(num>=1000000)putChr(num%10000000/1000000+'0');
3147 04cf 96 ldw x,sp
3148 04d0 1c0003 addw x,#OFST+3
3149 04d3 cd0000 call c_ltor
3151 04d6 ae000c ldw x,#L221
3152 04d9 cd0000 call c_lcmp
3154 04dc 251d jrult L3251
3157 04de 96 ldw x,sp
3158 04df 1c0003 addw x,#OFST+3
3159 04e2 cd0000 call c_ltor
3161 04e5 ae0004 ldw x,#L611
3162 04e8 cd0000 call c_lumd
3164 04eb ae000c ldw x,#L221
3165 04ee cd0000 call c_ludv
3167 04f1 a630 ld a,#48
3168 04f3 cd0000 call c_ladc
3170 04f6 b603 ld a,c_lreg+3
3171 04f8 cd0468 call _putChr
3173 04fb L3251:
3174 ; 935 if(num>=100000)putChr(num%1000000/100000+'0');
3176 04fb 96 ldw x,sp
3177 04fc 1c0003 addw x,#OFST+3
3178 04ff cd0000 call c_ltor
3180 0502 ae0010 ldw x,#L421
3181 0505 cd0000 call c_lcmp
3183 0508 251d jrult L5251
3186 050a 96 ldw x,sp
3187 050b 1c0003 addw x,#OFST+3
3188 050e cd0000 call c_ltor
3190 0511 ae000c ldw x,#L221
3191 0514 cd0000 call c_lumd
3193 0517 ae0010 ldw x,#L421
3194 051a cd0000 call c_ludv
3196 051d a630 ld a,#48
3197 051f cd0000 call c_ladc
3199 0522 b603 ld a,c_lreg+3
3200 0524 cd0468 call _putChr
3202 0527 L5251:
3203 ; 936 if(num>=10000)putChr(num%100000/10000+'0');
3205 0527 96 ldw x,sp
3206 0528 1c0003 addw x,#OFST+3
3207 052b cd0000 call c_ltor
3209 052e ae0014 ldw x,#L621
3210 0531 cd0000 call c_lcmp
3212 0534 251d jrult L7251
3215 0536 96 ldw x,sp
3216 0537 1c0003 addw x,#OFST+3
3217 053a cd0000 call c_ltor
3219 053d ae0010 ldw x,#L421
3220 0540 cd0000 call c_lumd
3222 0543 ae0014 ldw x,#L621
3223 0546 cd0000 call c_ludv
3225 0549 a630 ld a,#48
3226 054b cd0000 call c_ladc
3228 054e b603 ld a,c_lreg+3
3229 0550 cd0468 call _putChr
3231 0553 L7251:
3232 ; 937 if(num>=1000)putChr(num%10000/1000+'0');
3234 0553 96 ldw x,sp
3235 0554 1c0003 addw x,#OFST+3
3236 0557 cd0000 call c_ltor
3238 055a ae0018 ldw x,#L031
3239 055d cd0000 call c_lcmp
3241 0560 251d jrult L1351
3244 0562 96 ldw x,sp
3245 0563 1c0003 addw x,#OFST+3
3246 0566 cd0000 call c_ltor
3248 0569 ae0014 ldw x,#L621
3249 056c cd0000 call c_lumd
3251 056f ae0018 ldw x,#L031
3252 0572 cd0000 call c_ludv
3254 0575 a630 ld a,#48
3255 0577 cd0000 call c_ladc
3257 057a b603 ld a,c_lreg+3
3258 057c cd0468 call _putChr
3260 057f L1351:
3261 ; 938 if(num>=100)putChr(num%1000/100+'0');
3263 057f 96 ldw x,sp
3264 0580 1c0003 addw x,#OFST+3
3265 0583 cd0000 call c_ltor
3267 0586 ae0000 ldw x,#L01
3268 0589 cd0000 call c_lcmp
3270 058c 251d jrult L3351
3273 058e 96 ldw x,sp
3274 058f 1c0003 addw x,#OFST+3
3275 0592 cd0000 call c_ltor
3277 0595 ae0018 ldw x,#L031
3278 0598 cd0000 call c_lumd
3280 059b ae0000 ldw x,#L01
3281 059e cd0000 call c_ludv
3283 05a1 a630 ld a,#48
3284 05a3 cd0000 call c_ladc
3286 05a6 b603 ld a,c_lreg+3
3287 05a8 cd0468 call _putChr
3289 05ab L3351:
3290 ; 939 if(num>=10)putChr(num%100/10+'0');
3292 05ab 96 ldw x,sp
3293 05ac 1c0003 addw x,#OFST+3
3294 05af cd0000 call c_ltor
3296 05b2 ae001c ldw x,#L231
3297 05b5 cd0000 call c_lcmp
3299 05b8 251d jrult L5351
3302 05ba 96 ldw x,sp
3303 05bb 1c0003 addw x,#OFST+3
3304 05be cd0000 call c_ltor
3306 05c1 ae0000 ldw x,#L01
3307 05c4 cd0000 call c_lumd
3309 05c7 ae001c ldw x,#L231
3310 05ca cd0000 call c_ludv
3312 05cd a630 ld a,#48
3313 05cf cd0000 call c_ladc
3315 05d2 b603 ld a,c_lreg+3
3316 05d4 cd0468 call _putChr
3318 05d7 L5351:
3319 ; 940 if(num>=0)putChr(num%10+'0');
3321 05d7 96 ldw x,sp
3322 05d8 1c0003 addw x,#OFST+3
3323 05db cd0000 call c_ltor
3325 05de ae001c ldw x,#L231
3326 05e1 cd0000 call c_lumd
3328 05e4 a630 ld a,#48
3329 05e6 cd0000 call c_ladc
3331 05e9 b603 ld a,c_lreg+3
3332 05eb cd0468 call _putChr
3334 ; 941 }
3337 05ee 81 ret
3373 ; 943 void putIntLine(unsigned long num)
3373 ; 944 {
3374 switch .text
3375 05ef _putIntLine:
3377 00000000 OFST: set 0
3380 ; 945 putInt(num);
3382 05ef 1e05 ldw x,(OFST+5,sp)
3383 05f1 89 pushw x
3384 05f2 1e05 ldw x,(OFST+5,sp)
3385 05f4 89 pushw x
3386 05f5 cd04a4 call _putInt
3388 05f8 5b04 addw sp,#4
3389 ; 946 putChr('\r');
3391 05fa a60d ld a,#13
3392 05fc cd0468 call _putChr
3394 ; 947 putChr('\n');
3396 05ff a60a ld a,#10
3397 0601 cd0468 call _putChr
3399 ; 948 }
3402 0604 81 ret
3456 ; 950 void putHex(unsigned char* buf,unsigned long bufSize)
3456 ; 951 {
3457 switch .text
3458 0605 _putHex:
3460 0605 89 pushw x
3461 0606 5204 subw sp,#4
3462 00000004 OFST: set 4
3465 ; 952 unsigned long i=0;
3467 ; 953 for(i=0;i<bufSize;i++)
3469 0608 ae0000 ldw x,#0
3470 060b 1f03 ldw (OFST-1,sp),x
3471 060d ae0000 ldw x,#0
3472 0610 1f01 ldw (OFST-3,sp),x
3474 0612 2012 jra L7061
3475 0614 L3061:
3476 ; 955 putChr(buf[i]);
3478 0614 1e05 ldw x,(OFST+1,sp)
3479 0616 72fb03 addw x,(OFST-1,sp)
3480 0619 f6 ld a,(x)
3481 061a cd0468 call _putChr
3483 ; 953 for(i=0;i<bufSize;i++)
3485 061d 96 ldw x,sp
3486 061e 1c0001 addw x,#OFST-3
3487 0621 a601 ld a,#1
3488 0623 cd0000 call c_lgadc
3490 0626 L7061:
3493 0626 96 ldw x,sp
3494 0627 1c0001 addw x,#OFST-3
3495 062a cd0000 call c_ltor
3497 062d 96 ldw x,sp
3498 062e 1c0009 addw x,#OFST+5
3499 0631 cd0000 call c_lcmp
3501 0634 25de jrult L3061
3502 ; 957 }
3505 0636 5b06 addw sp,#6
3506 0638 81 ret
3519 xref _strlen
3520 xdef _putHex
3521 xdef _putIntLine
3522 xdef _putInt
3523 xdef _putStrLine
3524 xdef _putStr
3525 xdef _putChrLine
3526 xdef _putChr
3527 xdef _UART2_ClearITPendingBit
3528 xdef _UART2_GetITStatus
3529 xdef _UART2_ClearFlag
3530 xdef _UART2_GetFlagStatus
3531 xdef _UART2_SetPrescaler
3532 xdef _UART2_SetGuardTime
3533 xdef _UART2_SetAddress
3534 xdef _UART2_SendBreak
3535 xdef _UART2_SendData9
3536 xdef _UART2_SendData8
3537 xdef _UART2_ReceiveData9
3538 xdef _UART2_ReceiveData8
3539 xdef _UART2_ReceiverWakeUpCmd
3540 xdef _UART2_WakeUpConfig
3541 xdef _UART2_SmartCardNACKCmd
3542 xdef _UART2_SmartCardCmd
3543 xdef _UART2_LINCmd
3544 xdef _UART2_LINConfig
3545 xdef _UART2_LINBreakDetectionConfig
3546 xdef _UART2_IrDACmd
3547 xdef _UART2_IrDAConfig
3548 xdef _UART2_ITConfig
3549 xdef _UART2_Cmd
3550 xdef _UART2_Init
3551 xdef _UART2_DeInit
3552 xref _CLK_GetClockFreq
3553 xref.b c_lreg
3554 xref.b c_x
3573 xref c_lgadc
3574 xref c_ladc
3575 xref c_lumd
3576 xref c_lcmp
3577 xref c_lursh
3578 xref c_lsub
3579 xref c_smul
3580 xref c_ludv
3581 xref c_rtol
3582 xref c_llsh
3583 xref c_ltor
3584 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -