久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

大小端判斷代碼解析

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年04月27日   【字體:
大端模式:高位字節存在低位地址上
小端模式:高位字節存在高位地址上
用來判斷大端模式和小端模式的代碼如下
//獲取CPU大小端模式,結果保存在cpu_endian里面
void find_cpu_endian(void)
int x=1;
if(*(char*)&x==1)cpu_endian=0;                 //小端模式 
else cpu_endian=1; //大端模式  
if(*(char*)&x==1)解釋一下這一句.
&x:取x的地址
(char*)&x:將x的地址變成char類型的指針.指向的內容截取了int x中的第一個字節上的內容.
(*(char*)&x==1):取出指針的內容判斷是否與1相同

來看看匯編代碼

movs r0,#0x01       //int x=1;
ldrb r1,[r0,#0x00]  //加載r0中的無符號字節數據到r1
cmp r1,#0x01    bne 0x08000266      //判斷r1中的值是否為1不是跳轉到266
movs r1,#0x00       //給r1寄存器寫零
ldr r2,[pc,#176]   //pc指針所在的地址加上#176得到的地址保存在r2上
strb r1,[r2,#0x00]  //把r1的值保存在r2中的地址上返回endian的值
關閉窗口

相關文章

主站蜘蛛池模板: 一本在线| 欧美电影网 | 国产精品美女一区二区 | www.国产一区 | 中文字幕日韩一区 | 水蜜桃久久夜色精品一区 | 久久国产精品一区二区三区 | 福利视频网址 | 国产一区二区精品在线 | 中文字幕不卡在线观看 | 九九热在线视频 | 欧美一区2区三区4区公司 | 国产激情视频在线观看 | 91国产精品在线 | 国产精品久久久久久久久久三级 | a在线视频 | av大片在线观看 | 国产乱码精品1区2区3区 | 欧美国产日韩在线观看 | 日韩在线不卡视频 | 久久久久久国产 | 国产精品人人做人人爽 | 天天爱av| 欧美日韩中文国产一区发布 | 日韩精品一区二区三区在线播放 | 欧美黄色性生活视频 | 天堂一区| 日韩欧美一级精品久久 | 97久久精品午夜一区二区 | 亚洲免费久久久 | 男人天堂手机在线视频 | 国产成人一区二区三区 | 欧美久久久久 | 日韩视频在线免费观看 | 色视频一区二区 | www国产亚洲精品久久网站 | 精品视频一二区 | 国内精品久久久久久 | 久久av网站 | 在线中文字幕第一页 | 色妹子综合网 |