彙編指令的一些使用

2021-06-26 16:10:31 字數 809 閱讀 9620

setb

setb是

彙編指令

,意思是把其後面的那個

暫存器的位置1

mcs-51的

位操作命令。setb et0 ;開定時/計數器0允許 setb是

彙編指令

,意思是把其後面的那個

暫存器的位置1。 et0是定時/計數器0的中斷允許位,為1時,

微控制器會響應定時/計數器0的溢位中斷(當然,總中斷也必須容許)。為0時,

微控制器不響應。這句意思就是,把et0置為1。這會導致

微控制器會響應定時/計數器0的溢位中斷setb tr0 ;定時/計數器0開始執行 tr0是微控制器會響應定時/計數器0的啟動位,為1,就啟動定時/計數器0;為0,就停止定時/計數器0的執行。

acall

短呼叫指令。

短 表現在所呼叫的子程式位址必須與acall指令下一條指令的第乙個位元組在同乙個2kb區內(即16位位址中的高5位位址相同),否則將引起程式轉移混亂。

如果acall指令正好落在區低的2個單元內,程式就轉移到下乙個區中去。因為在執行呼叫操作之前pc先加了2.

執行過程分解

本指令為雙位元組、雙週期指令。執行完本指令,程式計數器內容先加2,指向下一條指令的位址;然後將pc值壓入堆疊儲存,棧指標(sp)加2;接著將11位目標位址(addr10~0)送程式計數器的低11位(pc10~0),pc值的高5位(pc15~11)不變,即由指令第一位元組的低3位(a10 a9 a8)、第二位元組(addr7~0)共11位和當前pc值的高5位(pc15~11)組成16位轉移目標位址。因此了,所呼叫的子程式首位址必須在acall指令後第一位元組開始的2kb範圍內的程式儲存器中。

彙編的一些程式

led閃爍的簡單試驗 org 0000h 程式從此位址開始執行 ljmp main 跳轉到 main 程式處 org 030h main 從030h處開始 main mov p2 00h p2為低電平 led 燈亮 acall delay 呼叫延時子程式 mov p2 0ffh acall dela...

Oracle的一些指令

1 檢視所有的資料庫例項 select fromv instance 如 ora9i 2 檢視當前庫的所有資料表 sql select table name from all tables select from all tables 返回所有表 select table name from all...

linux 的一些指令

ls pwd 顯示使用者當前所在的目錄 cd 將當前工作目錄改變到指定目錄下 touch 建乙個檔案 rmmkdir 建立目錄 rmdir 刪除目錄或者檔案 man cp src dest ctrl l 清屏 clear su username 切換賬戶到username 退出賬戶 exit 0 c...