汇编语言求注释

2024年11月29日 07:56
有2个网友回答
网友(1):

V12 EQU P1.3    ;这5句申明位变量用相应的变量名取代对应的IO口
V10 EQU P1.2    ;
OUT EQU P1.1    ;
FULL EQU P3.2    ;
LOWW EQU P3.3    ;

ORG 0000H    ;单片机复位后程序入口地址

MAIN: MOV P1,#0FFH    ;P1所有口置1
MOV P3,#0FFH    ;P3所有口置1
MOV R7,#5    ;R7=5
LCALL DEL1    ;延时

M1: JNB V12,M0    ;V12为0转移到M0
CLR FULL    ;FULL清零
SETB LOWW    ;LOWW置1
SJMP M2    ;跳转到M2
M0:
JNB V10,SLEEP    ;V10为0转移到SLEEP
CLR LOWW    ;LOWW清零
SETB FULL    ;FULL置1

M2:
CLR OUT    ;OUT清零
;LCALL DEL1    ;延时
SJMP M1    ;跳转到M1

SLEEP: SETB OUT    ;OUT置1
M3: SETB LOWW    ;LOWW置1
LCALL DEL1    ;延时
CLR LOWW    ;LOWW清零
LCALL DEL1    ;延时
DJNZ R7,M3    ;R7减1为0转移到M3
MOV P1,#0FFH    ;P1全置1
MOV P3,#0FFH    ;P3全置1
MOV PCON,#02H    ;PCON=2
SJMP $    ;原地循环

DEL1: MOV R1,#100    ;外层循环100次
D1: MOV R2,#100    ;中层循环100次
D2: MOV R3,#100    ;内层循环100次
DJNZ R3,$    ;R3减1不为0原地等待
DJNZ R2,D2    ;R2减1不为0转D2
DJNZ R1,D1    ;R1减1不为0转D1
RET    ;

DEL2: MOV R4,#255    ;意思与DEL1一样
D3: MOV R5,#255    ;
D4: MOV R6,#255    ;
DJNZ R6,$    ;
DJNZ R5,D4    ;
DJNZ R4,D3    ;
RET

END    ;程序结束

网友(2):

表示看不懂啊