Jump to content

assembly development

Recommended Posts

I didn't want to clutter the development tools thread with my questions.


Most of the time I write my assembly code on real hardware or MESS, depending on my mood. Recently I have been playing around with some of the development tools, like xdt99, to see if I can simplify a few of my larger projects. There are a few frustrations I've run into, mostly on the editing side.


I downloaded Notepad++ and the language xml file. I figured out how to add and select the XB/assembly language file.


1. I am used to using TAB to get to the next operand/tab location. Notepad++ uses tab to perform an autocomplete. This drives me bonkers. Similar things happen when pressing enter and I find myself having to go back and edit (correct) everything.


2. Can notepad++ mimic how the TI editors handle tabs, i.e., move the cursor to the next tab instead of indenting the code to the right? When I type assembly, it is second nature to tab from column 1, to column 7, to 11, etc. Between #1 and #2, my code is a wreck.


3. Notepad++ seems to be set up to use the semicolon for comments. Is there a way to reconfigure this to the asterisk?


4. I think I understand how to assemble and create images with xdt99. I need to experiment a bit more. I didn't see a MAKE utility, does something like that exist? I use a fair number of separate object code 'modules' linked with REF/DEF versus lumping things into one assembled file.


Yea, I know, I'm set in my ways. Alternative options and suggestions welcome ;)



Edited by InsaneMultitasker
Link to comment
Share on other sites

I have used Textpad since 1997, but recently I have switched to other editors due to wanting more of a "code editor" rather than a "text editor". Textpad is staying true to its roots, but I like a little more from an editor.


Notepad++ has some nice options, and yes you can turn off all the extra auto-complete, auto-indent, etc. You can also reassign the key mappings to hotkeys that work for you.


You should be able to set up tabs stops to match the original E/A, but I find with the new assemblers, I don't care very much for the old assembly column format. The first time you use a long label you will blow the left column, so just forgo the original tabs and embrace more space. :-)


As for comments, anything after the opcode field is ignored, so for the editor's sake you can use a semicolon to designate a comment. You can also reassign the single-line comment delimiter, however, I am not aware of an editor that will consider a column position to indicate a comment, so you will need to choose a character (or combination) that does not exist in the normal language.


Another editor that I have been using lately is Sublime Text. It has some really powerful editing features.


Most editors can automate the build of programs by running the command line tools via a hotkey, etc.

Link to comment
Share on other sites

I've been using long labels for 20+ years - Paul Charlton's one-pass assembler for the Geneve allows for them. I often place the longer label on the preceding line, by itself, so the tab stops aren't much trouble there ;) I suppose this would only be a problem for me if the PC-based assemblers dislike labels on their own lines.


So far I haven't found an editor that allows the tab (or some other keypress) to jump to predefined tab stops without moving the existing text. Guess I need to play around a bit more.


I'll give textpad and sublime text a try and watch for any other ideas on how people are writing and assembling code.

Link to comment
Share on other sites

I spent years using jEdit, with no complaints, but I also dropped it like a ton of bricks when my employer forced Intellij on me. No regrets there.


I still fall back on vim when in an unstructured project / shell environment... which is most of the time.


I took Ralph's Intellij syntax highlighting code, and applied what I could figure out to vim:




If you use vim, unzip this in ~/.vim


It contains a simple syntax file for .a99 files, and a file type detector for .a99 files... :) where .a99 is the source extension I use for Ralph's assembler.


( I used jEdit for so long that I still mistype Jedimatt42 often... )



Link to comment
Share on other sites

One of the major strengths of jEdit is its expandability with plugins. I use the Project Management and various syntax highlighting features. You can easily add custom highlighting for other languages. Also, the visual diff is pretty helpful.


Of course, I'm frequently using vim, but not for bigger files; mainly to write simple script files, to modify them, or to do other minor changes. What I like most about vim is its simplicity and small size: While other editors have not got past their splash screen, I'm already done with my editing work in vim, saved the file, and exited it again.


Still in my mind is a port of vim for the Geneve.

Link to comment
Share on other sites

For those running on Windows, Context is a nice editor written in Delphi. (I don't believe source code is available)

It has a simple way to create highlighter files for any language, with the common languages already provided which you can use as examples.


I use it for Forth on Windows 10 64 and it's pretty nice.





Oh and it's freeware

Edited by TheBF
Link to comment
Share on other sites

The strength of IntelliJ IDEA specific to TMS9900 assembly is that you can jump from a label reference to the place where it's declared. This means that when the cursor is on BL @MYSUB you can press Ctrl+B to go to MYSUB. When you are on MYSUB you can press Shift+F6 to rename the label and all references. You can also use code completion: type BL @MY and press Ctrl+Space and all labels starting my MY will be suggested. There is also automatic code reformatting, but I don't use that much since it's changing the instructions to lower case.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...