本教程目錄 http://www.zg4o1577.cn/mcu/2619.html
最近發(fā)生了一些事情,沒法像以前那么上網了,手指受了點傷打字也不方便,所以隔了那么久,寫這章是為了說明:"這教程還沒掛,不要放棄這教程!",寫完這章我會停更一段時間.安心養(yǎng)傷...另外,現(xiàn)在是借用別人的PC寫教程無法截圖什么的請原諒...
這一章講的是跳轉,跳轉是什么呢?跳轉就是當代碼執(zhí)行到一定地方后跳到另一個地方去執(zhí)行.跳轉是很重要的,有了跳轉電腦才能根據(jù)鼠標鍵盤的操作執(zhí)行相應的代碼.如果沒有跳轉,電腦就只能按照設定的路一直走.管你鼠標鍵盤怎么動.一段代碼執(zhí)行過去就死機了.而有了跳轉,你按下鼠標的時候電腦就能跳轉到鼠標相關代碼去執(zhí)行.
不過,能根據(jù)情況判斷的跳轉是比較復雜的,要很久之后才教,這一章先教"無條件跳轉",所謂的無條件跳轉就是不管什么情況,有沒有碰到鼠標鍵盤只要運行到無條件跳轉代碼都會跳轉."圖"解↓
某行代碼
某行代碼
某行代碼
無條件跳轉代碼,向下跳3行──┐
某行代碼 │
某行代碼 │
某行代碼←─────────┘
某行代碼
某行代碼
就這樣,CPU碰到跳轉代碼后就會跳轉到代碼指定的地方執(zhí)行.可以上跳也可以下跳.當然,不可能用行數(shù)來表達想跳轉的地方的.因為匯編終究會轉換成機器碼,機器碼可不是按行來算的,而是字節(jié).不過,放心,我們學的是匯編,不是機器碼,我們只要告訴編譯器我們要跳轉到哪一行,匯編編譯器會自動把相差的字節(jié)數(shù)計算出來寫上去的.
那么,我們如何告訴編譯器,我們要跳轉到哪一行呢?這就得用到標號了.還記得前邊講解的匯編代碼格式嗎?在指令名前邊還能加個叫做"標號"的東西,用":"(不含雙引號)和指令區(qū)分開.實例如下↓
BiaoHao:MOV AX,BX
我們可以在匯編指令前面加個標號,然后在我們的跳轉指令里邊加上這個標號,就能跳轉到這行代碼了.
好了,說了這么多,該介紹跳轉指令了...
指令名 :JMP
操作數(shù)數(shù)量 :1
操作數(shù)名 :內存地址(就是代碼標號啦)
指令用途 :跳轉到內存指定地方執(zhí)行代碼
實例:
某行代碼
某行代碼
JMP BiaoHao
某行代碼
某行代碼
BiaoHao:MOV AX,BX
某行代碼
恩,這一章就講到這里了.
例行作業(yè):
編寫一段程序,要求有2個以上的標號.
3次以上的跳轉
禁止跳轉到同一個地方超過2次
作業(yè)提交郵箱:o7007@vip.qq.com
提交作業(yè)請發(fā)代碼..我可不想去debug里跟蹤程序..