Re: NASM 0.98.39 vs. NASM 2.03.01 disassembly



"Wolfgang Kern" <nowhere@xxxxxxxx> wrote in message
news:g86e37$56j$1@xxxxxxxxxxxxxxxxxxxxxxxx
I never bought nor used x386 nor any Cyrix CPU.
Except for 0F 7E (MOVD r/m,MMn) these codes seem to be kept
reserved by AMD and Intel for 'some reason'.

Yeah, that "some reason" is interesting. When do they preserve space for an
obscure instruction versus when do they replace the instruction with
another?

It wouldn't be a huge job to add the few 'Cyrix Special' into my disass,
at least as commented 'db', but will it be needed often or at all ?

Never. Who has a Cyrix cpu? (I've got one from a decade ago... cheap.
Haven't seen them available since.)

Experience with 286/386 Loadall, which became totally different meanings
with 486, make me think that we could renounce of undocumented old codes
in todays disassemblers. But perhaps it helps if the disass show them
commented with a 'CPU-type' mark, or let the disassemble output switch ?

It's your (dis)assembler...

Of course, switches are useful to ensure only a certain instruction set is
disassembled. However, I don't use that feature often. So, personally, I'm
not a fan of "multiple" choice switches. I prefer a "fall-back" method. I
like disassemblers to disassemble with preference for all currently valid
instructions, and then if it doesn't fit a current instruction, disassemble
as an older instruction if available.

E.g., if 0x0f xxx xxx xxx won't disassemble as any valid two-byte
instruction, I'd like to see "pop cs" instead of "db 0x0f".

E.g., if I expect 0F A6 C3 to not decode to a valid instruction: "db 0x0f "
"something". I'd prefer the assembler falls back to a valid instruction:
"cmpxchg486 bl,al" or "xbts ax,bx", if it's "aware" of one.


Rod Pemberton

.



Relevant Pages

  • Re: Top 10 kernel oopses for the week ending January 5th, 2008
    ... If the oops happened with a kernel you generated yourself, ... the EIP that was reported for the oops, and it will tell you what line it ... random oopses reported on lkml - you will generally have to disassemble ... enclosing it in, but with non-constant instruction lengths, you need ...
    (Linux-Kernel)
  • Re: NASM 0.98.39 vs. NASM 2.03.01 disassembly
    ... Except for 0F 7E these codes seem to be kept ... for an obscure instruction versus when do they replace the instruction ... or let the disassemble output switch? ... So, personally, I'm not a fan of "multiple" choice switches. ...
    (alt.lang.asm)
  • Re: OPTABLE option of Disassembler
    ... If an instruction exists in the code the disassemble ... 370 (and optionally list the valid OP codes at that level). ... For IBM-MAIN subscribe / signoff / archive access instructions, ...
    (bit.listserv.ibm-main)
  • Re: [2.4.28-rc1] process stuck in release_task() call
    ... address of the next instruction after the call). ... it would be good to disassemble vmlinux and ensure ... Considering that someone else could hold the lock (bug, etc...), it ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: Writing a disassembler ?
    ... disassemble x86 code) and I'm about to start writing the basic ... to opcode, and so on and so on. ... the beginning of an instruction. ... It should be mostly table driven, with new flags and addressing ...
    (comp.compilers)