0

Hi guys I'm trying to work out an AVR Instruction to machine code

LDI r22, 0x3D

LDI Rd, K 

1110 KKKK dddd KKKK 

so far I've got

1110 0011 dddd 1101 

, how can dddd be covered in 4 bits if the maximum is 15.. ?

any help would be greatly appreciated.

Rizvi
  • 287
  • 3
  • 14
user3528069
  • 3
  • 1
  • 3

1 Answers1

0

LDI - Load Immediate

Description: Loads an 8 bit constant directly to register 16 to 31.

To encode a value of 16-31, you only need 4 bits (3-0) if you assume bit 4 to always be 1.

In your case, the encoding would be;

1110 0011 0110 1101 (where dddd is 6 since 16 + 6 = 22)
Community
  • 1
  • 1
Joachim Isaksson
  • 176,943
  • 25
  • 281
  • 294