汇编语言程序简单的标注??????

2025-01-03 14:02:13
推荐回答(2个)
回答1:

DISPLAY:
MOV A,40H;将数据40H送入A
JNB ACC.7,ZHENG;ACC.7为0转ZHENG
MOV 73H,#11;将数据11送入73H单元
ZHENG:
MOV A,73H;将73H单元中数据送入A(数据偏移量)
MOV DPTR,#TAB;取数据表首地址
MOVC A,@A+DPTR;取数据
MOV P1,A;数据由P1输出
MOV P3,#00100000B;将数据20H送入P3(设置标志位)
CALL DLIMS;调用子程序DLIMS(应该是延时)
MOV A,72H;将72H单元中数据送入A
MOV DPTR,#TAB;取数据表首地址
MOVC A,@A+DPTR;取数据
MOV P1,A;数据由P1输出
MOV P3,#00100001B;将数据21H送入P3
CALL DLIMS;调用子程序DLIMS
MOV A,71H;将71H单元中数据送入A
MOV DPTR,#TAB;取数据表首地址
MOVC A,@A+DPTR;取数据
MOV P1,A;数据由P1输出
CLR P1.7;将P1.7清0
MOV P3,#00100010B;将数据22H送入P3
CALL DLIMS;调用子程序DLIMS
MOV A,70H;将70H单元中数据送入A
MOV DPTR,#TAB;取数据表首地址
MOVC A,@A+DPTR;取数据
MOV P1,A;数据由P1输出
MOV P3,#00100011B;将数据23H送入P3
CALL DLIMS;调用子程序DLIMS
MOV A,75H;将75H单元中数据送入A
MOV DPTR,#TAB;取数据表首地址
MOVC A,@A+DPTR;取数据
MOV P1,A;数据由P1输出
MOV P3,#00100100B;将数据24H送入P3
CALL DLIMS;调用子程序DLIMS
MOV A,74H;将74H单元中数据送入A
MOV DPTR,#TAB;取数据表首地址
MOVC A,@A+DPTR;取数据
MOV P1,A;数据由P1输出
MOV P3,#00100101B;将数据25H送入P3
CALL DLIMS;调用子程序DLIMS
MOV P1,#0FFH;将数据0FFH送入P1输出
RET;返回
DLIMS:延时子程序
MOV R7,#200
D2:
MOV R6,#3
DJNZ R6,$
DJNZ R7,D2
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,00H,98H,0FFH,0BFH
;共阳段码表 “0” “1” “2” “3” “4” “5” “6” “7” “8” “9” “不亮” “—”

回答2:

找个单片机接口与技术书--AT89S52看看就知道了
书上有注释,
8段数码管,0是中间一横和点不亮,8是点不亮