ASSEMBLER -> C++
От: avk_kab  
Дата: 31.07.06 09:11
Оценка:
Здравствуйте,
Я работаю только в С++ и сейчас столкнулся с проблемой — нужно перевести код подсчета контрольной суммы CRC16 с ассемблера на С++.Кто может помогите пожалуйста
CRC_O EQU * program updates crc-sum
* CRC_D (2 bytes) with character in A-reg.
CRC_G EQU $A001
***********************************************

DSCT
CRC_D RMB 2 crc-sum
PSCT
PSHS D,X
* char to stack
PSHS A
* crc to D
LDD CRC_D
LDX #8
REPEAT
LSRA msb of crc
EORB S char
BITB #1
IF <EQ> THEN.S
* b0s same before shift
EORB S restore of B
RORB
ELSE.S
* b0s not same before shift
EORB S restore of B
RORB
EORA #CRC_G!>8
EORB #CRC_G!.$FF
ENDI
LSR S char
LEAX -1,X
UNTIL <EQ>
* char has been processed
STD CRC_D
LEAS 1,S
PULS D,X,PC
* 8*35+44(+JSR) us 324(+JSR) us
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.