@@ -142,10 +142,10 @@ def make_ins(layout):
142
142
143
143
144
144
_st = make_ins ("""
145
- dreg : 2 # Register which contains data to store
146
- sreg : 2 # Register which contains address in RTC memory (expressed in words)
145
+ dreg : 2 # Register which contains address in RTC memory (expressed in words)
146
+ sreg : 2 # Register which contains data to store
147
147
unused1 : 6 # Unused
148
- offset : 11 # Offset to add to sreg
148
+ offset : 11 # Offset to add to dreg
149
149
unused2 : 4 # Unused
150
150
sub_opcode : 3 # Sub opcode (SUB_OPCODE_ST)
151
151
opcode : 4 # Opcode (OPCODE_ST)
@@ -390,10 +390,10 @@ def i_adc(reg_dest, adc_idx, mux):
390
390
391
391
392
392
def i_st (reg_val , reg_addr , offset ):
393
- _st .dreg = get_reg (reg_val )
394
- _st .sreg = get_reg (reg_addr )
393
+ _st .dreg = get_reg (reg_addr )
394
+ _st .sreg = get_reg (reg_val )
395
395
_st .unused1 = 0
396
- _st .offset = get_imm (offset )
396
+ _st .offset = get_imm (offset ) // 4
397
397
_st .unused2 = 0
398
398
_st .sub_opcode = SUB_OPCODE_ST
399
399
_st .opcode = OPCODE_ST
@@ -410,7 +410,7 @@ def i_ld(reg_dest, reg_addr, offset):
410
410
_ld .dreg = get_reg (reg_dest )
411
411
_ld .sreg = get_reg (reg_addr )
412
412
_ld .unused1 = 0
413
- _ld .offset = get_imm (offset )
413
+ _ld .offset = get_imm (offset ) // 4
414
414
_ld .unused2 = 0
415
415
_ld .opcode = OPCODE_LD
416
416
return _ld .all
0 commit comments