clear
unalias -all

alias checksum_test	{\
	define_mem 10000 10000 #1     #2;	\
						\
	add_mem_area	ram	8000 2000 2 RW;	\
	add_io_area	io	0000 0100;	\
						\
	set -s 8000 -b @inc(10, 1);		\
	get -s 8000 -b 10;			\
						\
	print @checksum(8000, 10T);		\
	print $_ADDR , $_RESULT;		\
						\
	set -s 8020 -w @inc(10, 1);		\
	get -s 8020 -w 10;			\
						\
	print @checksumw(8020, 10T);		\
	print $_ADDR , $_RESULT;		\
						\
	print @checksumw(8000, 10T);		\
	print $_ADDR , $_RESULT;		\
}
	

;-----------------------------------------
checksum_test  LE     BA


;-----------------------------------------
checksum_test  BE     BA

;-----------------------------------------
checksum_test  LE     WA


;-----------------------------------------
checksum_test  BE     WA


#exit
set -s 8000 -b 01 01 ef
set -s 8010 -b 80 80 f7

;#if 0
print @crc7L(8000, 3, 45 << 1)	;0x01f6d870->0x38
print $_ADDR , $_RESULT
print @crc7R(8010, 3, 51)	;0x0000000e
print $_ADDR , $_RESULT

print @crc7L(8000, 2000, 45 << 1)	;0x1f6d870->0x38
;#endif

set -s 8020 "Hello, world!"
print @crc32L(8020, 13t, 04C11DB7, -1)	;0x8E9A7706
print $_ADDR , $_RESULT
print @crc32R(8020, 13t, EDB88320, -1)	;0xEBE6C6E6
print $_ADDR , $_RESULT

define_literal crc32Rۑ	@crc32R(8020, 13t, EDB88320, -1)
print $_ADDR , $_RESULT




