freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第節(jié)指令系統(tǒng)ppt課件(編輯修改稿)

2025-01-04 05:29 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 完成這些操作是非常復(fù)雜的,需要測(cè)試每一個(gè) BCD 數(shù)值的結(jié)果和 H、 C 標(biāo)志位。而 DAA 指令則能很簡(jiǎn)單的完成這個(gè)操作。 下面例子展示了 2 種可能的情況:當(dāng) 2 個(gè) 8 位 BCD 數(shù)據(jù)相加,并且使用 DAA 指令對(duì)其進(jìn)行修正,以修正 BCD 和設(shè)置進(jìn)位標(biāo)志位。第一個(gè)例子展示了一種情況,BCD碼加法后結(jié)果不需要調(diào)整。第二個(gè)例子展示了另一種情況, BCD 碼加法后需要對(duì)結(jié)果調(diào)整。在第二個(gè)例子中 DAA 指令對(duì)數(shù)值加上了一個(gè)修正的因數(shù)并且調(diào)整了進(jìn)位標(biāo)志使其正確表示 BCD 加法的結(jié)果。 LDA $11 。BCD 11 ADD $22 。11 + 22 = 33 DAA 。在這個(gè)情況中沒(méi)有調(diào)整 LDA $59 。BCD 59 ADD $57 。59+57=$B0 。C=0,H=1,A=$B0 。想得到 59+57=116或者當(dāng)進(jìn)位置位時(shí) A=$16 DAA 。加 $66和設(shè)置進(jìn)位 。$B0+$66=$16進(jìn)位置位 邏輯操作指令 24 邏輯操作指令 24 這些指令執(zhí)行 8 位操作數(shù)的并行布爾運(yùn)算。邏輯指令均包括了兩個(gè)操作數(shù),一個(gè)是累加器 A,另一個(gè)在存儲(chǔ)器中。立即尋址、直接尋址、擴(kuò)展尋址或變址尋址等尋址方式 (和 H:X 或者 SP 相關(guān) )也允許用來(lái)訪問(wèn)操作數(shù)。累加器的每個(gè)位都執(zhí)行與、或和異或操作。邏輯操作的結(jié)果返回累加器,覆蓋原來(lái)的操作數(shù)。 LDA $0C 。位形式為 00001100 AND $0A 。位格式為 00001010 。結(jié)果是 $08 ................00001000 LDA $35 。位格式為 00110101 AND $0F 。位格式為 00001111 。結(jié)果是 $05 ………….00000101 邏輯操作指令 從示例中可看出這些操作和 BCLR 指令之間有些類似的地方。然而, BCLR 僅能夠在 $0000–$00FF 存儲(chǔ)區(qū)間使用, AND 能夠清零任何合并位,而 BCLR 僅能夠清零一位。 AND 能在幾個(gè)不同的尋址方式下使用與 A 運(yùn)算的存儲(chǔ)操作數(shù)。 LDA $0C 。位格式為 00001100 ORA $0A 。位格式為 00001010 。結(jié)果是 $0E ?!?0001110 ORA 操作和 BSET 指令之間有一些類似的地方。然而, BSET 僅僅被使用在存儲(chǔ)區(qū) $0000–$00FF, ORA 能夠設(shè)置任何合并位,而 BSET 僅能夠置位一位。 ORA 能在幾個(gè)不同的尋址方式下使用與 A 運(yùn)算的存儲(chǔ)操作數(shù)。 邏輯操作指令 A6 0C LDA $0C 。位格式為 00001100 A8 0A EOR $0A 。位格式為 00001010 。結(jié)果是 $06 ?!?0000110 B6 00 LDA PTAD 。讀 I/O端口 A A8 03 EOR $03 。低兩位異或操作 B7 00 STA PTAD 。更新 I/O端口 A “異或”常在操作數(shù)中用來(lái)鉗制某些位,有時(shí)被認(rèn)為是掩碼,每個(gè)位在掩碼通信時(shí)被設(shè)置成在另外的操作碼有效位并被反向鉗制。下面的例子是讀 I/O 端口,異或通過(guò)直接掩碼值 $03 鉗制兩個(gè)最小的有效位,然后向 I/O 端口寫入更新的結(jié)果。 邏輯操作指令 LDA $C5 。位格式為 11000101 COMA 。結(jié)果是 00111010 取反指令簡(jiǎn)單的轉(zhuǎn)換操作數(shù)的每個(gè)位,不要和求補(bǔ)指令相混淆,取負(fù)指令執(zhí)行的是一條算術(shù)運(yùn)算指令,即等效于與一個(gè)負(fù) 1 相乘。 位操作指令 14 位測(cè)試指令(邏輯操作) BCLR n,addr8 (其實(shí)是 8條指令,見下頁(yè) ) BSET n,addr8 ( 8 ) 位操作指令 14 位操作指令 14 位測(cè)試指令(邏輯操作) 位指令將相應(yīng)存儲(chǔ)地址中的操作數(shù)與 A 寄存器的每個(gè)位進(jìn)行“與操作” (就像 A 與 ),但是結(jié)果不存儲(chǔ)在累加器中。在執(zhí)行位指令后,根據(jù)與操作的結(jié)果來(lái)置位或清零條件碼寄存器 N 和 Z 位,以實(shí)現(xiàn)條件跳轉(zhuǎn)。如果使用“掩碼”方法進(jìn)行編程,則掩碼中的每個(gè)對(duì)應(yīng)位被測(cè)試,執(zhí)行 BIT 指令后,若測(cè)試位均不是 1 則 Z 位被置位。 位操作指令 14 位測(cè)試指令 LDA SCI1S1 。讀 SCI狀態(tài)寄存器 BIT (mOR+mNF+mFE+mPF) 。所有的錯(cuò)誤標(biāo)志的掩碼 BNE sciError 。如果有任何的錯(cuò)誤標(biāo)志被置位則轉(zhuǎn)移 。A中值未被改變 sciError:。 如果有任何的錯(cuò)誤標(biāo)志被置位,則跳轉(zhuǎn)到此 例如用于判斷 SCI1S1 中有關(guān)錯(cuò)誤標(biāo)志位的掩碼: mOR equ %00001000 。接收超時(shí)的掩碼 mNF equ %00000100 。接收干擾標(biāo)志的掩碼 mFE equ %00000010 。接收端幀差錯(cuò)的掩碼 mPF equ %00000001 。接收端奇偶校驗(yàn)失敗的掩碼 如果希望當(dāng) SCI1S1 中至少有一個(gè)錯(cuò)誤標(biāo)志被置位時(shí)轉(zhuǎn)移,則采用復(fù)合掩碼: (mOR+mNF+mFE+mPF)。上述程序則采用這種方法 . 位操作指令 14 位的置位與清零 讀 ——修改 ——寫 位的置位 (BSET)與清零 (BCLR)指令被認(rèn)為是位級(jí)的存儲(chǔ)指令,但是這些指令通常取一個(gè)完整的 8位的數(shù),修改指定的位,然后重寫整個(gè) 8 位的數(shù)。在某些情況下,例如當(dāng)目標(biāo)位置與 RAM 變量不對(duì)應(yīng)時(shí),這個(gè)微妙的操作將導(dǎo)致意想不到的結(jié)果。如果BSET或 BCLR 指令試圖改變非易失性存儲(chǔ)單元的某一位,通常這一位不會(huì)改變因?yàn)榉且资源鎯?chǔ)器要求更復(fù)雜的操作步驟來(lái)改變這一位。 某些狀態(tài)位是通過(guò)一定步驟清零的,這一步驟包括讀取狀態(tài)位后寫入到外設(shè)模塊的其他寄存器。使用者會(huì)驚訝的發(fā)現(xiàn) BSET 和 BCLR 指令能滿足讀取狀態(tài)寄存器的要求。為了避免這樣的問(wèn)題,只要記住 BSET 和 BCLR 指令是能并行讀取 8 位數(shù)據(jù)的讀 改 寫指令。 某些控制寄存器或 I/O 寄存器不能夠讀寫同一物理邏輯狀態(tài)。一般來(lái)說(shuō),在這些地址區(qū)域不使用讀 改 寫指令,因?yàn)樗鼈円苍S會(huì)產(chǎn)生意想不到的結(jié)果。 BSET 和 BCLR 指令能滿足讀取狀態(tài)寄存器的要求 . 。置位的例子 – 打開 TE而不需要改變 RE 16 1B BSET TE,SCI1C2 。SCI傳輸使能 。功能上與下面是相同的 B6 1B LDA SCI1C2 。讀當(dāng)前 SCCR2的值 AA 08 ORA mTE
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1