欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

第12章 用到棧的跳轉(X86匯編教程)

作者:51hei   來源:本站原創   點擊數:  更新時間:2013年12月23日   【字體:

本X86匯編教程目錄 http://m.raoushi.com/mcu/2619.html

        用過高級語言的同學都知道.高級語言有函數概念.可以跳轉到某地方執行代碼計算一些東西,計算完成后可以返回原處繼續執行代碼.現在我們要用匯編實現這個了...嘛

        方法是這樣的:在跳轉前,先把IP寄存器的值壓入堆棧,然后跳轉,計算后要返回再出棧到IP即可.是不是覺得稍微麻煩了點?其實8086提供了相關指令,幫我們輕松完成:


指令名                :CALL

指令說明             :和JMP相同,只是在跳轉前會把當前地址壓棧,方便返回


指令名                :RET

指令說明             :沒有操作數,指令執行效果相當于POP IP,也就是返回



 

實例代碼:
JMP START;跳轉到代碼開始處
AXQingLing:;這里是"AX清零函數"的起點(其實就是個標號)
MOV AX,0000H;AX清零
RET;返回
START:;代碼開始
MOV AX,1234H;往AX隨便寫個數字
CALL AXQingLing;調用"AX清零函數"(其實就是個跳轉)
;代碼到此結束
 

請把我的實例編譯后放進Debug試試吧.

作業:在我的實例中增加個"BX和CX一起清零函數",并在我的實例中"調用AX清零"之后"調用"一次,(記得用RET返回啊...)

 

關閉窗口

相關文章