第3章指令系統2016素材_第1頁
第3章指令系統2016素材_第2頁
第3章指令系統2016素材_第3頁
第3章指令系統2016素材_第4頁
第3章指令系統2016素材_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.第第3章章 S12指令系統指令系統.3.1 指令系統簡介指令系統簡介 豐富、強大、靈活,豐富、強大、靈活,16位處理,共位處理,共400多條。與硬件系統對應。多條。與硬件系統對應。 按功能分類:按功能分類: 數據傳送、算術運算、邏輯運算、數據傳送、算術運算、邏輯運算、位操作位操作、 移位、控制、特殊。移位、控制、特殊。 尋址方式多。尋址方式多。3.1.1 S12CPU的內部寄存器的內部寄存器 特點:特點:n默認地址空間:默認地址空間: $0000$03FF(1K),實際使用,實際使用512Bn除一般數據讀除一般數據讀/寫外,還可直接移位、置位、清零、位寫外,還可直接移位、置位、清零、位測試等

2、復雜操作測試等復雜操作n數據傳送速度較數據傳送速度較RAM快快.S12XCPU寄存器寄存器 n累加器累加器D 16位位=累加器累加器A(高高8位位)+累加器累加器B(低低8位位)。 常用于數據處理。常用于數據處理。n 變址寄存器變址寄存器X、Y 各各16位,常用于尋址操作。位,常用于尋址操作。n 堆棧指針寄存器堆棧指針寄存器SP( 16位)位) 指向堆棧區(qū)的頂部指向堆棧區(qū)的頂部 。 自動處理自動處理中斷、子程序返回地址。中斷、子程序返回地址。 參數傳遞,零時保存數據。初始化。參數傳遞,零時保存數據。初始化。n 程序計數器程序計數器PC 16位,程序運行的地址指向位,程序運行的地址指向下一條將下

3、一條將 要執(zhí)行的指令,要執(zhí)行的指令,可讀,不可寫可讀,不可寫 。 取指令后自動增加。取指令后自動增加。 .n 程序狀態(tài)寄存器程序狀態(tài)寄存器CCR 8位位 復位默認值:復位默認值:1101 0000BBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0SXHINZVCn S-STOP指令禁止位。復位指令禁止位。復位1,1:禁止:禁止CPU執(zhí)行執(zhí)行STOPn X-非屏蔽中斷屏蔽位。復位非屏蔽中斷屏蔽位。復位1:屏蔽來自:屏蔽來自XIRQ引腳的中斷請求引腳的中斷請求n H-輔助進位。輔助進位。BCD操作時累加器操作時累加器A的低的低4位的進位位的進位n I-中斷屏蔽位。復位中斷屏蔽位。復

4、位1,1:屏蔽所有可屏蔽中斷源:屏蔽所有可屏蔽中斷源nN-符號位。當指令運算結果為負時置符號位。當指令運算結果為負時置1nZ-0標志位。當指令運算結果為標志位。當指令運算結果為0時置時置1nV-補碼溢出標志位。當指令運算結果出現補碼溢出時置補碼溢出標志位。當指令運算結果出現補碼溢出時置1nC-進位標志。當加法運算結果產生進位(減法借位)時置進位標志。當加法運算結果產生進位(減法借位)時置1.4.2 尋址方式尋址方式 尋址:尋找操作數地址的過程。尋址:尋找操作數地址的過程。有效地址有效地址(effective address):操作數所在的地址。:操作數所在的地址。尋址方式:通過確定操作數所在的

5、地址,提取操作數的方法。尋址方式:通過確定操作數所在的地址,提取操作數的方法。 S12有有7大種尋址方式:大種尋址方式:一一. 隱含尋址隱含尋址(INH) - 特點單字節(jié)指令特點單字節(jié)指令 如如 ROLA ;循環(huán)左移,操作數循環(huán)左移,操作數A隱含在指令中隱含在指令中 EDIV ;助記符中無寄存器名稱出現助記符中無寄存器名稱出現 INCA ;加一,操作數;加一,操作數A隱含在指令中隱含在指令中 有效地址包含在操作碼中,操作數是有效地址包含在操作碼中,操作數是CPU的寄存器。的寄存器。 操作碼操作碼 指令指令 操作操作 1 87 CLRA $00A 2 67 CLRB $00B.n立即尋址:指令的

6、操作數是一個立即尋址:指令的操作數是一個8位或位或16位二進制數;位二進制數;n指令中出現的操作數稱為立即數;指令中出現的操作數稱為立即數;n立即尋址常用來給寄存器賦值;立即尋址常用來給寄存器賦值;二二. 立即數尋址立即數尋址(IMM)如如 LDDA #$FF (將十六進制數(將十六進制數FF調入調入A中,中,#表示立即數)表示立即數) 機器碼機器碼 指令指令 操作操作 1 86 0D LDAA#13 ; $0DA 2 CF 02FE LDS#$02FF ; $02FFSP 3 CE 12 34 LDX#$1234; $1234X 4 CD 00 67 LDY#$67 ; $0067Y 5 8

7、A 0B ORAA#%00001011 ; (A)$0BA .三三. 直接尋址直接尋址(DIR)- zero page addressing 地址范圍:地址范圍:$00 TO $FF = $0000 TO %00FF; CUP 自動添加高自動添加高8位為位為$00. 特點:指令短、速度快。特點:指令短、速度快。 機器碼機器碼 指令指令 操作操作 96 55 LDAA $55 ;($0055)A DC 20 LDX $20 ;($0020:$0021)X四四. 擴展尋址擴展尋址(EXT) 如如 LDAA $F03B (16位地址)位地址) LDAA #$F03B ? 機器碼機器碼 指令指令 操作

8、:操作:($0040)A 86 40 LDAA $40 ;直接尋址;直接尋址 B6 00 40 LDAA $0040 ;使用擴展尋址;使用擴展尋址.五五. 相對尋址相對尋址(REL) SHIFT: LDAA #$55 BRA SHIFT (相對地址跳轉)(相對地址跳轉) 20 FE TRAP: BRA TRAP ;PC-2PC 程序利用轉移指令返回到指令首址,程序在該行落入程序利用轉移指令返回到指令首址,程序在該行落入陷阱,稱為陷阱,稱為“原地踏步原地踏步”。這是一種終止程序的普通。這是一種終止程序的普通方法,廣泛用于程序調試。方法,廣泛用于程序調試。.nn六六.變址尋址變址尋址 以某個寄存器

9、的內容為基本地址,然后在這個基本地址上以某個寄存器的內容為基本地址,然后在這個基本地址上加上地址偏移量,形成操作數地址或存放操作數地址的地址,加上地址偏移量,形成操作數地址或存放操作數地址的地址,并將這個地址單元的內容作為指令的操作數。并將這個地址單元的內容作為指令的操作數。.1.變址方式一般形成過程:變址方式一般形成過程: 操作數地址操作數地址= 偏移量偏移量 + 寄存器的內容寄存器的內容 (16位)位)2.偏移量定義范圍:偏移量定義范圍: 3 位正數位正數 1 - 8 ; 不含不含0 5 位數位數 -16 - 15 9 位數位數 -256 - 255 16位數位數 -32768 - 327

10、67 累加寄存器內容累加寄存器內容A、B、D作為偏移量作為偏移量3.寄存器定義范圍:寄存器定義范圍: X 、Y、SP 、PC : 5、9、16累加器的偏移量累加器的偏移量 X、Y、SP : 3 位正數位正數 1 - 8 3.1 操作數地址操作數地址 = 偏移量偏移量 + a ) 類寄存器集合類寄存器集合 .地址地址 指令指令 操作數操作數C008 LDDA 1 , X ; 2字節(jié)字節(jié) 5位偏移量位偏移量C00A LDDA 15 , X ;2字節(jié)字節(jié) 5位偏移量位偏移量C00C LDAA 255 , X ;3字節(jié)字節(jié) 9位偏移量位偏移量C00F LDAA 0 , X ;2 5位偏移量位偏移量C0

11、11 LDAA 32767 , X ;4 16位偏移量位偏移量C015 LDAA A , X ;2 累加器偏移量累加器偏移量 C017 - 偏移量在指令中偏移量在指令中 IDX , 2字節(jié)指令。字節(jié)指令。 偏移量多偏移量多1個字節(jié)個字節(jié) IDX1, 3字節(jié)指令。字節(jié)指令。 偏移量多偏移量多2個字節(jié)個字節(jié) IDX2, 4字節(jié)指令。字節(jié)指令。 LDAA , X ;無偏移量;無偏移量 , 指令為指令為2B IDX ,等效指令等效指令 LDAA 0, X ;無偏移量;無偏移量 , 指令為指令為2B IDX ,等效指令等效指令 LDAA X ;無偏移量;無偏移量 , 指令為指令為2B IDX ,等效指令

12、等效指令 LDDA 7 , X ; 偏移量偏移量 = 5位位 ,2B IDX LDAA -150 , X ; 偏移量偏移量 = 9位位 ,3B IDX1 LDAA 10000, X ; 偏移量偏移量 = 16位位 ,4B IDX2.v語法:語法: operation , r ;無偏移;無偏移 operation 0 , r ;無偏移;無偏移 operation n , r ;正常數偏移量;正常數偏移量 operation -n, r ;負常數偏移量;負常數偏移量 r是變址寄存器是變址寄存器(IX,IY,SP,PC),n/-n是帶符號偏移量是帶符號偏移量(5位、位、9位、位、16位位)。. 3.

13、2 操作數地址 = 偏移量 + b)類寄存器集合 帶指針自動調整功能的變址尋址(IDX) 調整范圍在調整范圍在1- 8正數正數 ,寄存器:寄存器:X、Y、S 。 MOVW 2, X+ , 4 ,+Y STAA 1 , -SP STX 2 , -SP LDX 2 , SP+ LDAA 1 , SP+ 問題:下列指令屬于哪一類偏移量? LDAA 3 ,X ; LDAA 3 ,X+ ; 5位偏移量 -16 - 15 ; 3位 1-8偏移量.4. IDX 類變址尋址方法總結:類變址尋址方法總結: 偏移量或偏移量寄存器隱含在指令中,共有偏移量或偏移量寄存器隱含在指令中,共有3種對應變址方法:種對應變址方

14、法:n 偏移量偏移量1 8正數正數, xyp 和和 1 8 正數正數 ,xyp 。 INST oprx3 ,- xys INST oprx3 , +xys INST oprx3 , xys- INST oprx3 , xys+n 5位偏移量位偏移量 -16 - 15 , 變址寄存器變址寄存器xysp INST oprx5 , xyspn 寄存器偏移量寄存器偏移量A,B,D ,變址寄存器,變址寄存器 xysp INST abd ,xysp注:注:FREESCALE資料中,上述偏移量統一表示為資料中,上述偏移量統一表示為oprx0_xysp .5.間接指針尋址間接指針尋址INST OPRX16,X

15、YSPn間接間接16位常數偏移量變址尋址位常數偏移量變址尋址 IDX2.例:設指令執(zhí)行前例:設指令執(zhí)行前X = $1000,($100A) = $20,($100B) = $00,($2000) = $3A,($2001) = $1F。比較以下兩條指令的。比較以下兩條指令的執(zhí)行情況:執(zhí)行情況: LDAA $0A,X ;(X)+$0A)A ( X) + $0A = $1000 + $0A = $100A ($100A) = $20 A = $20 LDAA $0A,X ;(X)+$0A)A ( X) + $0A = $1000 + $0A = $100A ($100A) = $2000 ($20

16、00) = $3A A= $3A.INST D,XYSPn間接間接D變址尋址變址尋址 D、IDX偏移量范圍從偏移量范圍從-32768到到+32767. INC $1000 ;EXT INC 3,X+ ;IDX 1 - 8 INC 3,X ;IDX -16 - 15 INC D,X ;IDX INC 255 ,X ;IDX1 INC $1000,X ;IDX2 16偏移量偏移量 INC $1000,X ;IDX2 INC D,X ;D,IDX6.內存地址加一指令尋址方法內存地址加一指令尋址方法.4.3常用基本指令常用基本指令 4.3.1 傳輸類指令傳輸類指令 1.寄存器加載指令寄存器加載指令 L

17、OADn 功能:將功能:將內存內存數據加載到數據加載到寄存器寄存器n 源操作數內容不變。源操作數內容不變。n 支持尋址方式:支持尋址方式: IMM 、DIR、EXT、IDX、IDX1、IDX2、IDX2 、D,IDX。 不支持不支持 INH 、REL 尋址。尋址。n 對對CCR 影響:影響: V =0, N ,Z ,與,與C 無關。無關。 列:列:LDAA #$01 LDAA $01 LDAA $0001 如果內存如果內存 ( 0008)= 8F、(0009) = 00 , LDD $08 寄存器寄存器: A = 8F ,B = 00 。n M:M+1 M低地址低地址 , M+1高地址高地址

18、(M)()( M+1).寄存器加載指令列表寄存器加載指令列表. STX Y ;X寫入寫入Y指向數據地址指向數據地址 STX , Y ;等同上一條命令;等同上一條命令 STAB, ; STD$2000 ;2000 (A) 2001=(B) ;地址向高地址發(fā)展。;地址向高地址發(fā)展。寄存器存儲指令寄存器存儲指令STOREn功能:功能:累加器或寄存器內容寫入內存單元累加器或寄存器內容寫入內存單元。 源操作數不發(fā)生變化。源操作數不發(fā)生變化。n源操作數源操作數 A、B、D、X、Y、SPn尋址方式:尋址方式: DIR、EXT、 IDX、IDX1、IDX2 、 IDX2 、 D,IDX nCCR: N ,Z,

19、V=0 ,與,與C無關無關.寄存器存儲指令列表寄存器存儲指令列表.3.寄存器傳送指令寄存器傳送指令 (TAB TBA TFR 以外指令是以外指令是8位機兼容指令位機兼容指令)16位寄存器內容傳到位寄存器內容傳到8位時,位時, 低低8位內容裝入位內容裝入8位寄存器;位寄存器;8位寄存器內容傳到位寄存器內容傳到16位時,位時, 8位寄存器內容裝入低位寄存器內容裝入低8位,位, 并符號擴展并符號擴展. 寄存器傳送指令特點:寄存器傳送指令特點:n 傳到傳到CCR ,X不會發(fā)生不會發(fā)生0 到到 1 變化,即不能置位;變化,即不能置位;n TFR指令(除傳到指令(除傳到CCR以外)不會影響以外)不會影響C

20、CR的標志。的標志。n 注意:注意:TAB TBA 對對CCR影響同影響同LOAD ,STORE。n 所有指令在編譯后,所有指令在編譯后, 實際上隱含尋址方式。實際上隱含尋址方式。 列:列: TFR A , Y ; A=$0F , Y = $000F TFR X , B ; X=$0FEE , B = $EE TFR A , CCR .4.寄存器交換指令寄存器交換指令 EXG nEXG A/B/CC R , X/Y/SP ; 8位與位與16位交換位交換 X = $00:A/B/CCRnEXG X/Y/SP , A/B/CCR ; 16位與位與8位交換位交換 X = $00:A ;X = $FF

21、 : B/CCRn 源寄存器不同,結果不同!源寄存器不同,結果不同!n對對CCR沒有影響沒有影響 。EXG A,BEXG X,YEXG B,XEXG X,BEXG X,A注意:注意:EXG 編譯后是隱含尋址方式。建議一般不使用不編譯后是隱含尋址方式。建議一般不使用不匹配長度寄存器之間的交換指令匹配長度寄存器之間的交換指令.5.內存數據傳送指令內存數據傳送指令n功能:功能:內存到內存內存到內存的數據傳送。源操作數內容不變化。的數據傳送。源操作數內容不變化。n支持尋址方式:支持尋址方式:IMM -EXT ,IMM -IDX ,EXT-EXT EXT - IDX , IDX-EXT , IDX-ID

22、Xn不影響標志位不影響標志位;唯一不與寄存器發(fā)生關系的傳送指令;唯一不與寄存器發(fā)生關系的傳送指令;nIMM 尋址可以用于初始化內存塊;尋址可以用于初始化內存塊;列:列:MOVB $2000 , X MOVB $80 , 8 , Y ;(Y+8)=($0080) MOVW #$1234 ,1,Y+ ;(Y) = $12 , (Y+1)=$34 MOVW 2,X+ , 4,Y+ ; (Y)=(X),(Y+1)=(X+1) MOVB #12 , $0001 ; .6.堆棧操作指令進堆棧先減,再存儲數據;出堆棧先保存數據,再加進堆棧先減,再存儲數據;出堆棧先保存數據,再加。PSHX = STX 2,-

23、SPPULX = LDX 2,SP+.n堆棧操著指令堆棧操著指令尋址方式尋址方式SP 間接尋址。間接尋址。不影響不影響CCR,除除CCR相關彈出指令外。相關彈出指令外。隱含尋址。隱含尋址。 用途:參數傳遞。用途:參數傳遞。一種數據結構。一種數據結構。特點:1、各寄存器都可以入棧、出棧2、可以做8位、16位操作3、入棧時SP-1(2),出棧時SP+1(2).CPS $1000DES INSLDS $2000LEAS 4, XSTS , XTSX TSYTXSTYSn堆棧指針指令堆棧指針指令.7.有效地址加載指令n功能:將尋址模式的有效地址加載到寄存器功能:將尋址模式的有效地址加載到寄存器n特點:

24、不影響特點:不影響 CCRn支持尋址方式:支持尋址方式: IDX IDX1 IDX2,不支持間址方式不支持間址方式列:列:LDY #$2000 LEAS 4,Y+ ; SP=$2000, Y=2004 LDS 4,Y+ ; SP = (Y) LEAX B,Y ; X = B+Y LDX B,Y ; X = (B+X) .4.3.2運算類指令特點特點:所有加減指令結果都存放在寄存器所有加減指令結果都存放在寄存器R R 的加減法,尋址方式的隱含,沒有帶借進位的加減法,尋址方式的隱含,沒有帶借進位. ABX 和和 ABY 不影響不影響CCR.ABX = LEAX B , X ; ABY = LEAY

25、 B , XR-M 加減法尋址方法8種:IMM、DIR、EXT、IDX、IDX1、IDX2、IDX2 、D,IDX .2.加減加減1指令指令特點特點1:不影響借進位。方便循環(huán)控制:不影響借進位。方便循環(huán)控制特點特點2:對寄存器對寄存器 X、Y的增減,僅影響的增減,僅影響Z位位其它指令影響其它指令影響 :N,Z,VINS ,DES 指令指令 不影響不影響 CCR 特點特點3:SP的操作編譯自動轉變位的操作編譯自動轉變位LEAS指令指令列:列: INS - LEAS 1, SP對A、B、X、Y寄存器操作,效率高,指令僅1字節(jié)長.3.比較測試指令比較測試指令特點:比較指令對同等長度的數據進行比較;特

26、點:比較指令對同等長度的數據進行比較; 不改變操作數的內容。不改變操作數的內容。尋址:尋址:IMM、DIR、EXT、IDX、IDX1、IDX2、IDX2 、D,IDX A,B 比較隱含尋址比較隱含尋址 影響:影響: C、V、N、Z 列:列: CMPA #$30 , CPD 5,Y n測試指令用于測試內存、寄存器是否為測試指令用于測試內存、寄存器是否為$00;n不改變操作數的內容不改變操作數的內容,測試單位是字節(jié);測試單位是字節(jié);n V ,C位始終清零;影響位始終清零;影響 N ,Z;n尋址:尋址:EXT、IDX、IDX1、IDX2、IDX2 、D,IDX n無:無: IMM . DIR 列:

27、TST $1000 .4.求補運算指令求補運算指令n功能:求出寄存器或內存單元的補碼值;功能:求出寄存器或內存單元的補碼值;n支持:支持:EXT、IDX、IDX1、IDX2、IDX2 、D,IDXnCCR: N、Z、V、Cn對內存操作是按字節(jié)長度操作對內存操作是按字節(jié)長度操作問題:問題: LDAA #$80 NEGA 答案:答案: A=$80 v=1 . 對于一位十進制加法,每位數變化范圍對于一位十進制加法,每位數變化范圍09 。 對應的加法結果是對應的加法結果是0到到18。 BCD碼:用碼:用4位二進制碼表示一位十進制數位二進制碼表示一位十進制數 比如:比如: %0100 - 4 , %10

28、00 -8 對于兩個對于兩個 0110 0000 0000 0000 0.0110 0000 0000 0000- 1/4 +1/8 = 0.375注意:是無符號數的除法!注意:是無符號數的除法!.例例:分別用無符號和有符號乘法指令計算分別用無符號和有符號乘法指令計算$8000 $4000LDD#$8000 ;32768LDY#$4000 ;16384EMUL ;Y=$2000,D=$0000,按無符號數運算,按無符號數運算 32768 16384=536870912=$20000000LDD#$8000 ;-32768LDY#$4000 ;+16384EMULS ;Y=$E000,D=$00

29、00,按有符號數運算,按有符號數運算 -32768 16384=-536870912=$E0000000 EMUL和EMULS指令的區(qū)別在于,EMULS指令的結果用補碼表示.【例例】計算計算$4000$407F單元所有字節(jié)數據的平方,并把計算結果存放在單元所有字節(jié)數據的平方,并把計算結果存放在$4080開始的單元中,按字方式存儲。開始的單元中,按字方式存儲。ORG$8000MAIN: LDS #$0800;定義堆棧;定義堆棧 LDX#$4000;初始化數據塊指針;初始化數據塊指針 LDY#$4080;LOOP1: JSR SQUARE;求平方循環(huán);求平方循環(huán) INX;指向下一個數據;指向下一個

30、數據 CPX #$4080;所有數據的平方是否計算完畢?;所有數據的平方是否計算完畢? BNELOOP1;未完,循環(huán);未完,循環(huán)HERE: BRAHERE;原地踏步;原地踏步SQUARE : LDAA$00, X;(X)A,取,取1個數據個數據 TAB;(A) B MUL;計算數據的平方;計算數據的平方 STD $02, Y+;保存結果;保存結果 RTS.4.3.3邏輯指令邏輯指令寄存器寄存器CCR只有立即數尋址方式且無異或操作只有立即數尋址方式且無異或操作.特點:特點:A、B、CCR 、X、Y與與 立即數、或內存邏輯操立即數、或內存邏輯操作,結構放于作,結構放于寄存器;寄存器;用途:寄存器清

31、零某位或置位某位用途:寄存器清零某位或置位某位,測試內存數據。測試內存數據。CCR影響:影響:V=0, .2.清零和取反指令清零和取反指令清零指令執(zhí)行后,清零指令執(zhí)行后, CCR : Z=1, N=0,V=0,C=0取反指令執(zhí)行后,取反指令執(zhí)行后, CCR : V=0,C=1.3.位操作和位檢測指令位操作和位檢測指令ANDA #opr8BITA #opr8A #opr8 AA #opr8BCLR:將屏蔽碼為將屏蔽碼為1的對應位清的對應位清0,操作對象僅內存操作對象僅內存;BSET:將屏蔽碼為將屏蔽碼為1的對應位置的對應位置1,操作對象僅內存操作對象僅內存;列:列:BCLR $2000 , #$

32、81 ;最高最低位清零;最高最低位清零 BSET $55 , #$80 ;最高位置;最高位置 1 TST 、 AND 、BIT 、BCLR BSET 區(qū)別:區(qū)別:TST 對象內存、寄存器,是否為對象內存、寄存器,是否為0,操作數內容不變,強調數;,操作數內容不變,強調數;AND 對象內存和寄存器,操作數內容變化;強調位!對象內存和寄存器,操作數內容變化;強調位! BIT 對象內存和寄存器,操作數內容部不變,強調位!對象內存和寄存器,操作數內容部不變,強調位!BCLR、BSET位操作指令位操作指令 對象僅內存對象僅內存 ,操作數內容變化。,操作數內容變化。.4.移位指令移位指令n邏輯移位、循環(huán)移

33、位:控制操作邏輯移位、循環(huán)移位:控制操作n算術移位算術移位 :快速乘法,除法。:快速乘法,除法。協助記憶:n 算術:Arithmeticn 邏輯:Logicn 左:Leftn 右:Rightn 循環(huán):Rotate 算術左移(算術左移(ASL) 邏輯左移(邏輯左移(LSL) 算術右移(算術右移(ASR) 邏輯右移(邏輯右移(LSR) 循環(huán)左移(循環(huán)左移(ROL) 循環(huán)右移(循環(huán)右移(ROR).【例例】閱讀該程序段。程序運行前,(閱讀該程序段。程序運行前,($3800)$36。ORG$B000;程序起始地址;程序起始地址LDX #$3800;數據地址;數據地址LDAB0, X;(X)B TFRB,

34、 A; ANDA#$0F;屏蔽高;屏蔽高8位位STAA 1, X;(A) (X)+1=$3801LSRB;右移;右移1次次LSRB;LSRB;LSRB;STAB0, X;HERE: BRA HERE;原地踏步;原地踏步程序功能程序功能: 將地址將地址$3800存放的壓縮存放的壓縮BCD碼解壓縮,存放在碼解壓縮,存放在$3800:$3801單單元中,高位在低地址單元。元中,高位在低地址單元。程序執(zhí)行后:(程序執(zhí)行后:($3800)$03,(,($3801)$06,A$06,B$03。.4.3.4 程序控制類指令程序控制類指令1.無條件轉移指令無條件轉移指令JMP , LBRA ,BRA.2.短分

35、支跳轉指令短分支跳轉指令.2.短分支跳轉指令短分支跳轉指令 功能:在當前功能:在當前PC的值加上一個的值加上一個8位帶符號數的偏移量,位帶符號數的偏移量,即跳轉范圍:即跳轉范圍:128 127. 無符號 有符號$88 = 136 , -120CMPA #$88 ;136BHI L1.CMPA #$88 ;-120BGT L2. 注意:注意:n 1、只作檢測,滿足條件轉移,不影響標志位、只作檢測,滿足條件轉移,不影響標志位n 2、結果不回傳、結果不回傳n 例:例:BRCLR $20, #$81, LP1n BRSET $20, #$81, LP2 位條件轉移指令位條件轉移指令.3.長分支跳轉指令長分支跳轉指令 功能:在當前功能:在當前PC的值加上一個的值加上一個16位帶符號數的偏移量,位帶符號數的偏移量,即跳轉范圍:即跳轉范圍:32768 32767.4.循環(huán)控制指令特點:特點:1、不影響、不依賴標志位、不影響、不依賴標志位 2、轉移范圍是、轉移范圍是 256 2554字節(jié)數加法程序:字節(jié)數加法程序:ADD: LDX #$0B00 ;加數起始地址加數起始地址 LEAY 4, X ;被加數地址;被加數地址

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論