1 ! Copyright (C) 2023 Doug Coleman.
2 ! Copyright (C) 2023 Giftpflanze.
3 ! See https://factorcode.org/license.txt for BSD license.
4 USING: cpu.arm.assembler cpu.arm.assembler.opcodes kernel math ;
5 IN: cpu.arm.assembler.32
7 : ADC ( Rm Rn Rd -- ) ADC32-encode ;
8 : ADCS ( Rm Rn Rd -- ) ADCS32-encode ;
10 : ADDi ( uimm24 Rn Rd -- ) [ split-imm ] 2dip ADDi32-encode ;
12 : ASRi ( uimm6 Rn Rd -- ) [ 6 ?ubits ] 2dip ASRi32-encode ;
14 : CMPi ( uimm24 Rd -- ) [ split-imm ] dip CMPi32-encode ;
16 : LSLi ( uimm6 Rn Rd -- ) [ 6 ?ubits ] 2dip LSLi32-encode ;
17 : LSRi ( uimm6 Rn Rd -- ) [ 6 ?ubits ] 2dip LSRi32-encode ;
19 : STRuoff ( uimm14 Rn Rt -- ) [ 2 ?>> 12 ?ubits ] 2dip STRuoff32-encode ;
21 : SUBi ( uimm24 Rn Rd -- ) [ split-imm ] 2dip SUBi32-encode ;