<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 廣告流水燈匯編程序

廣告流水燈匯編程序

作者: 時(shí)間:2012-09-08 來(lái)源:網(wǎng)絡(luò ) 收藏
_____________________________________________________功能:程序時(shí)間:2010—9—13注釋:指令MOV P2,#80H是一條廢指令,不起作用,可刪除_____________________________________________________ ORG 00HMOV P2,#80HSTART:MOV A,#0FFH    ;賦初值CLR CMOV R2,#8LOOP:RRC A           ; 帶進(jìn)位右移MOV P1,ACALL DELAYDJNZ R2,LOOPMOV R2,#7LOOP1:RLC A          ;  帶進(jìn)位左移MOV P1,ACALL DELAYDJNZ R2,LOOP1JMP STARTDELAY:MOV R3,#20     ;   延時(shí)0.2秒D1:   MOV R4,#20D2:   MOV R5,#248DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RETEND

ORG是Origin的縮寫(xiě):起始。在匯編語(yǔ)言源程序的開(kāi)始通常都用一條ORG偽指令來(lái)實(shí)現規定程序的起始地址。如果不用ORG規定則匯編得到的目標程序將從0000H開(kāi)始。例如:

ORG 2000H
START:MOV A,#00H

其實(shí):ORG 00H這條指令的作用是定位初始地址,這里只是一個(gè)規定,沒(méi)有其它含義。如上邊的兩條代碼,規定了起始地址,那么得到的目標程序將不會(huì )從默認的00H開(kāi)始,而是從定義的2000H處執行。至于第二條指令,MOV P2,#80H這條指令完全沒(méi)有用,可以刪去。

CLR C是CF置零,相當于STAB CF的反操作,目的是將進(jìn)位位置零.

DJNZ指令有兩種格式:DJNZ Rn,rel和DJNZ direct,rel,其實(shí)它的功能不止這些,本程序中使用到的只是一個(gè)標號,也就是工作寄存器組Rn非零則轉移到標號標示的位置執行程序,為零則順序進(jìn)行下一條指令的執行。

DJNZ Rn,rel 寄存器減1,非零轉移
DJNZ direct,rel 直接地址單元減1,非零轉移

RLC A ;累加器帶進(jìn)位位循環(huán)左移
RRC A ;累加器帶進(jìn)位位循環(huán)右移

上邊的兩條移位指令是帶進(jìn)位的移位指令,注意和匯編語(yǔ)言程序設計中的SHR、SHL、SAR、SAL進(jìn)行比對,它相當于是SAR和SAL,也就是算術(shù)移位指令,因為標志寄存器CF始終參與移位。其實(shí),匯編語(yǔ)言程序中存在一個(gè)循環(huán)移位指令,用到這里效率會(huì )更高。

JMP $  ;原地不動(dòng),即一直保持,無(wú)條件轉移
END ;結束, 這里不用也沒(méi)有關(guān)系


另外對于DJNZ Rn,$來(lái)說(shuō),也不難理解。Rn內容遞減,而$不變,即所謂原地跳轉,但這是有條件轉移指令,對于無(wú)條件轉移指令JMP $來(lái)說(shuō),就是原地不動(dòng),一直保持。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>