《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 解决方案 > 澄清汇编数组和汇编及嵌入汇编之不同

澄清汇编数组和汇编及嵌入汇编之不同

2017-06-22
關鍵詞: 汇编语言

void MACRO_RETI(void)
{
asm_RETI() //里面就是一句匯編的RETI,它會搶先與函數自己的RET執行
}; //這個函數自己的RET永遠不執行到,因為跳走了

void __HotASM_START__ (void) //啟動時運行的代碼
{
MACRO_CLR_EA; //關中斷
MACRO_Check_Crack; //反破解陷阱
MACRO_RETI(); //釋放中斷優先級
MACRO_RETI(); //再釋放一次
MACRO_LJMP_ANY(main); //用壓棧和RET做的任意位置長跳轉,地址是main主程序
}; //這里其實會有個RET

     


菜農來澄清匯編數組和匯編及嵌入匯編最大的不同:
匯編數組內實際存放的是數據而非代碼,但用函數指針強行跳入后,數據變“升華”
為代碼。
它本來就是為動態鏈接而設計,故編譯期間是找不到靜態地址的,至少俺現在無
好辦法。
即使能找到靜態地址,如匯編的:
lcall xxxx; ajmp xxx
都屬于此類。
匯編數組是吳旭光教授與菜農為以后能在任何MCS/ARM/DSP上運行OS
所參照PC的動態鏈接庫DLL/LIB所設計的。
以前雖在DSP上應用,但很局限。
這次在51上大面積推廣,故菜農熬夜趕制了HotASM,HotCOM.HotMACRO等,
這樣可以用匯編數組(宏)通過COM接口直接相互訪問,而且可以和C函數通訊。
最近版本已全面支持C函數調用匯編數組宏,且宏在某些語句要比C精煉的多。
并且很容易加入“反逆向代碼”且不影響正常程序。
所以,匯編數組的編寫應該基于動態鏈接的思想,雖然這樣代碼效率會影響些
但不會影響主流。
菜農是實用主義,不愛說教,只看結果,不管過程。
所以不知XWJ的MACRO_RETI是否能運行???
課畢


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲精品女av网站| 伊人久久在线观看| 国产精品视频免费观看www| 国产精品亚洲自拍| 日韩在线第三页| 国产精品美女午夜av| 久久夜色撩人精品| 日本精品免费视频| 亚洲 中文字幕 日韩 无码| 国产精品久久久久7777| 韩国视频理论视频久久| 欧美激情一级精品国产| 亚洲a成v人在线观看| 国产精品美女久久久久久免费| 久久久久久久久久久99| 青青久久av北条麻妃海外网| 午夜免费电影一区在线观看| 国产精品吹潮在线观看| 国产精品视频在线观看| 国产一区二区在线免费视频v| 久久久久久久少妇| 久久久精品在线观看| 久久久久久久久亚洲| 久久视频在线观看中文字幕| 欧美日韩国产免费一区二区三区| 日本一区视频在线观看| 日韩网址在线观看| 日韩欧美在线一区二区| 日韩在线视频导航V| 国产精品自在线| 精品国产一区二区三区久久狼黑人| 亚洲视频在线观看日本a| 国产精品第一页在线| 国产精品欧美亚洲777777| 国产精品视频内| 成人av中文| 亚洲精品一区二区毛豆| 亚洲欧洲精品一区二区三区波多野1战4| 91av在线国产| 色婷婷综合成人| 欧美激情第6页V|