Code:

    ###   #### #   # ####  ####  #####  ###  #   #
   #   # #     ## ## #   # #   # #     #   # ## ##
   #   # #     # # # #   # #   # #     #   # # # #
   #####  ###  # # # #   # ####  ####  ##### # # #
   #   #     # #   # #   # # #   #     #   # #   #
   #   #     # #   # #   # #  #  #     #   # #   #
   #   # ####  #   # ####  #   # ##### #   # #   #


THE TI-8X+ ON-CALC ASSEMBLER

CURRENT VERSION : 1.00

Asmdream is an on-calc assembler for the TI-8X+ calculator series.
It reads symbolic content (sources & includes) written directly using the OS built-in program editor.
It writes machine code into protected programs in ram.
You can think of it as a hybrid between mimas & axe.

DOWNLOAD

http://www.ticalc.org/archives/files/fileinfo/444/44479.html
Don't forget to read asmdream.txt.

NEWS

http://www.cemetech.net/forum/viewtopic.php?p=172722#172722
http://www.cemetech.net/forum/viewtopic.php?p=173507#173507
http://www.cemetech.net/forum/viewtopic.php?p=202574#202574

FEATURES

all z80 instructions (undocumented ones included)
constant byte strings
variable byte strings (ascii strings handled)
variable word strings (ascii strings handled)
token strings
comments
immediate arguments
- decimal
- hexadecimal
- binary
- ascii
operators
- positive
- negative
- addition
- substraction
program counter symbol (changeable initial value)
address labels (usable in main and macro code)
equate labels (nesting handled)
macros (nesting handled)
macro parameters
error handling (goto handled)
automatic include detection
ultra complete collection of equates
running asmdream from external code supported

TOPIC PURPOSES

troubleshooting
feedback

SCREENSHOT

The assembler in action :

It looks cool, but there's one problem: where's the download?
Thx =]

I'm waiting for validation from ticalc.org =S
You can upload it here, too:
http://cemetech.net/programs/upload.php
And to http://calcg.org and http://tifreakware.net/forum/viewforum.php?f=24 as well Smile Plenty of places to post a file.

Also, looks like a good program, like the UI.
Thx =]

Upload sended here too.
Waiting 4 validation...
the_mad_joob, corrected wrote:
Thanks, I uploaded the file here, and am waiting for validation.


Good grammar and spelling will get you places. I know that you don't talk like that in real life (hopefully).
After 6 months of non-stop coding, i hope i can deserve some little syntaxic compression =P
Nice comeback. But remember your grammar.
Accepted. Here's the download link:
http://www.cemetech.net/programs/index.php?mode=file&id=664
Thanks =]
the_mad_joob wrote:
The source will be provided as soon as the beta period ends.


I believe that you should open the source now. Beta periods go faster with open source. In closed source, people find a bug and give vague, unhelpful answers as where it could be, which are almost always misleading.

In open source, when people find a bug, they'll be a few people that still give vague, unhelpful answers, but the majority of people will find bugs, look at your code, and say "Hey, I bet it's in this routine." You may solve bugs that you'd never have found yourself. Just my $0.02
Thanks for the advice =]

Actually, i already found 2 bugs.
One is already fixed.
The other, i know exactly what is going on.

I won't hesitate to open the source as soon as someone finds something really nasty.
Other than that, i'll wait a little month i suppose.
I accepted your new submission with a small comment about the size of the example.gif screenshot that you included. Smile
I will cut it down on the next update i promise.
Thx.

*****

I fixed macros.8xp
The extra instructions are now processed properly.

*****

Ideas for the next update :

advanced exchanges (at the cost of 1 hardware stack entry) :
EX BC,DE
EX BC,HL
EX BC,IX
EX BC,IY
EX DE,IX
EX DE,IY
EX HL,IX
EX HL,IY

general backup (at the cost of 6 entries) :
PUSH ALL
POP ALL

port backup (at the cost of af and 1 entry) :
PUSH imm8
POP imm8
I hesitate about some of those combination "opcodes", because they might hide gotchas from novice programmers. For example, a novice might not realize that PUSH $38 is actually hosing af.
You're right.
Losing AF could represent a significant drawback.
I won't probably add PUSH & POP imm8.
But i definitely like the other combinations.
Thx for feedback =]
NEWS

Fixed a few minor bugs.
The store token is now allowed in macro name definitions (Thx xeda112358).
Overwriting the destination program is now possible (Thx calc84maniac).
Added more extra loading instructions (XLD).
Added extra exchange instructions (XEX).

LIST OF CURRENT EXTRA INSTRUCTIONS (space>speed)

no requirements :

XLD BC,DE
XLD BC,HL
XLD DE,BC
XLD DE,HL
XLD HL,BC
XLD HL,DE

requires 1 available stack entry :

XLD AF,BC
XLD AF,DE
XLD AF,HL
XLD AF,IX
XLD AF,IY
XLD BC,AF
XLD BC,IX
XLD BC,IY
XLD DE,AF
XLD DE,IX
XLD DE,IY
XLD HL,AF
XLD HL,IX
XLD HL,IY
XLD IX,AF
XLD IX,BC
XLD IX,DE
XLD IX,HL
XLD IX,IY
XLD IY,AF
XLD IY,BC
XLD IY,DE
XLD IY,HL
XLD IY,IX

requires 2 available stack entries :

XEX AF,BC
XEX AF,DE
XEX AF,HL
XEX AF,IX
XEX AF,IY
XEX BC,DE
XEX BC,HL
XEX BC,IX
XEX BC,IY
XEX DE,IX
XEX DE,IY
XEX HL,IX
XEX HL,IY
XEX IX,IY

NEXT CHALLENGE

new operators :

*:multiplication
<<:logical bit shift left
>>:logical bit shift right
and :bitwise and
or :bitwise or
xor :bitwise xor
[:left parenthese (calculation priority)
]:right parenthese (calculation priority)
Congratulations for the ticalc.org feature, The_Mad_Joob! I hope the extra publicity helps pull more people to come here and give you feedback.
Thx to you too =]

*****

I'm also thinking of adding those :

- symbolic arguments allowed in program counter definition
- a faster way to call all the includes :
Why not an automatic detection/inclusion of all unprotected programs starting with theta (then check header) ?
Some feedback would be quite appreciated about this idea =]
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are UTC - 5 Hours
 
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

 

Advertisement