Earlier quoted context omitted.
In a similar vein, C000 == 49152 has been burned into my brain. I recognize it immediately, because that’s where most C64 assembly programs were loaded, followed by “SYS 49152” for loading them. A000 for example I recognize, but can’t tell you as quickly what it is in decimal as I can with C000.
Weird how the brain works, given that 0xA000 = 0xA × 0x1000 = 10 × 0x1000 and I guess you know 0x1000 = 4096
Undocumented 8086 instructions, explained by the microcode
81–90 of 104 posts
Re: Undocumented 8086 instructions, explained by the microcode
#82I can only imagine the nail-biting at Intel when repurposing the 8086's undocumented but instruction aliases for new 80[123]86's instructions. Intel had no way of knowing whether someone, somewhere, had written software using these aliases.
For the 286, do keep in mind that prior to IBM releasing the PC-AT, no one at Intel likely considered that anyone would want to use their newfangled 286 as nothing more than a "fast 8086". It appears that Intel's plan for the 286 was that everyone would also have a 286 protected mode OS to run upon it, and 8086 real mode was included only for the purposes of setting up the minimum necessary protected mode data tables to enable a switch into protected mode. This is one of the reasons why the 286 provided no documented way to leave protected mode once the OS flipped the PE bit in CR0 to 1. And, in 'protected mode' one has to provide protection against executing invalid opcodes for it to be properly a 'protected mode'.
The fact that most 286 system purchasers were running their shiny new 286 as nothing more than a fast 8086 for many years probably caused much more consternation at Intel than the fact that the [12]86's generated exceptions for undocumented 8086 opcodes.
Re: Undocumented 8086 instructions, explained by the microcode
#83Earlier quoted context omitted.
Yes, like many others. That's why I upped the ante by stating "numeric and lowercase characters only". And with the glyph differences between them also create a "hidden" image. Editted: What you reference to is a compiler and something completely different.
Not completely different, because the output of the compiler is itself ASCII. So it compiles any C program into an ASCII exe
These are two different projects with different design goals and challenges. Tom's built a compiler around it, I created a bootloader that consists of only MUL and XOR.
I don't understand why I feel that I have to defend myself, I thought hackers love these kind of projects, yet it seems I got cancelled.
A true innovation would be to combine both projects. One that inputs source code plus an image and outputs ASCII art that runs like a program.
Re: Undocumented 8086 instructions, explained by the microcode
#840F.
Re: Undocumented 8086 instructions, explained by the microcode
#85MOV CS, AX
Re: Undocumented 8086 instructions, explained by the microcode
#86> The undocumented C9 opcode is identical to the documented CB, far return instruction. I remember this. Once ... gosh, it's hard to believe how long ago that was now, but once I knew the entire Z80 opcode table off head. I could read the Z80 machine code and disassemble it. High school crowded that stuff out of my head, I went to a special math school, it was very very hard. Except... C9 was RET (and the Z80 is an e…
I'm the same with LDA immediate = A9 in 6502 machine code, from my C64 days. It's disturbing how strongly burned-in those neurons are ...
Re: Undocumented 8086 instructions, explained by the microcode
#87Earlier quoted context omitted.
> It's very weird that the push and pop are in completely different places in the opcode map. Are they? There's a lot of different opcodes for push and pop, but if I'm reading right, for a given address mode, the op code for push and pop always differs by one bit (which bit changes though) https://www.felixcloutier.com/x86/push https://www.felixcloutier.com/x86/pop
He's talking about 8F/0 (pop) and FF/6 (push).
Re: Undocumented 8086 instructions, explained by the microcode
#88Earlier quoted context omitted.
Also a fantastic TV series about the personal computing era of the 80's. https://www.imdb.com/title/tt2543312/
The show is mediocre, lots of technical inaccuracies.
The show feels like if you were supposed to take It's Always Sunny seriously, for drama. Meanwhile there just happens to be 25 years of computer history occasionally shoved into the background, that magically is the fault of the same like four people.
Re: Undocumented 8086 instructions, explained by the microcode
#89Earlier quoted context omitted.
Not completely different, because the output of the compiler is itself ASCII. So it compiles any C program into an ASCII exe
Both projects stem from the same root, TXT=EXE. However, both branch in totally different directions. One says "any printable goes" whereas the other says "only the smallest subset (preferably also for ASCII art) goes", mainly being being “0123456789acemnorsuvwxz”. These are two different projects with different design goals and challenges. Tom's built a compiler around it, I created a bootloader that consists of onl…
Holy hyperbole captain. Apparently not being heaped in praise and getting the usual amount of hyper cynical HN criticism is "being cancelled" now.