将以下汇编语言转化为c语言K1 BIT P1.0 K2 BIT P1.1 UP BIT 00H SJB BIT 01H DAC EQU 8000H ORG 0000H LJMP START ORG 000BH LJMP TSO ORG 0030H START: MOV SP,60H MOV TMOD,#01H MOV TH0,#0FH MOV TL0,#18H SETB PT0 SETB ET0 SETB EA SETB UP SETB TR0 CLR A LOOP: SETB K2 JB K2,SRT_S CLR SJB SJMP LOOP SRT_S: SETB SJB SJMP LOOP ORG 1000H TSO: PUSH PSW CLR TR0 MOV DPTR,#DAC JB SJB,SJB1 JCB: SETB K1 JB K1,JCB1HZ JCB1HZ:MOV TH0,#0F0H MOV TLO,#60H SJMP STARTT0 SJB1: SETB K1 JB K1,SJB1HZ SJB05HZ:MOV TH0,#0F8H MOV TL0,#30H SJMP STARTT0 SJB1HZ:MOV TH0,#0FCH MOV TLO,#18H SJMP STARTT0 STARTT0:SETB TR0 JB UP,RTSE FALL: CJNE A,#00H,NOTBTM INC A SETB UP SJMP OUTPUT NOTBTM:DEC A SJMP OUTPUT RTSE: CJNE A,#0FFH,NOTTOP JB SJB,SJB2 CLR A SJMP OUTPUT SJB2:DEC A CLR UP SJMP OUTPUT NOTTOP:INC A SJMP OUTPUT OUTPUT: MOVX @DPTR,A POP PSW RETI END
时间: 2024-02-10 11:12:28 浏览: 29
以下是将汇编代码转化为C语言的结果:
```assembly
#define K1 P1_0
#define K2 P1_1
#define UP 0x00
#define SJB 0x01
#define DAC 0x8000
void start() {
SP = 0x60;
TMOD = 0x01;
TH0 = 0x0F;
TL0 = 0x18;
PT0 = 1;
ET0 = 1;
EA = 1;
UP = 1;
TR0 = 1;
A = 0;
loop:
K2 = 1;
if (K2 == 1) {
SJB = 0;
goto loop;
}
srt_s:
SJB = 1;
goto loop;
tso:
PUSH(PSW);
TR0 = 0;
DPTR = DAC;
if (SJB == 1) {
goto jcb;
}
jcb1hz:
K1 = 1;
if (K1 == 1) {
goto jcb1hz;
}
jcb:
TH0 = 0xF0;
TL0 = 0x60;
goto start_t0;
sjb1:
K1 = 1;
if (K1 == 0) {
goto sjb1hz;
}
sjb05hz:
TH0 = 0xF8;
TL0 = 0x30;
goto start_t0;
sjb1hz:
TH0 = 0xFC;
TL0 = 0x18;
goto start_t0;
start_t0:
TR0 = 1;
if (UP == 1) {
goto fall;
}
nottop:
A++;
goto output;
fall:
if (A != 0x00) {
goto notbtm;
}
A++;
UP = 1;
goto output;
notbtm:
A--;
goto output;
rtse:
if (A != 0xFF) {
goto nottop;
}
if (SJB == 1) {
A = 0x00;
goto output;
}
A--;
UP = 0;
goto output;
output:
*DPTR = A;
POP(PSW);
RETI;
}
```
以上代码仅是将汇编代码转化为C语言的一个大致的框架,实际上还需要根据具体硬件平台和编译器来进行具体的实现。
相关推荐
![none](https://img-home.csdnimg.cn/images/20210720083646.png)
![apk](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)