flat assembler
Message board for the users of flat assembler.

Index > High Level Languages > BF93 example intepreter

Author
Thread Post new topic Reply to topic
lsa



Joined: 10 Aug 2006
Posts: 17
Location: Denmark
lsa
Just another example program for beginners.


Description: bf93.tar.gz
Download
Filename: bf.tar.gz
Filesize: 6.96 KB
Downloaded: 439 Time(s)

Post 14 Mar 2010, 12:20
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 16840
Location: In your JS exploiting you and your system
revolution
Post 14 Mar 2010, 12:40
View user's profile Send private message Visit poster's website Reply with quote
Tyler



Joined: 19 Nov 2009
Posts: 1216
Location: NC, USA
Tyler
Idk if this is even possible, I haven't put much thought into it, but one of you macro addicts(mainly revolution) should make a set of macros to use fasm as a compiler for a language other than asm. I imagine such a task would be much easier with a simple language like Brainfuck. Not that it would be useful at all, it would just be really cool.

By simple, I'm talking about the simplicity that makes it hard to understand, not that it is simple to understand.
Post 14 Mar 2010, 16:39
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 16840
Location: In your JS exploiting you and your system
revolution
Well doing things just because they might be really cool is a luxury for those with lots of spare time.

I can't see too much problem with a macro solution for brainfuck but I also don't have the time devote to doing just now.

However I do encourage others to try. Learning the macros takes nothing more than experience. Without doing it oneself, one cannot learn.
Post 14 Mar 2010, 16:54
View user's profile Send private message Visit poster's website Reply with quote
Tyler



Joined: 19 Nov 2009
Posts: 1216
Location: NC, USA
Tyler
I'm trying to make the macros, the desired resulting code is pretty simple, it's just that fasm already has a defined meaning for all the symbols used in bf, do you know a way around this?
Post 14 Mar 2010, 22:55
View user's profile Send private message Reply with quote
Coddy41



Joined: 18 Jan 2009
Posts: 384
Location: Ohio, USA
Coddy41
@lsa: Very inspiring thanks Smile Also this is allot different from the original, why call it BF?

_________________
Want hosting for free for your asm project? You can PM me. (*.fasm4u.net)
Post 15 Mar 2010, 00:28
View user's profile Send private message Visit poster's website Reply with quote
lsa



Joined: 10 Aug 2006
Posts: 17
Location: Denmark
lsa
Coddy41: Is it different?
Its a long time since I created it but as far as I can remember i used 10 minutes with another intepreter and
then coded it while reading the original (well, I think it was) "specification".
The implementation may be somewhat different, since i never looked at others work.

The name is just a shortcut, no magic.

Great if it is inspiring.
Post 16 Mar 2010, 06:46
View user's profile Send private message Reply with quote
Coddy41



Joined: 18 Jan 2009
Posts: 384
Location: Ohio, USA
Coddy41
Yeah bf only has 8 instructions to my knowledge, and you have 26 also in
bf you have to increase the data pointer to what ASCII character you want
and then place a period. Also look at the hello world example for bf
http://en.wikipedia.org/wiki/Brainfuck#Hello_World.21

_________________
Want hosting for free for your asm project? You can PM me. (*.fasm4u.net)
Post 16 Mar 2010, 19:51
View user's profile Send private message Visit poster's website Reply with quote
lsa



Joined: 10 Aug 2006
Posts: 17
Location: Denmark
lsa
This may explain things:
http://en.wikipedia.org/wiki/Befunge

More than one language with B....f... in it.
The thread title may be misleading.
Post 16 Mar 2010, 20:10
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
Cool, another BF93 interpreter to add to my (huge) collection! Wink

However, you should've mentioned that it was for NetBSD / OpenBSD only. Also, 41x25 is indeed a little odd (esp. since 80x25 should be default). The man page is also way way way too short. At the very least, it should mention Chris Pressey and all 26 instructions (plus 10 digits). Some more complex examples included in the package would be nice too. Oh, and "release/" for the program's dir is not useful.

P.S. Make sure to add a link at http://esolangs.org/wiki/Befunge !

(Please don't be offended, just some (very light) constructive criticism.)

Befunge forever! Smile
Post 23 Mar 2010, 15:32
View user's profile Send private message Visit poster's website Reply with quote
lsa



Joined: 10 Aug 2006
Posts: 17
Location: Denmark
lsa
rugxulo:
Fine feedback. In generel, criticism is the best feedback one can get, if it is constructive.
Yes the *BSD only is importent.
I will change some of the things you point out and upload the new (soon), just to make it more complete.
The 41x25 is in my opinion much easier to work with on terminals, not that i have ever done much work
with befunge but i found it so, at the time of writing the intepreter.
Post 26 Mar 2010, 07:00
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
BTW, works fine in old NetBSD 3.1 "rescue-tiny" floppy. Smile

P.S. I can't understand why 41x25 is easier, are you using GNU Screen or is that just the way your X11 setup is situated??
Post 11 Apr 2010, 07:04
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2019, Tomasz Grysztar.

Powered by rwasa.