Author Topic: QE Plugin for swapping 64 bit registers.  (Read 3886 times)


  • Administrator
  • Member
  • ******
  • Posts: 9996
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
QE Plugin for swapping 64 bit registers.
« on: May 27, 2018, 02:13:26 PM »
I have long had one for 32 bit registers and it has always been useful for shuffling around registers when writing algorithms but I need one for 64 bit registers so this toy needed to be written. It is a standard QE plugin DLL and to use it you put it in the "plugin" directory then set it up on which ever QE menu serves your interest.

Go to Settings on the Edit menu, select "Edit Menus" and in the menu editor type a line that shows on the menu, "Swap 64 Bit Registers" or similar, place a comma "," after it (minus the quotes) then click the "Get File" button. Once you select the "regswap64.dll" file it will be added after the comma. Click the "Save" button and you are ready to Rock 'n Roll.

To use the plugin, select the block of source code when you want to swap registers, select the registers in the dialog then click "Swap" and all of the  instances of the two registers will be swapped. Over years I have found this style of tool to be very useful when coding mnemonic code algorithms.

I have not posted the source as its written in 32 bit PB which would not be much use to most people.
hutch at movsd dot com    :biggrin:  :skrewy:


  • Member
  • *****
  • Posts: 1381
Re: QE Plugin for swapping 64 bit registers.
« Reply #1 on: May 27, 2018, 02:58:05 PM »
Seems useful to make tests with pieces of code using different register for each test instance.

Thanks.  :icon14:


  • Member
  • *****
  • Posts: 2187
  • my kind of REAL10 Blonde
Re: QE Plugin for swapping 64 bit registers.
« Reply #2 on: March 02, 2019, 08:36:08 PM »
probably also would be useful to replace variables and numbers for example from compilergenerated asm,=adress of the used variables,many repeated usage of that variables reduce mostly static variables usage from opcode+fullsize adress ,for example mov rax,[variable full size adress],to several mov rax,[rbx],after one opcode that loads variable adress into RBX

my none asm creations
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."