EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Recommendation for Code/Text Editor?

Started by David T. Ashley May 23, 2005
Pete Gray <petegray@ieee.org> wrote:
> ConTEXT (windoze) and jed (*ix) >
ConTEXT is also very good, I've used it also, but for windows, I still like gvim. -- Wing Wong.
On Wed, 25 May 2005 19:38:23 GMT, Jonathan Kirwan
<jkirwan@easystreet.com> wrote:

>Why... the day was when I edited >code in RAM using front panel switches and debugged using an AM radio >by my side to "hear" which routines were being executed. Finger >calluses from heavy use of the metal bat handle switches, like you >might get playing guitar, was a hazard of the day. Assembly was a >mental process, as you coded directly in machine code, of course.
Programming and debugging directly in machine language is not hard to learn, provided that the instruction set is somewhat regular, e.g. certain bits in the op-code control the ALU functions, while others control register selection and so on. Some computers had the switches and lights grouped together according to functionality with front panel colour coding for most important instruction formats. For instance, it would appear as if the PDP-11 instruction set was designed with octal program writing and debugging in mind, since each logical group consisted of 3 bits and a single bit to the left. Other architectures (e.g. IBM360) favoured grouping into 4 bits and thus the use of hexadecimal in the documentation. In microprocessors, the opcode can be easily split into 2+3+3 bit groups, and thus it is quite natural to represent the op-codes in octal. The register code (3 bits) occupied one or two octal digits. The early 8080 documentation used the octal notation, but later on, Intel switched for some strange reason from octal to hexadecimal in the documentation, making assembly language programming and debugging much harder, since you had to remember every opcode explicitly e.g. 64 (63?) MOV op-codes separately. Paul
On Thu, 26 May 2005 11:12:08 +0300, Paul Keinanen <keinanen@sci.fi>
wrote:

>On Wed, 25 May 2005 19:38:23 GMT, Jonathan Kirwan ><jkirwan@easystreet.com> wrote: > >>Why... the day was when I edited >>code in RAM using front panel switches and debugged using an AM radio >>by my side to "hear" which routines were being executed. Finger >>calluses from heavy use of the metal bat handle switches, like you >>might get playing guitar, was a hazard of the day. Assembly was a >>mental process, as you coded directly in machine code, of course. > >Programming and debugging directly in machine language is not hard to >learn, provided that the instruction set is somewhat regular, e.g. >certain bits in the op-code control the ALU functions, while others >control register selection and so on. Some computers had the switches >and lights grouped together according to functionality with front >panel colour coding for most important instruction formats. > >For instance, it would appear as if the PDP-11 instruction set was >designed with octal program writing and debugging in mind, since each >logical group consisted of 3 bits and a single bit to the left. Other >architectures (e.g. IBM360) favoured grouping into 4 bits and thus the >use of hexadecimal in the documentation. > >In microprocessors, the opcode can be easily split into 2+3+3 bit >groups, and thus it is quite natural to represent the op-codes in >octal. The register code (3 bits) occupied one or two octal digits. >The early 8080 documentation used the octal notation, but later on, >Intel switched for some strange reason from octal to hexadecimal in >the documentation, making assembly language programming and debugging >much harder, since you had to remember every opcode explicitly e.g. 64 >(63?) MOV op-codes separately.
I spent a lot of time programming the 8080A, HP 21xx series, and PDP-11 in machine code. Can't say I remember it all, now, though the PDP-11 does tend to stick better for me. I did love the HP 2100 style front panel with the soft switch/light combo panel and liked (somewhat less) the PDP-11 panel. I also still have some of the early 8080 application note manuals, I believe in octal notation. If anyone has an HP 21MX or a 2116 processor floating around that may still work.... It would be fun to have. I wonder if any of these systems are still floating about. Great teaching tool for those interested in finding out the hard way why stacks are so nice to have (the 2114/2116 didn't have stacks and stored the return address in the first location of the subroutine.) Jon
Jonathan Kirwan wrote:
>
... snip ...
> > If anyone has an HP 21MX or a 2116 processor floating around that > may still work.... It would be fun to have. I wonder if any of > these systems are still floating about. Great teaching tool for > those interested in finding out the hard way why stacks are so > nice to have (the 2114/2116 didn't have stacks and stored the > return address in the first location of the subroutine.)
<news:alt.folklore.computers> -- "If you want to post a followup via groups.google.com, don't use the broken "Reply" link at the bottom of the article. Click on "show options" at the top of the article, then click on the "Reply" at the bottom of the article headers." - Keith Thompson
Jonathan Kirwan <jkirwan@easystreet.com> wrote:

: Kevin was right, at least for systems supporting some kind of file
: system.  It's teco.  You can edit and hunt the wumpus at the same
: time. 

M-x doctor

But then some would claim emacs users need psycho-therapy :-)
I wouldn't know, I've been using since the mid-80's. 
I use vi and variants for much sysadmin type work, but am still happier 
programming C in emacs.


CBFalconer wrote:
> Jonathan Kirwan wrote: > > ... snip ... > >>If anyone has an HP 21MX or a 2116 processor floating around that >>may still work.... It would be fun to have. I wonder if any of >>these systems are still floating about. Great teaching tool for >>those interested in finding out the hard way why stacks are so >>nice to have (the 2114/2116 didn't have stacks and stored the >>return address in the first location of the subroutine.) >
Why not move on to PDP-8's: the page size is smaller (128 words) and the instruction set is minimal, and the whole thing uses just 12 bits. Been there - used that. (Also Honeywell DDP-312, with pretty similar limitations.) -- Tauno Voipio tauno voipio (at) iki fi
On Wed, 25 May 2005 22:26:36 GMT, Jonathan Kirwan <jkirwan@easystreet.com>
wrote:
>Used to fit entire and useful programs into 256 bytes, back then.
For General Automation, I had to write the bootstrap for 16 different devices, and the code to zero out the parity-protected RAM, and I had an entire 256 (16-bit) words to do it. They expected to get perhaps 6 or 7 devices supported, but I gave them all 16 - and I had 3 words to spare. So I asked them if they needed an editor or assembler put in the boot ROM. -- #include <standard.disclaimer> _ Kevin D Quitt USA 91387-4454 96.37% of all statistics are made up
On Wed, 25 May 2005 16:17:51 -0700, Zonn <news-zonn@zektor.AOL.com> wrote:
> "copy con: main.exe" (using the Alt-Key combinations for binary encoding...)
I can't resist. You can copy con hello.com and it will work. Note, there are no tabs, and that all lines start either with spaces or capital 'C', or with nothing. Line termination is <CR><LF>. ---------------8<-------------- (*O/*_/ Cu #%* )pop mark/CuG 4 def/# 2 def%%%%@@P[TX---P\P_SXPY!Ex(mx2ex("SX!Ex4P)Ex= CuG #%* *+Ex= CuG #%*------------------------------------------------------------------*+Ex= CuG #%* POLYGLOT - a program in seven languages 15 February 1991 *+Ex= CuG #%* *+Ex= CuG #%* Written by Kevin Bungard, Peter Lisle, and Chris Tham *+Ex= CuG #%* *+Ex= CuG #%* We have successfully run this program using the following: *+Ex= CuG #%* ANSI COBOL: MicroFocus COBOL85 (not COBOL74) *+Ex= CuG #%* ISO Pascal: Turbo Pascal (DOS & Mac), Unix PC, *+Ex= CuG #%* AIX VS Pascal *+Ex= CuG #%* ANSI Fortran: Unix f77, AIX VS Fortran *+Ex= CuG #%* ANSI C (lint free): Microsoft C, Unix CC, GCC, Turbo C++, *+Ex= CuG #%* Think C (Mac) *+Ex= CuG #%* PostScript: GoScript, HP/Adobe cartridge, *+Ex= CuG #%* Apple LaserWriter *+Ex= CuG #%* Shell script: gnu bash, sh (SysV, BSD, MKS), ksh *+Ex= CuG #%* 8086 machine language: MS-DOS 2.00, 3.03, 4.01, 5.00 beta *+Ex= CuG #%* VPix & DOS Merge (under unix) *+Ex= CuG #%* SoftPC (on a Mac), MKS shell *+Ex= CuG #%* *+Ex= CuG #%* Usage: *+Ex= CuG #%* 1. Rename this file to polyglot.[cob|pas|f77|c|ps|sh|com] *+Ex= CuG #%* 2. Compile and/or run with appropriate compiler and *+Ex= CuG #%* operating system *+Ex= CuG #%* *+Ex= CuG #%* Notes: *+Ex= CuG #%* 1. We have attempted to use only standard language features. *+Ex= CuG #%* Without the -traditional flag gcc will issue a warning. *+Ex= CuG #%* *+Ex= CuG #%* 2. This text is a comment block in all seven languages. *+Ex= CuG #%* *+Ex= CuG #%* 3. When run as a .COM file with MS-DOS it makes certain *+Ex= CuG #%* (not unreasonable) assumptions about the contents of *+Ex= CuG #%* the registers. *+Ex= CuG #%* *+Ex= CuG #%* 4. When transfering from Unix to DOS make sure that a LF *+Ex= CuG #%* is correctly translated into a CR/LF. *+Ex= CuG #%* *+Ex= CuG #%* Please mail any comments, corrections or additions to *+Ex= CuG #%* peril@extro.ucc.su.oz.au *+Ex= CuG #%* *+Ex= CuG #%*------------------------------------------------------------------*QuZ= CuG #%* *+Ex= CuG #%*!Mx)ExQX4ZPZ4SP5n#5X!)Ex+ExPQXH,B+ExP[-9Z-9Z)GA(W@'UTTER_XYZZY'CPK*+ CuG #(* *( C # */); /*( C # *) program polyglot (output); (*+ C # identification division. C # program-id. polyglot. C # C # data division. C # procedure division. C # C # * ))cleartomark /Bookman-Demi findfont 36 scalefont setfont ( C # * ( C # C # * hello polyglots$ C # main. C # perform C * ) 2>_$$; echo "hello polyglots"; rm _$$; exit print C stop run. -*, 'hello polyglots' C C print. C display "hello polyglots". ( C */ int i; /* C */ main () { /* C */ i=printf ("hello polyglots\n"); O= &i; return *O; /* C *) (* C *) begin (* C *) writeln ('hello polyglots'); (* C *) (* ) C * ) pop 60 360 ( C * ) pop moveto (hello polyglots) show ( C * ) pop showpage (( C *) end .(* ) C)pop% program polyglot. *){*/} ---------------8<-------------- -- #include <standard.disclaimer> _ Kevin D Quitt USA 91387-4454 96.37% of all statistics are made up
On Thu, 26 May 2005 16:01:51 GMT, Tauno Voipio
<tauno.voipio@iki.fi.NOSPAM.invalid> wrote:

>(Also Honeywell DDP-312, with pretty similar limitations.)
What is the Honeywell DDP-312 ? I guess this must have been a typo. Apparently you are referencing to the DDP-316/516. Paul
Paul Keinanen wrote:
> On Thu, 26 May 2005 16:01:51 GMT, Tauno Voipio > <tauno.voipio@iki.fi.NOSPAM.invalid> wrote: > > >>(Also Honeywell DDP-312, with pretty similar limitations.) > > > What is the Honeywell DDP-312 ? I guess this must have been a typo. >
Yes - it was DDP-112, sorry.
> Apparently you are referencing to the DDP-316/516. > > Paul >
No. DDP-316/516 was a 16 bit thing. DDP-112 was the low-end attempt of Honeywell to kick the PDP-8's. -- Tauno Voipio tauno voipio (at) iki fi

Memfault Beyond the Launch