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

正文內(nèi)容

微機(jī)原理與應(yīng)用ppt課件(編輯修改稿)

2025-04-18 01:44 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 “目的 /源”形式的尋址方式注釋。 ? 一般在計(jì)算機(jī)系統(tǒng)中,尋址方式越多,表明其功能越強(qiáng) ,靈活性越大。 ? 尋址方式有 : 立即尋址 ,直接尋址 ,寄存器尋址 ,間接尋址 ,相對(duì)尋址 ,變址尋址 ,位尋址 . 尋址方式 1. 立即尋址 : MOV A, 71H ; A←# 71H , #表示立即數(shù), ←表示數(shù)據(jù)傳輸方向,累加器 /立即數(shù)。 在指令中數(shù)據(jù)以立即數(shù)的形式給出 .實(shí)際上是沒(méi)有操作數(shù)地址 . 2. 直接尋址 : MOV A, 3AH ; A←(3AH) ,其中( 3AH)表示 3AH單 元中的內(nèi)容,累加器 /直接地址。 指令中直接給出數(shù)據(jù)存放的地址號(hào) . 在直接尋址時(shí),指令中包含了操作數(shù)地址,操作數(shù)存貯在該地址單元中,可用于直接尋址的空間是,內(nèi)部 RAM低128字節(jié)包括其中的可位尋址區(qū)與特殊功能寄存器。 尋址方式 3. 寄存器尋址 : MOV A, R0 ; A←(R0) ,其中 (R0)表示 R0中的內(nèi)容,累加器 /寄存器。 指令中給出存放數(shù)據(jù)的寄存器名 . 在寄存器尋址時(shí)指定某一可尋址的寄存器中的內(nèi)容為操作數(shù)。 可用寄存器尋址的空間是: R0R7, ACC, CY(位 ), DPTR, AB。其中:對(duì)寄存器 ACC、 B、 DPTR、 CY其尋址時(shí)具體的寄存器隱含在其操作碼中的低三位指明,而用戶在 PSW中選擇 RS1, RS0確定寄存器組 . 尋址方式 4. 寄存器間接尋址 : MOV A, @R1 ; A←((R1)), R1中存放的是操作數(shù)地址,累加器 /間址。 指令中給出的是間址寄存器 ,間址寄存器的內(nèi)容才是數(shù)據(jù)所在的真正地址 .間址寄存器就是一個(gè)數(shù)據(jù)地址指針 . 在寄存器間接尋址時(shí),指令中給出的寄存器的內(nèi)容為操作數(shù)的地址,而將操作數(shù)地址中的內(nèi)容傳送到 A中, MCS51中可以用 R0或 R1間接尋址片內(nèi) 128字節(jié)或片外 RAM的 256字節(jié)范圍,可以用 DPTR或 PC間接尋址 64K字節(jié)外部 RAM包括 I/O口或程序存儲(chǔ)器。 尋址方式 5. 變址尋址 MOVC A, @A+DPTR ; A←((A)+(DPTR)), 累加器 /變址。 在變址尋址時(shí),由指令指定的偏移量寄存器中的內(nèi)容和變址寄存器 PC或 DPTR中的內(nèi)容相加所得的結(jié)果作為操作數(shù)的地址, A為偏移量寄存器,內(nèi)容為無(wú)符號(hào)數(shù),它和 DPTR中的內(nèi)容相加,得到操作數(shù)地址。 指令中給出基址寄存器和偏移寄存器之和 ,以他們的和作為數(shù)據(jù)存放的地址 . 不論用 DPTR或 PC作為基址指針,變址尋址方式都只適用于 MCS51的程序存貯器,通常用于讀取數(shù)據(jù)表格 (查表 ) 。 尋址方式 6. 相對(duì)尋址 SJMP rel ; PC←(PC)+ 2+ rel, 累加器 /相對(duì)。 在相對(duì)尋址時(shí),由指令中指定的地址偏移量 rel與本指令所在的單元地址(即程序計(jì)數(shù)器 PC中的內(nèi)容)相加得到真正操作數(shù)的地址。 偏移量有正有負(fù),以補(bǔ)碼形式給出( 128~ +127)。 例如: JC 80H ;含義是 C=1時(shí)跳轉(zhuǎn), 跳到 PC←( PC) +2+80H, 注意 80H是 128 的補(bǔ)碼 . 指令中給出的是目的地址與當(dāng)前程序地址之間的差值 . 尋址方式 7. 位尋址 SETB bit ; bit ←1,位尋址。 在位尋址時(shí),操作數(shù)是二進(jìn)制數(shù)的某一位 其位地址出現(xiàn)在指令中, 可用于位尋址的空間是,內(nèi)部 RAM的可 尋址區(qū)和 SFR區(qū)中的字節(jié)地址可以被 8整除 (即地址以“ 0”或“ 8”結(jié)尾)的寄存器所占空間。 指令中直接給出操作位的地址號(hào) . 數(shù)據(jù)傳送指令 通用傳送指令: MOV 1.立即數(shù)送累加器 A和內(nèi)部數(shù)據(jù)存儲(chǔ)器( Rn、片內(nèi) RAM、 SFR) MOV A, data ; A←data 立即數(shù) data送入 A中,累加器 /立即數(shù) MOV data, data ; data←data 立即數(shù)送入 data地址單元中,直接 /立即 MOV @Ri, data ; (Ri)←data 立即數(shù)送 Ri指定的地址單元中 ,間址 /立即 MOV Rn , data ; Rn←data 立即數(shù)送 Rn單元中,寄存器 /立即數(shù) 注: # data 表示立即數(shù) data 表示直接地址 Rn 表示 R0、 R …、 R7當(dāng)前工作寄存器組 Ri 表示 R0或 R1, @Ri 表示目的間接尋址, , Ri為 8位寄存器,尋址范圍 0~ 255。而特殊功能寄存器 SFR僅能被直接尋址,所以對(duì)內(nèi)部數(shù)據(jù)存儲(chǔ)器來(lái)說(shuō), @Ri間接尋址使用范圍僅為 0~ 127單元內(nèi)的片內(nèi)數(shù)據(jù)單元的 RAM地址。 例如: MOV P1, 80H ;直接 /立即 通用傳送指令: MOV 2. 內(nèi)部數(shù)據(jù)寄存器( Rn、片內(nèi) RAM、 SFR)與累加器 A傳送數(shù)據(jù) ? MOV A, data ; A ←(data) ;累加器 /直接 ? MOV A, @Ri ; A ← ((Ri)) ;累加器 /間址 ? MOV A, Rn ; A ← (Rn) ;累加器 /寄存器 ? MOV data, A ; data← (A) ? MOV @Ri, A ; (Ri)← (A) ? MOV Rn , A ; Rn ← (A) ? 注:對(duì)于特殊寄存器 SFR只能用直接尋址訪問(wèn) ,而無(wú)間接尋址方式。 ? 例如:指令序列 ? MOV R1, 82H ;立即數(shù)傳送到 R1中 ? MOV A, @R1 ;間址源超出范圍 ? 由于 82H是 SFR塊中 DPL的地址,對(duì)特殊功能寄存器來(lái)說(shuō),企圖用間址找到源操作數(shù),這種間接尋址方式無(wú)效。所以從 DPL中取數(shù)只須 MOV A , 82H 即可。最好使用 MOV R1, DPL;這樣在使用匯編語(yǔ)言時(shí),無(wú)需查找地址。 通用傳送指令: MOV ? 3.內(nèi)部數(shù)據(jù)存儲(chǔ)器中 Rn、 SFR和片內(nèi)數(shù)據(jù) RAM之間的數(shù)據(jù)傳送 ? MOV data, data ; data ←( data);直接 /直接 ? MOV data, @Ri ; data ←(( Ri));直接 /間址 ? MOV data, Rn ; data ←( Rn);直接 /寄存器 ? MOV @Ri, data ; (Ri) ←(data);間址 /直接 ? MOV Rn, data ; Rn ←(data);寄存器 /直接 ? 例如: MOV P3 , P1與 MOV B0H , 90H 是等價(jià)的。其中, B0H是 P3的地址,90H是 P1口的地址。 ? 例如: 設(shè) PSW中 RS1= 1, RS2= 1時(shí) MOV data , R0 和 MOV data , 18H 是等價(jià)的。 18H是 RS1=RS2=1選工作寄存器 3區(qū)中的 R0字地址,但直接寫名稱方便,無(wú)須查地址。 通用傳送指令: MOV ? 4. 目的地址傳送 ? MOV DPTR , data16 ; DPTR ←data16 ;直接 /立即 ? MOV DPTR,2022H ;把 16位立即常數(shù)裝入數(shù)據(jù)地址指針,其中 DPTR的高八位( DPH) =20H,低八位( DPL) =03H。 ? 例如:若片外數(shù)據(jù)存儲(chǔ)器單元( 3007H) =60H,執(zhí)行 MOV DPTR, # 3007H; DPTR存放的是數(shù)據(jù) 3007H,而執(zhí)行 MOVX A,@DPTR; @DPTR存放的是地址,結(jié)果 A=60H. 外部數(shù)據(jù)存貯器(或 I/0口)與累加器 A傳送指令――MOVX 格式 MOVX 目的字節(jié) ,源字節(jié) ? MOVX A,@DPTR ; A ←(( DPTR)),累加器 /間址 DPTR稱為 16位的間址寄存器,利用該寄存器中存放的地址值找到源、目的地址 ,而要找到 DPTR本身仍然只能用直接尋址 . ? MOVX @DPTR, A ; (DPTR) ←(A), 間址 /累加器 ? MOVX A, @Ri ; A ←((Ri)),累加器 /間址 ? MOVX @Ri, A ; (Ri) ←(A),間址 /累加器 注: 1)前兩條指令中,(( DPTR))表示將 DPTR( 16位)地址所指向的外RAM中的內(nèi)容裝入 A寄存器中。反之,則將 A中內(nèi)容送入 DPTR指向的 RAM單元中。 2)后兩條指令中,(( Ri))表示將 Ri( 8位)地址所指向的位 RAM中的內(nèi)容裝入 A寄存器中。反之,則將 A中內(nèi)容送入 Ri指向的 RAM單元中。這種方式適用于,外 RAM僅擴(kuò)展 256字節(jié)的情況。 3)通常,在 MCS51中, 16位地址線的尋址范圍為 64K字節(jié)。常把高八位定義為頁(yè)面地址,低八位定義為頁(yè)面內(nèi)地址。在 P2口給定時(shí),使用 Ri尋址頁(yè)面內(nèi)地址比較方便。 程序存貯器向累加器 A 傳送指令 ――MOVC ? MOVC A,@A+PC ;累加器 /變址 PC←(PC)+1, A ←(( A) +( PC)) ? MOVC A,@A+DPTR ; A ←(( A) +( DPTR)) ? 注:把 A中的內(nèi)容與基址寄存器( PC、 DPTR)內(nèi)容相加,得到程序存貯器某單元地址,再把該地址單元內(nèi)容送累加器 A ? 前一條指令是以 PC為基地址寄存器, CPU取完指令后, PC會(huì)自動(dòng)加 1,指向下一條指令的第一個(gè)字節(jié)地址,所以這時(shí)作為基地址寄存器的 PC值已變成 (PC)+1時(shí)的值。 ? 偏移量: DIS=表首地址 (該指令所在地址 +1) 該指令本身在程序存儲(chǔ)器中占用一個(gè)單元,先有該指令的解釋,才有其執(zhí)行的操作。 程序存貯器向累加器 A 傳送指令 ――MOVC ? 例如:若要根據(jù)累加器 A的內(nèi)容找出由偽指令 DB所定義的四個(gè)值中的一個(gè),設(shè) (A)=02H,可用下列程序: ? ppqq: ADD A, 01H ? ppqq+2: MOVC A, @A+PC ? ppqq+3: RET ? ppqq+4: STAR: DB 66H ? DB 77H ? DB 88H ? DB 99H ? CPU執(zhí)行 ADD A,01H指令,就是為了加上偏移量:DIS=ppqq+4(ppqq+2+1)=1。其中 DB是偽指令,它的作用是把其后的值(如 66H,77H)存入由標(biāo)號(hào) STAR開始的連續(xù)單元中。假設(shè)累加器原內(nèi)容為 02H,則執(zhí)行上述程序后返回時(shí)累加器將變?yōu)?88H. 例如:試編制根據(jù)累加器 A中的數(shù)( 0~ 9之間)查其平方表的子程序。 COUNT: PUSH DPH ;保護(hù) DPTR內(nèi)容 PUSH DPL MOV DPTR,TABLE ;賦表首址到 DPTR MOVC A,@A+DPTR ;據(jù) A中內(nèi)容查
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1