I making a big assumption here in that what I post, as a beginner will be of interest...now... but let me dream a bit ;) If I post some code would you prefer to see equates like

    RegWork       EQU eax   ;Work register
    RegHeapBottom EQU edi   ;Index of last element in heap
    RegHeapTop    EQU esi   ;Index of first element in heap
    RegParentNode EQU ebx   ;Index of current parent node
    RegBigChild   EQU ecx   ;Index of current child node
    RegLeftChild  EQU ecx   ;Index of current child node
    RegRightChild EQU ebx   ;Index of current child node
    RegValueHold  EQU edx   ;Pointer/value of heap top for chained swaps
    RegArrayBase  EQU es    ;Base of array using a 1-Origin

    ;---------------------------------------------------------------------
    ;Set array to 1-Origin as the classic method requires
    ;---------------------------------------------------------------------
    mov RegWork,        arrayPtr
    mov RegHeapBottom,  RegWork
    sub RegWork,        4
    mov RegArrayBase,   RegWork
This is helping me juggle registers... I want MORE REGISTERS :( ... but that may not be easy on the eyes. Or should I abandon these shenanigans for a more direct

    mov eax,  arrayPtr
    mov edi,  eax
    sub eax,  4
    mov es,   eax
Thought I'd ask before I REALLY start to clutter your boards with... well ... my normal shenanigans :D
Posted on 2001-04-09 22:10:00 by rafe
I only use the direct method. The indirect method with the equates easily cause conflicts between pieces of code and the use of the registers is not clear. I do use it with microcontroller programming though but then you have many registers named r0 to rXXX so then it's easier to define names. Thomas
Posted on 2001-04-10 15:43:00 by Thomas
Agreed Thomas. In some micro's, where there are ONLY registers (and no seperate RAM storage, just more registers), it makes mucho sense to name the registers, EXCEPT whatever the working register is (W in PICish)In fact, many other special registers (like output pin direction) came already aliased in the inc file. For an x86, it's too easy to confuse a register with a memory address like this. Or forget registers are transient things, one API call and they are gone. (Last night I had a MUCH longer reply here. It got ete by the computer demon)
Posted on 2001-04-10 19:47:00 by Ernie