久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
問大家c51定義a為idata改成data程序運行和正常不一樣,什么原因?
[打印本頁]
作者:
jimjassdf
時間:
2018-6-29 22:51
標題:
問大家c51定義a為idata改成data程序運行和正常不一樣,什么原因?
本帖最后由 jimjassdf 于 2018-6-30 12:02 編輯
問大家c51定義int idata a改成int a程序編譯不出錯,運行和正常不一樣,什么原因?謝謝
作者:
deity0750
時間:
2018-12-19 15:13
人個經驗:不建議使用idata,idata會使用SFR特殊功能寄存器0x80H~0xFF,因為這塊通常用于中斷與函數調用的堆棧,程序處理不好的話會有沖突,導致程序異常。
Keil C51 語言中的關鍵字,代表了 RAM 不同區域的劃分
data:片內 RAM 從 0x00~0x7F
idata:片內 RAM 從 0x00~0xFF
pdata:片外 RAM 從 0x00~0xFF
xdata:片外 RAM 從 0x0000~0xFFFF
在 Keil 默認設置下, data 是可以省略的,即什么都不加的時候變量就是定義到 data 區域中的。
data 區域 RAM 的訪問在匯編語言中用的是直接尋址,執行速度是最快的。如果你定義成 idata,不僅僅可以訪問 data 區域,還可以訪問 0x80H~0xFF 的范圍,但加了 idata 關鍵字后,訪問的時候 51 單片機用的是通用寄存器間接尋址,速度較 data會慢一些。
而且我們平時大多數情況下不太希望訪問到 0x80H~0xFF,因為這塊通常用于中斷與函數調用的堆棧, 所以在絕大多數情況下,我們使用內部 RAM 的時候,只用 data 就可以了。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
夜夜爽99久久国产综合精品女不卡
|
久久精品超碰
|
国产午夜精品一区二区三区嫩草
|
日韩精品一区二区三区
|
日本精品视频一区二区
|
日韩久久久久久久久久久
|
欧美高清视频一区
|
最近日韩中文字幕
|
精品国产亚洲一区二区三区大结局
|
国产日本精品视频
|
天天av综合
|
日韩精品一区二区三区在线观看
|
91精品国产91久久久久久密臀
|
日韩成人一区
|
午夜欧美
|
日韩av最新网址
|
久久久成人网
|
成人av在线播放
|
亚洲欧美日韩在线一区二区
|
久久精品视频免费观看
|
久久中文字幕视频
|
亚洲成人福利在线观看
|
亚洲成人三级
|
91精品国产综合久久香蕉麻豆
|
特级特黄特色的免费大片
|
欧美激情一区二区三区
|
亚洲一区二区在线播放
|
青青草av
|
国产一区二区三区在线
|
久久69精品久久久久久久电影好
|
欧美在线一区二区三区
|
一区二区视频在线
|
亚洲精品日韩综合观看成人91
|
久久久精品久久
|
亚洲人成人一区二区在线观看
|
免费观看一级特黄欧美大片
|
久久99精品久久久久久秒播九色
|
国产婷婷精品
|
99久热在线精品视频观看
|
亚洲国产精品久久久
|
精品一区二区三区免费视频
|