ACALL指令

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

基本介紹

  • 中文名:ACALL指令
  • 歸屬:彙編(機器語言)中指令。
  • 語法:ACALL addr11
  • 功能:ACALL是短調用指令
  • 類型:指令
歸屬,語法,機器碼格式,功能,執行過程分解,

歸屬

彙編(機器語言)中指令。

語法

ACALL addr11

機器碼格式

a10 a9 a8 1
0001










addr7~0










功能

如果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範圍內的程式儲存器中。

相關詞條

熱門詞條

聯絡我們