请大师们速度帮帮忙了..急求啊 .感激不急啊
这是一个单片机的环境,它是一个通信, 以下是对4个字节的处理运算.我需要把以下的翻译成C语言形式. 但是.我看了快一个月了,也写了C,但是.老师说这是错的,说还没把这汇编看懂.但也不给我指点一下(我是初学者,)非得让自己看明白. 但都一个月了..我实在没办法了.只有到这上面来求助一下. 求助大师们把下面这个协议给我写出来..然后我自己再来写C.
谢谢了
RiscComm_get_valid_data:
rrc Risc_check_data1 ;m>>1 -> a
and a,#03h
bts1 FZ
jmp valid_data_if_b1
b0mov a,Risc_check_data0
b0mov Risc_valid_data,a
ret
valid_data_if_b1:
b0mov temp_0,a
decms temp_0
jmp valid_data_if_b2
b0mov a,Risc_check_data1
b0mov Risc_valid_data,a
ret
valid_data_if_b2:
decms temp_0
jmp valid_data_is_b3
b0mov a,Risc_check_data2
b0mov Risc_valid_data,a
ret
valid_data_is_b3:
b0mov a,Risc_check_data3
b0mov Risc_valid_data,a
ret
RiscComm_get_checksum:
b0mov a,Risc_check_data1
b0mov temp_0,a
rrcm temp_0
rrcm temp_0
rrcm temp_0
b0mov a,temp_0
and a,#03h
;b0mov temp_0,a ;get arithmetic
;b0mov a,temp_0
bts1 FZ
jmp arithmetic_kind_1
b0mov a,Risc_valid_data
xor a,#0ffh
b0mov Risc_valid_data,a
ret
arithmetic_kind_1:
b0mov temp_0,a
decms temp_0
jmp arithmetic_kind_2
b0mov a,Risc_valid_data
add a,#0a5h
b0mov Risc_valid_data,a
ret
arithmetic_kind_2:
decms temp_0
jmp arithmetic_kind_3
b0mov a,Risc_valid_data
add a,#06h
b0mov Risc_valid_data,a
ret
arithmetic_kind_3:
b0mov a,Risc_valid_data
b0mov temp_0,a
swapm temp_0
b0mov a,temp_0
b0mov Risc_valid_data,a
ret