Skip to content

Changing the instruction set has no impact on the assembled code

In order to test the simulator, I tried to solve the 2019-2020 HCL project. In the first exercice, we asked students to change the icode of mrmovl to 4 (the same as rmmovl) and its ifun to 1 (rmmovl is ifun 0).

I went into "Instruction set", did the changes, then "Load changes", which gave me a success message. Then I wrote a simple y86 code to test it, but the object code generated for it is wrong (it did not take the new icode and ifun into consideration):

  0x0000: 500f04010000   |         mrmovl b, %eax 
  0x0006: 400f00010000   |         rmmovl %eax, a 
                         |     
                         |     
  0x000c:                |     .pos 0x100 
  0x0100: 00000000       |     a:  .long 0 
  0x0104: 64000000       |     b:  .long 100