你好,能够帮我翻译一下这个汇编语言程序吗?每一句都翻译一下哦。谢谢你了呢,论文答辩要用到的。

***************************************
主程序
***************************************
MAIN: MOV SP, #SP
MOV 30H, #08H
MOV P1, #FFH
MOV P0, FFH
CLR TR0
TO: MOV TMOD, #01H
MOV TH0, #3CH
MOV TL0, #0B0H
SETB TR0
T1: MOV 30H, #50
M8: CJNE 30H, #00H, M8
CJNE 31H, 08H, M7
MOV P1, FFH
MOV P0, FFH
DEC 31H
SJMP T1
M7: CJNE 31H, 07H, M6
MOV P1, FFH
MOV P0, 00H
DEC 31H
SJMP T1
M6: CJNE 31H, 06H, M5
MOV P1, 00H
MOV P0, FFH
DEC 31H
SJMP T1
M5: CJNE 31H, 05H, M4
MOV P1, F0H
MOV P0, F0H
DEC 31H
SJMP T1
M4: CJNE 31H, 04H, M3
MOV P1, AAH
MOV P0, AAH
DEC 31H
SJMP T1
M3: CJNE 31H, 03H, M2
MOV P1, CCH
MOV P0, CCH
DEC 31H
SJMP T1
M2: CJNE 31H, 02H, M1
MOV P1, 55H
MOV P0, 55H
DEC 31H
LJMP T1
M1: CJNE 31H, 01H
MOV P1, 33H
MOV P0, 33H
MOV 31H, 08H
LJMP T1

***************************************
中断服务程序
***************************************
INT1: PUSH 30H
PUSH 31H
CLR TR0
MOV TMOD, #01H
MOV TH0, #3CH
MOV TL0, #0B0H
DEC 30H
POP 31H
POP 30H
SETB TR0
RETI

首先说明一下,汇编程序每一句都 翻译(应为注释),实在没有意义。

MAIN: MOV SP, #SP ;传送 SP,立即数SP
MOV 30H, #08H ;传送 30H,立即数08H
MOV P1, #FFH ;传送 接口1,立即数FFH
MOV P0, FFH ;传送 接口0,FFH
CLR TR0 ;清0 TR0
TO: MOV TMOD, #01H ;传送 TMOD,立即数01H
MOV TH0, #3CH ;传送 TH0,立即数3CH
MOV TL0, #0B0H ;传送 TL0,立即数0B0H
SETB TR0 ;位-置1 TR0
T1: MOV 30H, #50 ;传送 30H,立即数50
M8: CJNE 30H, #00H, M8 ;比较-不等转移 30H,立即数00H,
CJNE 31H, 08H, M7 ;比较-不等转移 31H,08H,
MOV P1, FFH ;传送 接口1,FFH
MOV P0, FFH ;传送 接口0,FFH
DEC 31H ;减1 31H
SJMP T1 ;短转移到 T1
M7: CJNE 31H, 07H, M6 ;比较-不等转移 31H,07H,
MOV P1, FFH ;传送 接口1,FFH
MOV P0, 00H ;传送 接口0,00H
DEC 31H ;减1 31H
SJMP T1 ;短转移到 T1
M6: CJNE 31H, 06H, M5 ;比较-不等转移 31H,06H,
MOV P1, 00H ;传送 接口1,00H
MOV P0, FFH ;传送 接口0,FFH
DEC 31H ;减1 31H
SJMP T1 ;短转移到 T1
M5: CJNE 31H, 05H, M4 ;比较-不等转移 31H,05H,
MOV P1, F0H ;传送 接口1,F0H
MOV P0, F0H ;传送 接口0,F0H
DEC 31H ;减1 31H
SJMP T1 ;短转移到 T1
M4: CJNE 31H, 04H, M3 ;比较-不等转移 31H,04H,
MOV P1, AAH ;传送 接口1,AAH
MOV P0, AAH ;传送 接口0,AAH
DEC 31H ;减1 31H
SJMP T1 ;短转移到 T1
M3: CJNE 31H, 03H, M2 ;比较-不等转移 31H,03H,
MOV P1, CCH ;传送 接口1,CCH
MOV P0, CCH ;传送 接口0,CCH
DEC 31H ;减1 31H
SJMP T1 ;短转移到 T1
M2: CJNE 31H, 02H, M1 ;比较-不等转移 31H,02H,
MOV P1, 55H ;传送 接口1,55H
MOV P0, 55H ;传送 接口0,55H
DEC 31H ;减1 31H
LJMP T1 ;长转移到 T1
M1: CJNE 31H, 01H ;比较-不等转移 31H,01H
MOV P1, 33H ;传送 接口1,33H
MOV P0, 33H ;传送 接口0,33H
MOV 31H, 08H ;传送 31H,08H
LJMP T1 ;长转移到 T1

*************************************** ;***************************************
;中断服务程序
*************************************** ;***************************************
INT1: PUSH 30H ;入栈 30H
PUSH 31H ;入栈 31H
CLR TR0 ;清0 TR0
MOV TMOD, #01H ;传送 TMOD,立即数01H
MOV TH0, #3CH ;传送 TH0,立即数3CH
MOV TL0, #0B0H ;传送 TL0,立即数0B0H
DEC 30H ;减1 30H
POP 31H ;出栈 31H
POP 30H ;出栈 30H,
SETB TR0 ;位-置1 TR0
RETI ;中断返回来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-04
程序中的错误,布满视野。

MOV 30H, #08H
MOV P1, #FFH
MOV P0, FFH ---这行,也应该是带#的
---以下#,缺少了几十个。
……
M8: CJNE 30H, #00H, M8 ---这是非法指令,后面还有很多的
……
其它的,说不过来了。
第2个回答  2010-06-04
47okey 好有耐心。。。。。。。。。。。。。。。。。。。。
相似回答