As I do some microcontroller-programming in assembler and like to use powerful editors I set up some modes for jed (an editor available for linux (console/X11), dos and windows). It can behave like emacs (or some other editor if you want to) and supports useful things like folding. There's a place on the web where you should find lots of modes for jed: the jed modes repository.
My modes are quite well to work with--just test them if you like. Syntax-highlighting is included (it may be that I've missed some instructions) as well as some automatic indentation, which works pretty well.
To use them, copy the files to your jed/lib/-directory and insert the following into your .jedrc:
% autoload("pasm_mode", "pasmmode"); add_mode_for_extension("pasm","asm"); % autoload("a51_mode", "a51mode"); add_mode_for_extension("a51","a51"); % autoload("avr_mode", "avrmode"); add_mode_for_extension("avr","avr"); % autoload("tdsp_mode", "tdspmode"); add_mode_for_extension("tdsp","tia"); % autoload("c166asm_mode", "c166asmmode"); add_mode_for_extension("c166asm","asm");
Additionally use a first line in your files which tells jed what they are:
; -*- mode: avrmode; mode: fold -*- ; -*- mode: pasmmode; mode: fold -*- ; -*- mode: tdspmode; mode: fold -*- ; -*- mode: a51mode; mode: fold -*- ; -*- mode: c166asmmode; mode: fold -*-
8051-Assembler (4.4 kByte) (Version of 26.06.2001)
Microchip-PIC-Assembler (16X8X) (4.7 kByte) (Version of 18.07.1999)
Texas Instruments TMS320-Assembler (6.3 kByte) (Version of 24.01.2000)
Atmel AVR-Assembler (9.9 kByte) (Version of 19.01.2006)
c166-Assembler (5.9 kByte) (Version of 26.06.2001)