Re: To RISC or not to RISC



Donkey wrote:

Sorry to state the obvious and something that you likely already know
but this is just another example of legacy in the x86. Accumulator
High/Low (AH/AL), Base High/Low (BH/BL), Counter High/Low (CH/CL) and
Data High/Low (DH/DL) Destination Index (DI), Source Index (SI), Stack
Pointer (SP) and Base Pointer (BP), prefix an E for 32 bit Extended.

That's not correct. Intel makes the hardware and for compatibility we
still have the same register set in modern x86 processors as in the
8086 (extended to 32 bit). But nowhere in the chip are the names AL,AH,AX...
engraved nor are the register addressed by this names (but by three bits in the
opcode). It's the writer of an assembler and not Intel who decides which
symbolic names to use for the registers (and for the instructions and operand
size). And I see only two reasons why even in currently developed assemblers
this names are still used:

1. the author of the assembler is a sadist who enjoys it see the user
of the assembler suffer

2. or the user of the assembler prefer to use this names (and the Intel
syntax in general). If the latter is the case, then there are also
two possible reasons:

- they want to show how smart the are, because they are able to read
and write such an unreadable collection of characters and they never
would use a clean and simple syntax and proper register names because
everybody could program in assembler then

- or they are masochist who enjoy it to suffer from such a syntax
.



Relevant Pages

  • Re: SSE/MMX peculiarity on AMD AthlonXP
    ... Address or pointer is the same thing. ... inline assembler. ... instructions to load a literal constant into an XMM register, ... The x86 instruction set has no concept of "pointers" in the C sense. ...
    (comp.lang.asm.x86)
  • Re: instruction rescheduler?
    ... assembly language have never written code in another assembler. ... > -- register allocation and keeping track of which register is what, ... Register allocation, globally, is one of those things a machine usually ... Assembly programmers don't want to believe that a machine could ...
    (comp.lang.asm.x86)
  • Re: *Exe Programm aus Assembler heraus =?UTF-8?B?YXVzZsO8aHJlbiAv?= =?UTF-8?B?NGJo?=
    ... lege in den Umschlag den Brief; lege in die Sachtel den Umschlag; lege in den Safe die Schachtel; ... lege den Brief in den Umschlag; lege den Umschlag in die Schachtel; lege die Schachtel in den Safe; ... die restlichen Register haben. ... Man benutzt gerade einen Assembler, ...
    (de.comp.lang.assembler.x86)
  • Re: Assembler?
    ... 6502 assembler I used was about 20K, and the disassembler was less than ... compilers optimized to them, they are optimised to the compilers and ... Register shmegister. ... What's cache RAM but a shitload of fast registers..especially for the stack?.. ...
    (comp.os.linux.misc)
  • Re: Thinking assembly?
    ... much more than to learn the few assembler memonics. ... And that in anyway is flawed in design, ... even once to use VirtualAlloc and didnt know anything about it. ... header...then I can esaly calculate the pointer. ...
    (alt.lang.asm)