Croissant Runtime
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
crsn/examples/test_ldbits_xchbits.csn

44 lines
1.3 KiB

(
(ld r0 0x11223344_55667788)
(ld32 r0 0xaabbccdd)
(cmp r0 0x11223344_aabbccdd (ne? (fault "1")))
(ld r0 0x11223344_55667788)
(ld8 r0 0xaabbccdd)
(cmp r0 0x11223344_556677dd (ne? (fault "2")))
(ld r0 0x11223344_55667788)
(ld4 r0 0xaabbccdd)
(cmp r0 0x11223344_5566778d (ne? (fault "3")))
(ld r0 0x11223344_55667788)
(ld32 r0:32 0xaabbccdd)
(cmp r0 0xaabbccdd_55667788 (ne? (fault "4")))
; ldX supports number literals, and can take 3 arguments to combine 2 and place the result in the 3rd
(ld24 r0 0xf0000000_0000abcd:32 0x77aabbcc)
(cmp r0 0xf0aabbcc_0000abcd (ne? (fault "4b")))
(ld r0 0x11223344_55667788)
(ld32 r0:16 0xaabbccdd_00000000:32)
(cmp r0 0x1122aabb_ccdd7788 (ne? (fault "5")))
(ld r0 0x11223344_55667788)
(ld r1 0xaabbccdd_eeff9900)
(xch32 r0 r1)
(cmp r0 0x11223344_eeff9900 (ne? (fault "6")))
(cmp r1 0xaabbccdd_55667788 (ne? (fault "6")))
(ld r0 0x11223344_55667788)
(ld r1 0xaabbccdd_eeff9900)
(xch16 r0:32 r1)
(cmp r0 0x11229900_55667788 (ne? (fault "7")))
(cmp r1 0xaabbccdd_eeff3344 (ne? (fault "7")))
(ld r0 0x11223344_55667788)
(ld r1 0xaabbccdd_eeff9900)
(xch16 r0:32 r1:16)
(cmp r0 0x1122eeff_55667788 (ne? (fault "7")))
(cmp r1 0xaabbccdd_33449900 (ne? (fault "7")))
)