74 lines
1.6 KiB
YAML
74 lines
1.6 KiB
YAML
|
structures:
|
||
|
main:
|
||
|
bits: 32
|
||
|
ranges:
|
||
|
31-28:
|
||
|
name: cond
|
||
|
27:
|
||
|
name: 0
|
||
|
26:
|
||
|
name: 1
|
||
|
25:
|
||
|
name: I
|
||
|
24:
|
||
|
name: P
|
||
|
description: pre / post indexing bit
|
||
|
values:
|
||
|
0: post, add offset after transfer
|
||
|
1: pre, add offset before transfer
|
||
|
23:
|
||
|
name: U
|
||
|
description: up / down bit
|
||
|
values:
|
||
|
0: down, subtract offset from base
|
||
|
1: up, addition offset to base
|
||
|
22:
|
||
|
name: B
|
||
|
description: byte / word bit
|
||
|
values:
|
||
|
0: transfer word quantity
|
||
|
1: transfer byte quantity
|
||
|
21:
|
||
|
name: W
|
||
|
description: write-back bit
|
||
|
values:
|
||
|
0: no write-back
|
||
|
1: write address into base
|
||
|
20:
|
||
|
name: L
|
||
|
description: load / store bit
|
||
|
values:
|
||
|
0: store to memory
|
||
|
1: load from memory
|
||
|
19-16:
|
||
|
name: Rn
|
||
|
description: base register
|
||
|
15-12:
|
||
|
name: Rd
|
||
|
description: source / destination register
|
||
|
11-0:
|
||
|
name: offset
|
||
|
depends-on: 25
|
||
|
values:
|
||
|
0:
|
||
|
description: offset is an immediate value
|
||
|
structure: immediateOffset
|
||
|
1:
|
||
|
description: offset is a register
|
||
|
structure: registerOffset
|
||
|
immediateOffset:
|
||
|
bits: 12
|
||
|
ranges:
|
||
|
11-0:
|
||
|
name: 12-bit immediate offset
|
||
|
description: unsigned number
|
||
|
registerOffset:
|
||
|
bits: 12
|
||
|
ranges:
|
||
|
11-4:
|
||
|
name: shift
|
||
|
description: shift applied to Rm
|
||
|
3-0:
|
||
|
name: Rm
|
||
|
description: offset register
|