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

正文內(nèi)容

[理學(xué)]第4章匯編語(yǔ)言程序設(shè)計(jì)-在線瀏覽

2025-03-08 14:59本頁(yè)面
  

【正文】 經(jīng)匯編后,從地址 1000H處存貯器的內(nèi)容為: ( 1000H) = AAH ( 1001H) = 19H ( 1002H) = 25H ( 1003H) = 4DH ( 1004H) = 43H ( 1005H) = 53H ( 1006H) = 2DH ( 1007H) = 35H ( 1008H) = 31H 5. 字定義偽指令 DW Y1, Y2,…,Yn Yi為雙字節(jié)數(shù)據(jù),它可以是十進(jìn)制或十六進(jìn)制數(shù),也可以是一個(gè)表達(dá)式。存放時(shí) 高 8位在前 ,低 8位在后 。 ORG 1000H DS 07H DB 20H, 20 DW 12H 經(jīng)匯編后 , 從地址 1000H開(kāi)始保留 7個(gè)單元 , 然后從1007H處存貯器的內(nèi)容為: ( 1007H) = 20H ( 1008H) = 14H ( 1009H) = 00H ( 100AH) = 12H 參照書(shū) P48 7. 位賦值偽指令 標(biāo)號(hào) bit n 該偽指令把值 n賦給前面的標(biāo)號(hào), n一般指位地址,在程序中標(biāo)號(hào)和 n是等價(jià)的。 參見(jiàn)書(shū) P15 表 參照書(shū) P4849 BIT位賦值偽指令舉例說(shuō)明: 字符名稱 BIT 位地址 這里的 “ 字符名稱 ” 與標(biāo)號(hào)不同(其后沒(méi)有冒號(hào)),但它是必須的,其功能是把 BIT之后的 “ 位地址 ” 值賦給 “ 字符名稱 ” 。如南京偉福 WAVE 6000 for Windows、DVCC軟件 、開(kāi)發(fā)實(shí)驗(yàn)箱等。 注意:匯編源程序的擴(kuò)展名為: ”asm” 2. 匯編 匯編語(yǔ)言必須經(jīng)過(guò)機(jī)器匯編或人工匯編才能得到相應(yīng)的機(jī)器程序,即目標(biāo)程序,以供單片機(jī)識(shí)別和執(zhí)行。 機(jī)器匯編一般是在 PC機(jī)上利用一些匯編軟件進(jìn)行。在匯編時(shí)若發(fā)現(xiàn)源程序有語(yǔ)法錯(cuò)誤或跳轉(zhuǎn)超出范圍等情況,系統(tǒng)會(huì)將錯(cuò)誤顯示給用戶。此時(shí)匯編程序會(huì)生成與其對(duì)應(yīng)的目標(biāo)文件。 沒(méi)有語(yǔ)法錯(cuò)誤并不等于程序開(kāi)發(fā)成功,一般來(lái)說(shuō)還要對(duì)程序進(jìn)一步調(diào)試、修改,運(yùn)行無(wú)誤后,程序才算最終完成。 匯編語(yǔ)言程序設(shè)計(jì)方法 單片機(jī)應(yīng)用系統(tǒng)軟件一般由匯編語(yǔ)言 或其他高級(jí)語(yǔ)言寫(xiě)成,一個(gè)單片機(jī)程序中由主程序、若干個(gè)子程序、中斷程序組成,從程序結(jié)構(gòu)上分為順序程序、分支程序、循環(huán)程序、子程序、中斷程序等。 五、編制源程序。 ,明確各程序 之間的相互關(guān)系。 開(kāi) 始結(jié) 束YN條 件 滿 足 ?處 理處 理處 理處 理常用程序結(jié)構(gòu) : 43 順序程序 順序程序又稱簡(jiǎn)單程序,程序走向只有一條路徑。 例 : 三字節(jié)無(wú)符號(hào)數(shù)相加,其中被加數(shù)在內(nèi)部 RAM的 50H、 51H和 52H 單元中;加數(shù)在內(nèi)部 RAM的 53H、54H和 55H單元中;要求把相加之和存放在 50H、51H和 52H單元中,進(jìn)位存放在位尋址區(qū)的 00H位中。 MOV R0, 40H ; 設(shè)指針 MOV A, R0 ; 取一個(gè)字節(jié) MOV R2, A ; 暫存 ANL A, 0FH ; 高半字節(jié)清 0 INC R0 ; 指針指向 41H MOV R0, A ; 保存數(shù)據(jù) 個(gè)位 MOV A, R2 SWAP A ; 十位換到低半字節(jié) ANL A, 0FH ; 高半字節(jié)清 0 INC R0 ; 指針指向 42H MOV R0, A ; 保存數(shù)據(jù) 十位 片內(nèi) R A M 42H 0 十 41H 0 個(gè) 40H 十 個(gè) 分支程序就是在程序執(zhí)行過(guò)程中要判斷某些條件,當(dāng)條件成立后程序轉(zhuǎn)移到不同的功能處運(yùn)行。 (復(fù)習(xí)、參見(jiàn)書(shū) P3839) (1)測(cè)試條件符合轉(zhuǎn)移,如: JZ、 JNB … 等 4 4 分支程序 (參見(jiàn)書(shū) P4957) ( 2)比較不相等轉(zhuǎn)移,如: CJNE R0, 2FH, LOOP ( 3)減 1不為 0轉(zhuǎn)移,如: DJNZ R7, LOOP ( 4)根據(jù)某些單元或寄存器的內(nèi)容轉(zhuǎn)移,如: JMP A+DPTR 441單重分支程序 一個(gè)判斷決策框,程序有兩條出路。 例:假定在 外部 RAM中有 STST2和 ST3共 3個(gè)連續(xù)單元,其中 ST1和 ST2單元中分別存放著兩個(gè) 8位無(wú)符號(hào)二進(jìn)制數(shù),要求 找出其中的 大數(shù) 并存入ST3 單元中。 參見(jiàn)書(shū) P49 例 1 按分支號(hào)轉(zhuǎn)移 如:當(dāng)分支號(hào) =0,程序轉(zhuǎn)移到 ADDR0處; 當(dāng)分支號(hào) =1,程序轉(zhuǎn)移到 ADDR1處; … 。并假定 R0中存放取數(shù)地址低 8位地址, R1中存放高 8位地址, R3中存放分支序號(hào)值( 0,1,2,3)。 分析:差值表 =分支入口地址 - 該表首址 利用查地址表法: (參見(jiàn)書(shū) P51 例 3)。 功能說(shuō)明如右表: … MOV DPTR, 3000H CLR C RLC A JMP A+DPTR ? AJMP DS AJMP XS AJMP CR … 鍵 功 能讀 數(shù) 據(jù)插 入寫(xiě) 數(shù) 據(jù)鍵 值0 10 20 3處 理 程 序D SX SC R3000H 3001H 3002H 3003H 3004H 3005H 3006H ; 3000H為基址 ;進(jìn)位位 CY清 “ 0” ; A帶進(jìn)位位循環(huán)左移 (A)X2 ;轉(zhuǎn)操作鍵處理程序 ;轉(zhuǎn)讀數(shù)據(jù)程序 ;轉(zhuǎn)寫(xiě)數(shù)據(jù)程序 ;轉(zhuǎn)插入程序 3 0 0 0 H首 址D SA J M P3 0 0 1 H3 0 0 2 H3 0 0 3 HD P T R3 0 0 4 HA J M PX SA J M PC R3 0 0 5 H3 0 0 6 H3 0 0 7 H使用轉(zhuǎn)移指令表法。 45 循環(huán)程序 451 循環(huán)程序的構(gòu)成 各個(gè)環(huán)節(jié)任務(wù): 一、初始化部分: 循環(huán)準(zhǔn)備工作。 二、循環(huán)體: 循環(huán)工作部分: 需多次重復(fù)處理的工作。 :滿足循環(huán)條件,繼續(xù)循環(huán),否則退出循環(huán)。 YN循 環(huán) 控 制 ?循 環(huán) 工 作循 環(huán) 結(jié) 束循 環(huán) 初 始 化452 單重循環(huán) 簡(jiǎn)單循環(huán)結(jié)構(gòu): 循環(huán)體中不套循環(huán)。 例: 求 n個(gè)單字節(jié)數(shù)據(jù)的累加,設(shè)數(shù)據(jù)串已在43H起始單元,數(shù)據(jù)串長(zhǎng)度在 42H單元,累加和不超過(guò) 2個(gè)字節(jié),高位放入 41H、低位放入 40H。 MOV DPTR, 2100H MOVX A, DPTR MOV R2, A NEXT: INC DPTR MOVX A, DPTR ORL A, 80H JB P, PASS ; P=1: ACC中 1的個(gè)數(shù) 為奇數(shù),則原 ; ASCII中 1的個(gè)數(shù) 為偶數(shù),跳 MOVX DPTR, A PASS: DJNZ R2, NEXT DONE: SJMP DONE 片外 R A M ? ? 2 1 0 2 H 1 1 1 0 1 0 0 0 2 1 0 1 H 0 0 1 0 1 1 0 1 2 1 0 0 H n 設(shè)循環(huán)計(jì)數(shù)器,控制循環(huán)次數(shù)。 參見(jiàn)書(shū) P13 如 ACC中 1的個(gè)數(shù) 為奇數(shù): P=1。正數(shù)表存于片外 RAM中以 LIST為 起始單元,用 1作為結(jié)束標(biāo)志。門(mén)限設(shè)為 MAX,以免漏比 NEXT: MOVX A, DPTR ; 取數(shù) INC DPTR ; 修改指針 CJNE A, 1, NEXT1 ; 是否為數(shù)表結(jié)尾?( A≠1跳) SJMP DONE ; 循環(huán)結(jié)束 NEXT1: CJNE A, B, NEXT2 ; 比較( A≠B跳) AJMP NEXT NEXT2: JNC NEXT ; C=0跳 MOV B, A ; 保存較小值 SJMP NEXT DONE: SJMP $ LIST: DB … DB … L I S T片 外 R A M. . . 1設(shè)定循環(huán)結(jié)束標(biāo)志實(shí)現(xiàn)循環(huán)控制。 (參看 P69 例 10) 步驟: 每次取相鄰單元的兩個(gè)數(shù)比較,決定是否需要交換數(shù)據(jù)位置。 第二次循環(huán),比較 N2次,取到次大值。 開(kāi) 始循 環(huán) 結(jié) 束YN內(nèi) 循 環(huán) 控 制 ?外 循 環(huán) 初 始 化外 循 環(huán) 工 作 ?NY內(nèi) 循 環(huán) 初 始 化循 環(huán) 工 作 片內(nèi) RAM MAX ? 5 2 4 1 T A B → 3 循環(huán)體中套循環(huán)結(jié)構(gòu)。 SORT: MOV A, N1 ; N個(gè)數(shù)據(jù)排序 MOV R4, A ; 外循環(huán)次數(shù) LOOP1: MOV A, R4 MOV R3, A ; 內(nèi)循環(huán)次數(shù) MOV R0, TAB ; 設(shè)數(shù)據(jù)指針 LOOP2: MOV A, R0 ; 取二數(shù) MOV B, A INC R0 MOV A, R0 CJNE A, B, L1 ; 比較( A≠B跳) SJMP UNEX L1: JNC UNEX ; A≥B , 不交換 DEC R0 ; 否則交換數(shù)據(jù) XCH A, R0 INC R0 MOV R0, A UNEX: DJNZ R3, LOOP2 ; 內(nèi)循環(huán)結(jié)束? DJNZ R4, LOOP1 ; 外循環(huán)結(jié)束? RET 開(kāi) 始循 環(huán) 結(jié) 束YNA ≥ B ?外 循 環(huán) 次 數(shù) R4NYB ( R0) A ( R0+ 1 )內(nèi) 循 環(huán) 次 數(shù) R3 表 首 T A B R0( R0) ( R0+ 1 )R0 R0+ 1R3 R3 1 = 0 ?YR
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1