Index: editor/pasm.el
===================================================================
--- editor/pasm.el	(revision 8281)
+++ editor/pasm.el	(working copy)
@@ -1,7 +1,7 @@
 ;;;; pasm.el
 ;;;;
 ;;;; this is a simple major mode for working with parrot assembler
-;;;; files.
+;;;; (and, to a certain extent, parrot imc) files.
 ;;;;
 ;;;; first off: this file is 'it works for me' quality, use at your
 ;;;; own risk
@@ -77,12 +77,21 @@
                                 ;; the assembler be damned.
                                 (,(concat "^" *pasm-label-regexp*) . font-lock-constant-face)
                                 ;; assembler directives
-                                ("^\\.[a-zA-Z]*" . font-lock-builtin-face)
+                                ("^\\s-*\\.[a-zA-Z]*" . font-lock-builtin-face)
                                 ;; ops that jump: bsr, branch, jsr,
                                 ;; jump, eq, ne, lt, le, gt, ge, if,
-                                ;; unless, ret
-                                ("\\<\\(b\\(sr\\|ranch\\)\\|e\\(q\\|nd\\)\\|g[te]\\|if\\|j\\(ump\\|sr\\)\\|l[te]\\|ne\\|ret\\|unless\\)\\>" .
-                                 font-lock-keyword-face)))
+                                ;; unless, ret and goto
+                                ("\\<\\(b\\(sr\\|ranch\\)\\|e\\(q\\|nd\\)\\|g[te]\\|if\\|j\\(ump\\|sr\\)\\|l[te]\\|ne\\|ret\\|unless\\|goto\\)\\>" .
+                                 font-lock-keyword-face)
+                                ;; imcc temporary registers
+                                ("\\$\\(I\\|S\\|P\\|N\\)[0-9]+" .
+                                 font-lock-variable-name-face)
+                                ;; pasm registers
+                                ("\\<\\(I\\|S\\|P\\|N\\)\\([0-9]\\|[12][0-9]\\|3[01]\\)\\>" .
+                                 font-lock-variable-name-face)
+                                ;; basic types: int, string, pmc and float 
+                                ("\\<\\(int\\|string\\|pmc\\|float\\)\\>" .
+                                 font-lock-type-face)))
                                 
 (defun pasm-mode ()
   "Simple Emacs mode for editing Parrot Assembler"
Index: editor/README.pod
===================================================================
--- editor/README.pod	(revision 8281)
+++ editor/README.pod	(working copy)
@@ -33,8 +33,27 @@
 
 Included here is an Emacs mode for editing pasm files, in C<pasm.el>.
 
-TODO: How do we install Emacs modes?
+To install the pasm major mode copy C<pasm.el> to a directory where Emacs
+looks for external packages and add the following to your C<~/.emacs> file:
 
+    (load "pasm")
+
+To automatically associate .pasm files with this major mode add:
+
+    (add-to-list 'auto-mode-alist (cons "\\.pasm\\'" 'pasm-mode))
+
+to your C<~/.emacs> or you can alternatively type C<M-x pasm-mode> for every
+file that you want to use the major mode in.
+
+Additionally, you might want to add:
+
+    (add-hook 'pasm-mode-hook
+              (function (lambda ()
+                          (setq indent-tabs-mode nil))))
+
+to C<~/.emacs> as this seems to prevent the odd behavior that is noted when 
+using tabs in the pasm mode.
+
 =head2 TAGS file
 
 There is a script here to automatically generate a TAGS file, which works with
