Topics

Assemblers

apendragn <apendragn@...>
 

There are a few different assemblers available for the
1802. I was wondering what everyone's favorite assember
is.

I'm in the process of writing a basic compiler and I plan
on using an existing assembler. But, I want to know which
one is the best or which assembly format (i.e. RCA assembler)
I should design for.

What's your favorite assembler?


Thanks,
Ed L

richardep20002000
 

Well My Vote Goes to No Assembler, Let it do it all.
This way It would be a stand alone program.

I Was Also Wondering as to what basic you would be designing for,and
what hardware.

--- In cosmacelf@..., "apendragn" <apendragn@e...> wrote:

There are a few different assemblers available for the
1802. I was wondering what everyone's favorite assember
is.

I'm in the process of writing a basic compiler and I plan
on using an existing assembler. But, I want to know which
one is the best or which assembly format (i.e. RCA assembler)
I should design for.

What's your favorite assembler?


Thanks,
Ed L

joshbensadon
 

Ed,

I prefer PseudoSam, A18.com
Besides being tricky to type, it's free!
It's easy enough to use, and quite flexible.


Josh

--- In cosmacelf@..., "apendragn" <apendragn@e...> wrote:

There are a few different assemblers available for the
1802. I was wondering what everyone's favorite assember
is.

I'm in the process of writing a basic compiler and I plan
on using an existing assembler. But, I want to know which
one is the best or which assembly format (i.e. RCA assembler)
I should design for.

What's your favorite assembler?


Thanks,
Ed L

apendragn <apendragn@...>
 

--- In cosmacelf@..., "richardep20002000"
<stateamuse@c...> wrote:
Well My Vote Goes to No Assembler, Let it do it all.
This way It would be a stand alone program.
I'm considering that too. It's just that it takes a bit
more extra work. One reason I was looking at using an
assembler is that once the code was generated, the user
could edit the assembly listing to customize the code as
they wish prior to assembling into binary. Otherwise,
I'd have to add more facilities for customizing memory
placement and such into the language. Generic input and
print statements can be hard too.

I Was Also Wondering as to what basic you would be designing
for,and
what hardware.
It's based on a QBasic-like language. This means you can define
subroutines and functions. It's designed to support constants
and variables of type bit, byte, integer, real, and string.
It has structured while loops. It's somewhat like C in that
it starts from a subroutine/function called main.

It's still in a development stage and I've never done a
compiler before, but that's part of the reason that I'm
doing this. As usual, the 1802 is a good platform for
learning about computing.

Hardware-wise, it's designed for the 1802. I'm trying to
make it general enough that it isn't designed for any
particular flavor of 1802 system.

It's generating code for some statements right now, but
not enough to be useful yet. The kinds of statements
that I'm looking at right now are:

STATEMENT = ASSIGNLABELCALL
| GOTOSTATEMENT
| WHILESTATEMENT
| REPEATSTATEMENT
| IFSTATEMENT
| SELECTSTATEMENT
| FORSTATEMENT
| RANDOMSTATEMENT
| RANDOMIZESTATEMENT
| INPUTSTATEMENT
| PAUSEMSTATEMENT
| PEEKSTATEMENT
| POKESTATEMENT
| PRINTSTATEMENT
| EXITSTATEMENT .

The biggest problem is input and output statements and
making them generic across all systems. The way it's usually
done that I've seen is to have each port define their own
getch() or putch() function. That may be what I'll have to
do.

It'll get more sophisticated once I get it compiling all
statements of the language. I'll release the source code
into the public in case someone else wants to correct,
enhance or play with the design. It's written in g++ with
the parser generated for gcc by COCOR.

Cheers,
Ed

richardep20002000
 

I see Were you a coming from. You may wont to compile the input and print
statements to get or put a charactor by using branches, which then would be
filled in with the address of a users IO routines.
You would then call these branches.

An then incorporate and INP(1-7), and Out(1-7) Function.
I also would be nice if it was block independed, what i mean by this is High
R0, is read and every call is based on this. The Call (D4) routine could be
modified to be relative instead of absoulute, well half relative. This would
allow a lot of different configuation.

Getting a compiler that would compile tiny basic would be a great start.
These Are The Only reative statements LET, IF, INPUT, PRINT, GOTO, GOSUB,
RETURN, END,REM,OUT, POKE
and INP, PEEK, RND and USR Functions.

----- Original Message -----
From: "apendragn" <apendragn@...>
To: <cosmacelf@...>
Sent: Tuesday, November 04, 2003 9:24 AM
Subject: [cosmacelf] Re: Assemblers


--- In cosmacelf@..., "richardep20002000"
<stateamuse@c...> wrote:
Well My Vote Goes to No Assembler, Let it do it all.
This way It would be a stand alone program.
I'm considering that too. It's just that it takes a bit
more extra work. One reason I was looking at using an
assembler is that once the code was generated, the user
could edit the assembly listing to customize the code as
they wish prior to assembling into binary. Otherwise,
I'd have to add more facilities for customizing memory
placement and such into the language. Generic input and
print statements can be hard too.


I Was Also Wondering as to what basic you would be designing
for,and
what hardware.
It's based on a QBasic-like language. This means you can define
subroutines and functions. It's designed to support constants
and variables of type bit, byte, integer, real, and string.
It has structured while loops. It's somewhat like C in that
it starts from a subroutine/function called main.

It's still in a development stage and I've never done a
compiler before, but that's part of the reason that I'm
doing this. As usual, the 1802 is a good platform for
learning about computing.

Hardware-wise, it's designed for the 1802. I'm trying to
make it general enough that it isn't designed for any
particular flavor of 1802 system.

It's generating code for some statements right now, but
not enough to be useful yet. The kinds of statements
that I'm looking at right now are:

STATEMENT = ASSIGNLABELCALL
| GOTOSTATEMENT
| WHILESTATEMENT
| REPEATSTATEMENT
| IFSTATEMENT
| SELECTSTATEMENT
| FORSTATEMENT
| RANDOMSTATEMENT
| RANDOMIZESTATEMENT
| INPUTSTATEMENT
| PAUSEMSTATEMENT
| PEEKSTATEMENT
| POKESTATEMENT
| PRINTSTATEMENT
| EXITSTATEMENT .

The biggest problem is input and output statements and
making them generic across all systems. The way it's usually
done that I've seen is to have each port define their own
getch() or putch() function. That may be what I'll have to
do.

It'll get more sophisticated once I get it compiling all
statements of the language. I'll release the source code
into the public in case someone else wants to correct,
enhance or play with the design. It's written in g++ with
the parser generated for gcc by COCOR.

Cheers,
Ed





========================================================
Visit the COSMAC ELF website at http://www.cosmacelf.com, or view the
Wiki/FAQ at http://1802.bitting.com/

To unsubscribe from this group, send an email to:
cosmacelf-unsubscribe@...



Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/