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

正文內(nèi)容

單片機(jī)原理與接口技術(shù)》第4章匯編語(yǔ)言程序設(shè)計(jì)-預(yù)覽頁(yè)

 

【正文】 要先用數(shù)學(xué)方法把問題抽象出來(lái)。在編寫代碼之前需要對(duì)內(nèi)存區(qū)域進(jìn)行分配,并確定程序和數(shù)據(jù)的存放地址。 匯編語(yǔ)言偽指令 ? 偽指令是用于告訴匯編程序如何進(jìn)行匯編的指令,它不控制機(jī)器的操作也不能被匯編成機(jī)器碼,只為匯編程序所識(shí)別并指導(dǎo)匯編如何進(jìn)行。 ? ? 格式 : 符號(hào) EQU字符串 ? 功能 : 在程序中用 EQU后面的字符串去替換 EQU前面的符號(hào)。例如 : ? BUFFER EQU 58H 。該語(yǔ)句一般放在程序開始或結(jié)尾。 ? 【 例 】 ? ORG 100H ? FIRST:DB 01H, 02H ? SECO:DB 011B, ′A′ , 12 ? 以上偽指令經(jīng)匯編后,程序存儲(chǔ)器有關(guān)單元 ? 如圖 41所示。 ? 【 例 】 ? ORG1 00H ? FIRST: DW 01H ? DW 1234H, ′AB′ ? 以上偽指令經(jīng)匯編后,程序存儲(chǔ)器有關(guān)單元 ? 如圖 42所示。 ? 例如 : ? ORG 1000H ? DS 0AH ? DB 12H, ′B′ ? 偽指令匯編后從 1000H單元開始,保留 10個(gè)字節(jié),從 100AH開始連續(xù)存放 12H、 42H。 簡(jiǎn)單程序設(shè)計(jì) ? 順序程序設(shè)計(jì) ? 順序結(jié)構(gòu)的程序,是指程序按指令的排列順序依次執(zhí)行直至程序結(jié)束。例如,判斷結(jié)果是否為 0( JZ、 JNZ) 、 是否有進(jìn)位或借位 (JC、 JNC)、 指定位是否為 1(JB、 JNB)、比較指令 CJNE等都可作為分支依據(jù)。 ? 典型的循環(huán)結(jié)構(gòu)如圖 44所示。 ? ( 3)循環(huán)控制部分 ? 為下一次數(shù)據(jù)處理而修改計(jì)數(shù)器和地址指針,并判斷循環(huán)是否結(jié)束。 ? 如果當(dāng)前數(shù)據(jù)大于累加器 A的數(shù)據(jù),則把數(shù) ? 據(jù)塊中的數(shù)據(jù)送給累加器 A。程序流程如圖 44所示。 ? 如果最高位為 1,則該數(shù)為負(fù) 。 ? 分析 : ? 先取出 60H單元的數(shù)據(jù)與立即數(shù) 0FH比較。如果兩數(shù)相等,則異或結(jié)果為 0。 ? 當(dāng)輸出位是 “ 1”時(shí),發(fā)光二極管被點(diǎn)亮 。 ? 8個(gè)燈一輪的漸次點(diǎn)亮由循環(huán)體完成,然 ? 后利用無(wú)條件轉(zhuǎn)移指令反復(fù)執(zhí)行循環(huán)體。調(diào)用延時(shí)子程序 ? SJMP LOOP ? DELAY: MOV R2, 0FAH 。 ? 【 例 】 編程將內(nèi)部 RAM70H~ 79H中 10個(gè)無(wú)符號(hào)數(shù)按由大到小的順序排序。 ? 若低地址的內(nèi)容大于相鄰高地址單元的內(nèi)容,則保持原狀 。 ? 分析 : 設(shè)單片機(jī)的時(shí)鐘頻率為 6MHz,則其機(jī)器周期為 2μs 。 ? 執(zhí)行兩條 NOP指令和 1條 DJNZ指令的時(shí)間是 8μs ,循環(huán) 250次用時(shí)2022μs ,即程序中第 2條到第 5條指令完成的功能。 ? 延時(shí)程序 : ? MOV 20H, 40 。 ? 為了縮短程序設(shè)計(jì)周期及程序長(zhǎng)度,可以將這些程序段從源程序中分離出來(lái)單獨(dú)組成一個(gè)程序模塊,我們稱之為子程序。一個(gè)主程序可以多次調(diào)用同一個(gè)子程序,也可以調(diào)用多個(gè)子程序。一般,子程序的操作對(duì)象通常采用寄存器或寄存器間接尋址等尋址方式,盡量避免采用立即尋址。 ? ,以及保護(hù)現(xiàn)場(chǎng)等操作均需用到堆棧,因此在程序初始化時(shí)應(yīng)設(shè)置堆棧指針 SP,開辟堆棧保護(hù)區(qū)。 ? 子程序的嵌套調(diào)用過程如圖 410所示。 ? SB01子程序執(zhí)行到最后的 RET指令時(shí),它會(huì)從堆棧中取出斷點(diǎn)地址M02送給指令計(jì)數(shù)器 PC,程序返回主程序,繼續(xù)執(zhí)行。 ? 【 例 】 【 例 】 (見教材 P91頁(yè) ) ? 說(shuō)明 : ? 在例 MOVC A, A+PC和指令 MOVC A,A+DPTR實(shí)現(xiàn)查表。 ? ( 2)計(jì)算偏移量 data,并在 MOVC A, A+PC指令前加上指令 ADD A,data。 ? ( 2)將表格的首地址送入 DPTR中 。 ? 散轉(zhuǎn)程序也需要一個(gè)表,但表中所列的不是普通數(shù)據(jù),而是某些功能程序的入口地址、偏移量或轉(zhuǎn)向這些功能程序的轉(zhuǎn)移指令。 ? 選擇與處理程序相同數(shù)目的無(wú)條件轉(zhuǎn)移指令,由這些指令組成一張指令表,且第 1條轉(zhuǎn)移指令轉(zhuǎn)向 “ 0” 標(biāo)志所對(duì)應(yīng)的處理程序,第 2條轉(zhuǎn)移指令轉(zhuǎn)向 “ 1”標(biāo)志所對(duì)應(yīng)的處理程序,依此類推。 ? 【 例 】 (見教材 P93頁(yè) ) ? “ RET” 指令進(jìn)行散轉(zhuǎn) ? 此方法與轉(zhuǎn)向地址表法基本相同。 ? 代碼轉(zhuǎn)換類子程序 (略 ) ? 運(yùn)算類子程序 (略 ) ? 數(shù)據(jù)比較類子程序 (略 ) ? 數(shù)據(jù)塊處理類子程序 (略 )
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1