📄 stm8s_uart2.ls
字号:
2972 049e 89 pushw x
2973 049f 89 pushw x
2974 00000002 OFST: set 2
2977 ; 915 int i=0;
2979 04a0 5f clrw x
2980 04a1 1f01 ldw (OFST-1,sp),x
2981 ; 916 for(i=0;i<strlen(a);i++)
2983 04a3 5f clrw x
2984 04a4 1f01 ldw (OFST-1,sp),x
2986 04a6 200f jra L1641
2987 04a8 L5541:
2988 ; 918 putChr(a[i]);
2990 04a8 1e01 ldw x,(OFST-1,sp)
2991 04aa 72fb03 addw x,(OFST+1,sp)
2992 04ad f6 ld a,(x)
2993 04ae addf call _putChr
2995 ; 916 for(i=0;i<strlen(a);i++)
2997 04b0 1e01 ldw x,(OFST-1,sp)
2998 04b2 1c0001 addw x,#1
2999 04b5 1f01 ldw (OFST-1,sp),x
3000 04b7 L1641:
3003 04b7 1e03 ldw x,(OFST+1,sp)
3004 04b9 cd0000 call _strlen
3006 04bc 1301 cpw x,(OFST-1,sp)
3007 04be 22e8 jrugt L5541
3008 ; 920 }
3011 04c0 5b04 addw sp,#4
3012 04c2 81 ret
3049 ; 923 void putStrLine(char *a)
3049 ; 924 {
3050 switch .text
3051 04c3 _putStrLine:
3055 ; 925 putStr(a);
3057 04c3 add9 call _putStr
3059 ; 926 putChr('\r');
3061 04c5 a60d ld a,#13
3062 04c7 adc6 call _putChr
3064 ; 927 putChr('\n');
3066 04c9 a60a ld a,#10
3067 04cb adc2 call _putChr
3069 ; 928 }
3072 04cd 81 ret
3107 switch .const
3108 0004 L611:
3109 0004 00989680 dc.l 10000000
3110 0008 L021:
3111 0008 05f5e100 dc.l 100000000
3112 000c L221:
3113 000c 000f4240 dc.l 1000000
3114 0010 L421:
3115 0010 000186a0 dc.l 100000
3116 0014 L621:
3117 0014 00002710 dc.l 10000
3118 0018 L031:
3119 0018 000003e8 dc.l 1000
3120 001c L231:
3121 001c 0000000a dc.l 10
3122 ; 931 void putInt(unsigned long num)
3122 ; 932 {
3123 switch .text
3124 04ce _putInt:
3126 00000000 OFST: set 0
3129 ; 933 if(num>=10000000)putChr(num%100000000/10000000+'0');
3131 04ce 96 ldw x,sp
3132 04cf 1c0003 addw x,#OFST+3
3133 04d2 cd0000 call c_ltor
3135 04d5 ae0004 ldw x,#L611
3136 04d8 cd0000 call c_lcmp
3138 04db 251c jrult L1251
3141 04dd 96 ldw x,sp
3142 04de 1c0003 addw x,#OFST+3
3143 04e1 cd0000 call c_ltor
3145 04e4 ae0008 ldw x,#L021
3146 04e7 cd0000 call c_lumd
3148 04ea ae0004 ldw x,#L611
3149 04ed cd0000 call c_ludv
3151 04f0 a630 ld a,#48
3152 04f2 cd0000 call c_ladc
3154 04f5 b603 ld a,c_lreg+3
3155 04f7 ad96 call _putChr
3157 04f9 L1251:
3158 ; 934 if(num>=1000000)putChr(num%10000000/1000000+'0');
3160 04f9 96 ldw x,sp
3161 04fa 1c0003 addw x,#OFST+3
3162 04fd cd0000 call c_ltor
3164 0500 ae000c ldw x,#L221
3165 0503 cd0000 call c_lcmp
3167 0506 251d jrult L3251
3170 0508 96 ldw x,sp
3171 0509 1c0003 addw x,#OFST+3
3172 050c cd0000 call c_ltor
3174 050f ae0004 ldw x,#L611
3175 0512 cd0000 call c_lumd
3177 0515 ae000c ldw x,#L221
3178 0518 cd0000 call c_ludv
3180 051b a630 ld a,#48
3181 051d cd0000 call c_ladc
3183 0520 b603 ld a,c_lreg+3
3184 0522 cd048f call _putChr
3186 0525 L3251:
3187 ; 935 if(num>=100000)putChr(num%1000000/100000+'0');
3189 0525 96 ldw x,sp
3190 0526 1c0003 addw x,#OFST+3
3191 0529 cd0000 call c_ltor
3193 052c ae0010 ldw x,#L421
3194 052f cd0000 call c_lcmp
3196 0532 251d jrult L5251
3199 0534 96 ldw x,sp
3200 0535 1c0003 addw x,#OFST+3
3201 0538 cd0000 call c_ltor
3203 053b ae000c ldw x,#L221
3204 053e cd0000 call c_lumd
3206 0541 ae0010 ldw x,#L421
3207 0544 cd0000 call c_ludv
3209 0547 a630 ld a,#48
3210 0549 cd0000 call c_ladc
3212 054c b603 ld a,c_lreg+3
3213 054e cd048f call _putChr
3215 0551 L5251:
3216 ; 936 if(num>=10000)putChr(num%100000/10000+'0');
3218 0551 96 ldw x,sp
3219 0552 1c0003 addw x,#OFST+3
3220 0555 cd0000 call c_ltor
3222 0558 ae0014 ldw x,#L621
3223 055b cd0000 call c_lcmp
3225 055e 251d jrult L7251
3228 0560 96 ldw x,sp
3229 0561 1c0003 addw x,#OFST+3
3230 0564 cd0000 call c_ltor
3232 0567 ae0010 ldw x,#L421
3233 056a cd0000 call c_lumd
3235 056d ae0014 ldw x,#L621
3236 0570 cd0000 call c_ludv
3238 0573 a630 ld a,#48
3239 0575 cd0000 call c_ladc
3241 0578 b603 ld a,c_lreg+3
3242 057a cd048f call _putChr
3244 057d L7251:
3245 ; 937 if(num>=1000)putChr(num%10000/1000+'0');
3247 057d 96 ldw x,sp
3248 057e 1c0003 addw x,#OFST+3
3249 0581 cd0000 call c_ltor
3251 0584 ae0018 ldw x,#L031
3252 0587 cd0000 call c_lcmp
3254 058a 251d jrult L1351
3257 058c 96 ldw x,sp
3258 058d 1c0003 addw x,#OFST+3
3259 0590 cd0000 call c_ltor
3261 0593 ae0014 ldw x,#L621
3262 0596 cd0000 call c_lumd
3264 0599 ae0018 ldw x,#L031
3265 059c cd0000 call c_ludv
3267 059f a630 ld a,#48
3268 05a1 cd0000 call c_ladc
3270 05a4 b603 ld a,c_lreg+3
3271 05a6 cd048f call _putChr
3273 05a9 L1351:
3274 ; 938 if(num>=100)putChr(num%1000/100+'0');
3276 05a9 96 ldw x,sp
3277 05aa 1c0003 addw x,#OFST+3
3278 05ad cd0000 call c_ltor
3280 05b0 ae0000 ldw x,#L01
3281 05b3 cd0000 call c_lcmp
3283 05b6 251d jrult L3351
3286 05b8 96 ldw x,sp
3287 05b9 1c0003 addw x,#OFST+3
3288 05bc cd0000 call c_ltor
3290 05bf ae0018 ldw x,#L031
3291 05c2 cd0000 call c_lumd
3293 05c5 ae0000 ldw x,#L01
3294 05c8 cd0000 call c_ludv
3296 05cb a630 ld a,#48
3297 05cd cd0000 call c_ladc
3299 05d0 b603 ld a,c_lreg+3
3300 05d2 cd048f call _putChr
3302 05d5 L3351:
3303 ; 939 if(num>=10)putChr(num%100/10+'0');
3305 05d5 96 ldw x,sp
3306 05d6 1c0003 addw x,#OFST+3
3307 05d9 cd0000 call c_ltor
3309 05dc ae001c ldw x,#L231
3310 05df cd0000 call c_lcmp
3312 05e2 251d jrult L5351
3315 05e4 96 ldw x,sp
3316 05e5 1c0003 addw x,#OFST+3
3317 05e8 cd0000 call c_ltor
3319 05eb ae0000 ldw x,#L01
3320 05ee cd0000 call c_lumd
3322 05f1 ae001c ldw x,#L231
3323 05f4 cd0000 call c_ludv
3325 05f7 a630 ld a,#48
3326 05f9 cd0000 call c_ladc
3328 05fc b603 ld a,c_lreg+3
3329 05fe cd048f call _putChr
3331 0601 L5351:
3332 ; 940 if(num>=0)putChr(num%10+'0');
3334 0601 96 ldw x,sp
3335 0602 1c0003 addw x,#OFST+3
3336 0605 cd0000 call c_ltor
3338 0608 ae001c ldw x,#L231
3339 060b cd0000 call c_lumd
3341 060e b603 ld a,c_lreg+3
3342 0610 ab30 add a,#48
3343 0612 cd048f call _putChr
3345 ; 941 }
3348 0615 81 ret
3384 ; 943 void putIntLine(unsigned long num)
3384 ; 944 {
3385 switch .text
3386 0616 _putIntLine:
3388 00000000 OFST: set 0
3391 ; 945 putInt(num);
3393 0616 1e05 ldw x,(OFST+5,sp)
3394 0618 89 pushw x
3395 0619 1e05 ldw x,(OFST+5,sp)
3396 061b 89 pushw x
3397 061c cd04ce call _putInt
3399 061f 5b04 addw sp,#4
3400 ; 946 putChr('\r');
3402 0621 a60d ld a,#13
3403 0623 cd048f call _putChr
3405 ; 947 putChr('\n');
3407 0626 a60a ld a,#10
3408 0628 cd048f call _putChr
3410 ; 948 }
3413 062b 81 ret
3467 ; 950 void putHex(unsigned char* buf,unsigned long bufSize)
3467 ; 951 {
3468 switch .text
3469 062c _putHex:
3471 062c 89 pushw x
3472 062d 5204 subw sp,#4
3473 00000004 OFST: set 4
3476 ; 952 unsigned long i=0;
3478 062f ae0000 ldw x,#0
3479 0632 1f03 ldw (OFST-1,sp),x
3480 0634 ae0000 ldw x,#0
3481 0637 1f01 ldw (OFST-3,sp),x
3482 ; 953 for(i=0;i<bufSize;i++)
3484 0639 ae0000 ldw x,#0
3485 063c 1f03 ldw (OFST-1,sp),x
3486 063e ae0000 ldw x,#0
3487 0641 1f01 ldw (OFST-3,sp),x
3489 0643 2012 jra L7061
3490 0645 L3061:
3491 ; 955 putChr(buf[i]);
3493 0645 1e05 ldw x,(OFST+1,sp)
3494 0647 72fb03 addw x,(OFST-1,sp)
3495 064a f6 ld a,(x)
3496 064b cd048f call _putChr
3498 ; 953 for(i=0;i<bufSize;i++)
3500 064e 96 ldw x,sp
3501 064f 1c0001 addw x,#OFST-3
3502 0652 a601 ld a,#1
3503 0654 cd0000 call c_lgadc
3505 0657 L7061:
3508 0657 96 ldw x,sp
3509 0658 1c0001 addw x,#OFST-3
3510 065b cd0000 call c_ltor
3512 065e 96 ldw x,sp
3513 065f 1c0009 addw x,#OFST+5
3514 0662 cd0000 call c_lcmp
3516 0665 25de jrult L3061
3517 ; 957 }
3520 0667 5b06 addw sp,#6
3521 0669 81 ret
3534 xref _strlen
3535 xdef _putHex
3536 xdef _putIntLine
3537 xdef _putInt
3538 xdef _putStrLine
3539 xdef _putStr
3540 xdef _putChrLine
3541 xdef _putChr
3542 xdef _UART2_ClearITPendingBit
3543 xdef _UART2_GetITStatus
3544 xdef _UART2_ClearFlag
3545 xdef _UART2_GetFlagStatus
3546 xdef _UART2_SetPrescaler
3547 xdef _UART2_SetGuardTime
3548 xdef _UART2_SetAddress
3549 xdef _UART2_SendBreak
3550 xdef _UART2_SendData9
3551 xdef _UART2_SendData8
3552 xdef _UART2_ReceiveData9
3553 xdef _UART2_ReceiveData8
3554 xdef _UART2_ReceiverWakeUpCmd
3555 xdef _UART2_WakeUpConfig
3556 xdef _UART2_SmartCardNACKCmd
3557 xdef _UART2_SmartCardCmd
3558 xdef _UART2_LINCmd
3559 xdef _UART2_LINConfig
3560 xdef _UART2_LINBreakDetectionConfig
3561 xdef _UART2_IrDACmd
3562 xdef _UART2_IrDAConfig
3563 xdef _UART2_ITConfig
3564 xdef _UART2_Cmd
3565 xdef _UART2_Init
3566 xdef _UART2_DeInit
3567 xref _CLK_GetClockFreq
3568 xref.b c_lreg
3569 xref.b c_x
3588 xref c_lgadc
3589 xref c_ladc
3590 xref c_lumd
3591 xref c_lcmp
3592 xref c_lursh
3593 xref c_lsub
3594 xref c_smul
3595 xref c_ludv
3596 xref c_rtol
3597 xref c_llsh
3598 xref c_ltor
3599 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -