@@ -142,10 +142,10 @@ def make_ins(layout):
142142
143143
144144_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
147147 unused1 : 6 # Unused
148- offset : 11 # Offset to add to sreg
148+ offset : 11 # Offset to add to dreg
149149 unused2 : 4 # Unused
150150 sub_opcode : 3 # Sub opcode (SUB_OPCODE_ST)
151151 opcode : 4 # Opcode (OPCODE_ST)
@@ -390,10 +390,10 @@ def i_adc(reg_dest, adc_idx, mux):
390390
391391
392392def 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 )
395395 _st .unused1 = 0
396- _st .offset = get_imm (offset )
396+ _st .offset = get_imm (offset ) // 4
397397 _st .unused2 = 0
398398 _st .sub_opcode = SUB_OPCODE_ST
399399 _st .opcode = OPCODE_ST
@@ -410,7 +410,7 @@ def i_ld(reg_dest, reg_addr, offset):
410410 _ld .dreg = get_reg (reg_dest )
411411 _ld .sreg = get_reg (reg_addr )
412412 _ld .unused1 = 0
413- _ld .offset = get_imm (offset )
413+ _ld .offset = get_imm (offset ) // 4
414414 _ld .unused2 = 0
415415 _ld .opcode = OPCODE_LD
416416 return _ld .all
0 commit comments