Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

"I LIKE CISC BECAUSE IT IS EFFICIENT FOR THE I-CACHE"

Name: Anonymous 2021-04-27 2:18

7: 83 f8 04 cmp eax,0x4
a: 0f 9e c0 setle al
d: 0f b6 c0 movzx eax,al


HURRRR DURRRR C*dder is a retard, ARM thumb and risc-v compressed instructions are much better than this crap. I bet even MIPS can do better than this.

Name: Anonymous 2021-04-27 2:20

1: e8 00 00 00 00 call 6 <main+0x6> 2: R_X86_64_PLT32 getchar-0x4
This is anything but efficient. Sure, call is push + jump but this requires 5 whole bytes!

Name: Cudder !cXCudderUE 2021-04-27 2:36

learn2cisc

sub eax, 5
salc
cbw
cwd


6 bytes. Your move.

Name: Anonymous 2021-04-27 2:58

nerds

Name: Anonymous 2021-04-27 3:58

Try calling something that's not within 14 bits (signed) of current PC. Or something addressed via a relocation table. That's multiple 32-bit words right there, and a data-to-control dependency as well.

Cache efficiency can blow my hairy man-shaft.

Name: Anonymous 2021-04-27 16:51

>>3
Now tell that to gcc

Name: Anonymous 2021-04-27 16:53

>>3
LMAO, you have to use undocumented instructions. https://en.wikipedia.org/wiki/X86_instruction_listings#Undocumented_instructions
Do modern chips even support it?

Name: Cudder !cXCudderUE 2021-04-28 3:56

>>5
AArch64 gives you a few more bits, but it's like they took the worst of RISC and CISC when they designed it. Not all types of loads and stores work with all addressing modes, you can use a shift count for some instructions in some operands but not others, sometimes register 31 is the stack pointer and sometimes it's the always-zero, they finally made unaligned accesses work the way they should --- except that the stack pointer might want to be 16-aligned (remember this is an arch with almost all 8-byte registers) for no fucking reason depending on what the OS prefers but most of those idiots were too retarded to turn that feature off, sometimes certain combinations of bits of the opcode are "undefined" also for no fucking reason, the width of immediate values can be 5, 6, 7, 9, 13, or 21 bits depending on which exact variant of instruction, there's over three dozen different "load" instructions... all of which is written somewhere in the almost 8000 pages of documentation, that doesn't even provide an opcode map. That's not counting the specific SoC datasheet either, which is another several thousand pages. Who said RISC was supposed to be simpler...? MIPS is simple, but slow and bloated. I guess AArch64 is what happens when you try to turn a RISC into a CISC just so it can remain competitive with x86. Nothing else can explain the insanity of the irregular addressing modes and instructions that try to fit more than one operation into those 4 bytes.

At least with x86 you just have a ModRM and possibly SIB, and that's it with addressing modes that apply to nearly all instructions with very few combinations like lea reg, reg being undefined, the second page of opcodes is a little hairy but the first page is consistently patterned, and immediate values are sanely sized and all their bytes/bits contiguous.

>>7
They are documented now. If you don't implement them, you can't call it 100% x86-compatible.

Name: ITT 2021-04-28 13:37

Masturbatory
Instruction
Set
Comparison

Don't change these.
Name: Email:
Entire Thread Thread List