;------------------------------------
; @清零未初始化数据段
;------------------------------------
clear_bss
ldr r0, =|Image$$ZI$$Base|
ldr r1, =|Image$$ZI$$Limit|
mov r2, #0x00000000
clbss_l
str r2, [r0], #4
cmp r0, r1
bcc clbss_l
;------------------------------------
Uart_Printf("Test toupper('O')=%c\n",toupper('O'));
打印结果 :Test toupper('O')=/
toupper函数转换其他字符正常 只有大写'O'变成'/'。。。
如果把上面那段“清零未初始化数据段” 代码 不用
Uart_Printf("Test toupper('O')=%c\n",toupper('O'));
打印结果: Test toupper('O')=O
toupper函数转换字符‘0’正常
请高手分析下原因何在???
1楼
toupper函数是谁写的?系统的,还是你自己写的? 最后的转换字符是 零 还是字母 有些分不清楚? 清零未初始化是干什么用的? 用的什么编译器啊?
2楼
toupper函数 是C库函数 不是自己写的 最后的转换字符是大写字母'O' 转换其他字符正常,编译环境 RVDS4.0+S3C6410
最新人才