汇编语言翻译成c语言

ORG 0000H LJMP START ORG 000BH LJMP INT01 ORG 0100H START: MOV TMOD,#01H MOV TH0,#4CH MOV TL0,#00H MOV P0,3FH MOV 21H,#20 MOV 45H,#0AAH MOV 51H,#255 MOV R0, #20 MOV R1,#40H MOV P1,#0FFH MOV P3,#00H MOV R4,#0 SETB EA SETB TR0 SETB ET0AAAA: LCALL MMM LJMP AAAAMMM: MOV A,R0 MOV B,#10 DIV AB MOV 40H,A MOV 41H,B MOV R1,#40H LCALL BBB LCALL BBB MOV R3,P1 CJNE R3,#0FFH,AQW LJMP LOOP11AQW: CJNE R4,#0FFH,LOOP1XCC: LCALL CCC DJNZ 51H,XCC LJMP LOOP11LOOP1: JB P1.0,LOOP2 MOV P3,#06H CLR EA LJMP LOOP10 LOOP2: JB P1.1,LOOP3 MOV P3,#5BH CLR EA LJMP LOOP10 LOOP3: JB P1.2,LOOP4 MOV P3,#4FH CLR EA LJMP LOOP10 LOOP4: JB P1.3,LOOP5 MOV P3,#66H CLR EA LJMP LOOP10 LOOP5: JB P1.4,LOOP6 MOV P3,#6DH CLR EA LJMP LOOP10 LOOP6: JB P1.5,LOOP7 MOV P3,#7DH CLR EA LJMP LOOP10 LOOP7: JB P1.6,LOOP8 MOV P3,#07H CLR EA LJMP LOOP10 LOOP8: JB P1.7,LOOP10 MOV P3,#7FH CLR EALOOP10: MOV R4,#0FFH LOOP11: RET INT01: MOV TH0,#4CH MOV TL0,#00H DJNZ 21H,LOOP MOV 21H,#20 DEC R0 CJNE R0,#0,LOOP CLR EA LOOP: RETI BBB: MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A MOV R6,#40SUB2: MOV R5,#20SUB1: DJNZ R5,SUB1 DJNZ R6,SUB2 MOV A,45H RL A MOV 45H,A MOV P2,A INC R1 RET CCC: MOV 50H,#255 DJNZ 50H,$ CPL P3.7 RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

第1个回答  2017-12-24
方法很多
比如 你看懂C语言 然后用汇编重新实现
或者用编译器自带的命令,比如gcc,可以gcc a.c -o a.S -S 就可以生成汇编
也可以先生成bin,然后反编译。本回答被网友采纳
相似回答