![]() |
188610329 發表于 2022-11-1 11:12 多謝解答 ![]() |
censv 發表于 2022-10-31 22:06 不是, 懸浮顯示是 KEIL 通過你的C語言代碼,而進行的 時實轉匯編的功能,“解析”出來的。 右下角的內存狀態框,是“仿真”功能,通過編譯后的單片機執行代碼,模擬運行后出來的結果。 由于C語言編譯的時候,大小寫不同是不同的變量,生成的最終 單片機執行代碼,是指向不同的地址。 而,匯編在編譯的時候,大小寫不同是同一個變量,所以,實施解析和 “仿真” 會有不同的結果。 所以,懸浮顯示就當一個參考就好了,最終還是要看 內存狀態框的變化。 |
188610329 發表于 2022-10-31 21:04 喔,明白了,多謝 ![]() 那為何右下角的棧變量能正確解析,不是一個解析方式嗎? |
censv 發表于 2022-10-31 19:22 他把 p1 當作了 P1 顯示地址為: 0x90 |
188610329 發表于 2022-10-31 17:49 動態解析不區分大小寫?求細說 |
censv 發表于 2022-10-31 17:36 哦,你這是名字問題, KEIL 的動態解析不區分大小寫,所以錯誤,你換個名字就好了, 比如 *Test1 之類的。 |
censv 發表于 2022-10-31 17:36 看匯編是藏在0x8里面,至于為什么顯示0x90?可能是個bug。 |
你聲明的是通用指針,一共三個字節,你只顯示一個字節自然只有0xff,代表類型的這個值了羅,0x00和0x1c就被藏了唄。 |