無條件絕對轉移指令
發布時間:2014/6/5 21:06:33 訪問次數:2142
這是兩字節指令,AD420ARZ-32指令中包含addrll共11位地址碼,轉移的目標地址必須和AJMP指令的下一條指令首字節位于程序存儲器的同- 2KB區內。在編寫程序時addrll -般用符號地址表示,但在匯編時會轉換為目標地址的aio"'ao,即11位地址。
絕對轉移指令僅為兩個字節指令,卻能提供2KB范圍的轉移空間,它比相對轉移指令的轉移范圍大得多。但是要求AJMP指令的轉移目標地址和PC+2的地址處于同- 2KB區域內,故其使用受到一定的限制。
無條件長轉移指令
長轉移指令是三字節指令,這條指令很簡單,執行時把指令操作數提供的16位目標地址ais "'ao裝入PC中,即PC= ais"'ao。和AJMP -樣,編程時用符號地址來表示16位目的地址,但在匯編時會轉換為真實地址。由于整個程序存儲器的空間為64KB(16位地址范圍),所以用長轉移指令可以跳到程序存儲器的任何位置。
短轉移指令
短轉移指令是兩字節指令,首字節為操作碼,第二字節為相對偏移量。它是一條無條件相對轉移指令,轉移的目標地址為:標地址=源地址+2+rel。源地址是SJMP指令操作
碼所在的地址,相對偏移量rel是一個用補碼表示的8位帶符號數,轉移范圍為-128~+127共256個單元,即從(PC-126)~(PC+129),因此轉移目標地址可以在SJMP指令的下條指令首字節前128個字節和后127個字節之間(或者SJMP指令的前126個字節和后129個字節之間)。
無條件間接轉移指令
這條指令的功能是把累加器A中的8位無符號數與數據指針DPTR的16位數相加,相加之和作為下~條指令的地址送入PC中,不改變A和DPTR的內容,也不影響標志。間接轉移指令采用變址方式實現無條件轉移,其特點是轉移地址可以在程序運行中加以改
變。例如,當把DPTR作為基地址且確定時,根據A的不同值就可以實現多分支轉移,故一條指令可完成多條條件判斷轉移指令功能,這種功能稱為散轉功能,所以間接轉移指令又稱為散轉指令。
這是兩字節指令,AD420ARZ-32指令中包含addrll共11位地址碼,轉移的目標地址必須和AJMP指令的下一條指令首字節位于程序存儲器的同- 2KB區內。在編寫程序時addrll -般用符號地址表示,但在匯編時會轉換為目標地址的aio"'ao,即11位地址。
絕對轉移指令僅為兩個字節指令,卻能提供2KB范圍的轉移空間,它比相對轉移指令的轉移范圍大得多。但是要求AJMP指令的轉移目標地址和PC+2的地址處于同- 2KB區域內,故其使用受到一定的限制。
無條件長轉移指令
長轉移指令是三字節指令,這條指令很簡單,執行時把指令操作數提供的16位目標地址ais "'ao裝入PC中,即PC= ais"'ao。和AJMP -樣,編程時用符號地址來表示16位目的地址,但在匯編時會轉換為真實地址。由于整個程序存儲器的空間為64KB(16位地址范圍),所以用長轉移指令可以跳到程序存儲器的任何位置。
短轉移指令
短轉移指令是兩字節指令,首字節為操作碼,第二字節為相對偏移量。它是一條無條件相對轉移指令,轉移的目標地址為:標地址=源地址+2+rel。源地址是SJMP指令操作
碼所在的地址,相對偏移量rel是一個用補碼表示的8位帶符號數,轉移范圍為-128~+127共256個單元,即從(PC-126)~(PC+129),因此轉移目標地址可以在SJMP指令的下條指令首字節前128個字節和后127個字節之間(或者SJMP指令的前126個字節和后129個字節之間)。
無條件間接轉移指令
這條指令的功能是把累加器A中的8位無符號數與數據指針DPTR的16位數相加,相加之和作為下~條指令的地址送入PC中,不改變A和DPTR的內容,也不影響標志。間接轉移指令采用變址方式實現無條件轉移,其特點是轉移地址可以在程序運行中加以改
變。例如,當把DPTR作為基地址且確定時,根據A的不同值就可以實現多分支轉移,故一條指令可完成多條條件判斷轉移指令功能,這種功能稱為散轉功能,所以間接轉移指令又稱為散轉指令。