Talk:FakeASM

From Esolang
Jump to navigation Jump to search

Um Esoteric Language ?

You're going to have to be a little less obtuse for me; so far it looks just like an 8086 DOS assembler with Motorola syntax. Even has matching BIOS calls and near/far calls. Rdebath (talk) 09:55, 30 October 2014 (UTC)

Could you elaborate? As far as I know, this isn't even near 8086 nor 68000 instructions to its fullest but has taken inspirations from all of them. It's still run under an interpreter in a command line. How wouldn't this be esoteric? --CosmoConsole (talk) 20:05, 30 October 2014 (UTC)
Have a look at Esoteric_programming_language, that elaborates what's expected. Basically, something different/interesting/funny not something that just domain specific or I could have expected to write at work. As for your language itself, the facilities, registers, memory map etc are more or less identical to a machine based on the 8086 processor. The extra instructions being consistent with what would be provided as trap/int instructions to some form of BIOS. The missing instructions are probably the less useful ones that have been left in a 'TODO' list. The fact that it's implemented as an interpreter has no bearing. The details of the syntax are IMO closest to the Motorola style of the 6502/65816/6809 but there's nothing unusual there. In fact, didn't I use this language at school? Rdebath (talk) 06:07, 31 October 2014 (UTC)
"An esoteric programming language is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use."
FakeASM experiments with the weird idea of a (semi)graphical scripting language with the style resembling an assembly language. This is surely not intended for any practical use, either. --CosmoConsole (talk) 06:28, 31 October 2014 (UTC)
Still to expand more about the points you attempted to prove. Not everyone learns or codes assembly during education or work life. Besides, there are other esoteric languages which resemble actual languages as well. Look at PHL_1.0 or HSQ for an example of languages which really don't make a difference from actual programming languages, which doesn't bug me but seems to bug you. --CosmoConsole (talk) 07:05, 31 October 2014 (UTC)
UM: "(semi)graphical scripting language" I don't see anything 'graphical' about the language ?
Re: your two examples HSQ is NOT an esolang, it's included because it compiles to an esolang, like for eg: BFBASIC.
The author of the language PHL_1.0 says it's included because he didn't know any better at the time. As this wiki is inclusive I suppose the same reason can apply to FakeASM. Rdebath (talk) 08:38, 1 November 2014 (UTC)
FakeASM is strange for an assembly language, actually. It is hardly like x86 assembly language. (It has a requirement of the I/O model, for one thing.) Also, if "address" has to be a constant then such instructions just don't help much. (If an address is allowed to optionally specify +A, +B, +C then it does help; or it can be made as a flag to do such thing) --Zzo38 (talk) 19:51, 1 November 2014 (UTC)
No it's not much like the 8086 ASSEMBLER, but it's a lot like the 8086 MACHINE CODE. The 'PRINT', 'ECHO' and 'RKY' commands would at the machine code level be 'TRAP #n' instructions with the mnemonics used by the assembler because that's what the ROM does with those traps. If I remember the old assembler correctly the 'print' like command didn't take an address because the string was inlined after the trap; but you did have other traps that would print characters and numbers. I'm probably mixing things a little, because back then it's would probably have been a Z80 processor but truthfully I have no idea which machine. Anyway, if this is an esolang assembler where's it's HCF (For real!) instruction? Rdebath (talk) 09:34, 2 November 2014 (UTC)
I don't think so; it is pretty different, and even has four separate memory spaces. I also see nothing about addressing modes in FakeASM (although it should be added; otherwise it isn't so useful), and the registers are different too, different from 8086 and different from Z80. --Zzo38 (talk) 23:59, 2 November 2014 (UTC)
The 8086 has the same memory spaces called CS:, DS: and ES:. The addressing modes are not included (I didn't say it was a complete 8086 assembler) and the registers (I think) match if you ignore some of the top half registers.
BUT; there is obviously some interest in this so I'm overruled anyway. Rdebath (talk) 19:12, 3 November 2014 (UTC)