Hello Everyone,

I wanted to introduce a new implementation for Mov Instruction using R11
register, my new opcodes are placed in two_byte.isa and I have duplicated
'mov' functionality present in files move.py and ldstop.isa.

My question is: I understand how to decode opcode for example if the new
opcode is '0x11'
take top 5 bits and then 3 bits to write a case function in two_byte.isa

I am not understanding, how should I make sure it uses REX format same as
MOV?


For example:
In the case of 8 bits:


*41* 8a 03 mov (%r11),%al

*41* 0f xx 03 new_mov (%r11),%al

In the case of 16*: *

*66 41* 8b 03 mov (%r11),%ax

*66 41* 0f xx 03 new_mov (%r11),%ax


In the case of 32*: *

*41* 8b 03 mov (%r11),%eax

*41* 0f xx 03 new_mov (%r11),%eax


In the case of 64*: *

*49* 8b 03 mov (%r11),%rax

*49* 0f xx 03 new_mov (%r11),%rax

***Numbers in bold are REX bits, xx are new opcodes.

Gabe or anyone who has any information on this?


Best regards,

Abhishek
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to