]> gitweb.factorcode.org Git - factor.git/blob - basis/cpu/arm/assembler/opcodes/opcodes-tests.factor
77c9d0255f6d14bb836c8b24a61d978a90da94d4
[factor.git] / basis / cpu / arm / assembler / opcodes / opcodes-tests.factor
1 ! Copyright (C) 2020 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: cpu.arm.assembler cpu.arm.assembler.opcodes math
4 math.bitwise tools.test ;
5 IN: cpu.arm.assembler.opcodes.tests
6
7 { 0b00011010000000110000000001000001 } [ X3 X2 X1 ADC32-encode ] unit-test
8 { 0b00111010000000110000000001000001 } [ X3 X2 X1 ADCS32-encode ] unit-test
9 { 0b01011010000000110000000001000001 } [ X3 X2 X1 SBC32-encode ] unit-test
10 { 0b01111010000000110000000001000001 } [ X3 X2 X1 SBCS32-encode ] unit-test
11 { 0b10011010000000110000000001000001 } [ X3 X2 X1 ADC64-encode ] unit-test
12 { 0b10111010000000110000000001000001 } [ X3 X2 X1 ADCS64-encode ] unit-test
13 { 0b11011010000000110000000001000001 } [ X3 X2 X1 SBC64-encode ] unit-test
14 { 0b11111010000000110000000001000001 } [ X3 X2 X1 SBCS64-encode ] unit-test
15
16 { 0x910003fd } [ 0 31 X29 MOVsp64-encode ] unit-test
17
18 ! stp x29, x30, [sp,#-16]!
19 { 0xa9bf7bfd } [ -16 8 / 7 bits X30 SP X29 STPpre64-encode ] unit-test
20
21
22 { B{ 0 0 0 0x10 } } [ [ 0 X0 ADR ] assemble-arm ] unit-test
23 { B{ 0 0 0 0x30 } } [ [ 1 X0 ADR ] assemble-arm ] unit-test
24
25 { B{ 0 0 0 0x90 } } [ [ 0 X0 ADRP ] assemble-arm ] unit-test
26 { B{ 0 0 0 0xb0 } } [ [ 1 X0 ADRP ] assemble-arm ] unit-test