Skip to content

non/uxntal-mode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

uxntal-mode

Emacs major mode for the uxntal assembly language.

MELPA

installing the mode

with use-package

(use-package uxntal-mode)

with straight.el

(straight-use-package 'uxntal-mode)

manually

Copy uxntal-mode.el to the desired location and then modify init.el:

;; ensure the directory containing uxntal-mode.el is mentioned
;; in emacs' load-path variable.
(add-to-list 'load-path "~/.emacs.d/lisp/")

;; then load uxntal-mode
(require 'uxntal-mode)

features

Currently-supported features:

  • Syntax highlighting
  • Invoking uxnasm via M-x compile
  • Explaining Uxntal words (uxntal-explain-word)
    • Decodes instructions, showing their stack effects
    • Shows decimal values of numeric constants
    • Explains syntactic category (e.g. "sublabel definition")
  • Imenu support for macro definitions and labels

Future features:

  • Interactive evaluation
  • Support for goto-definition (M-.)
  • Decimal -> hexadecimal conversions
  • ASCII conversions
  • Input string literal as bytes

settings

By default uxntal-mode is lax about comment highlighting. This means that some invalid comments such as (this) or (that ) or ( these) will be highlighted incorrectly.

If you would prefer to have stricter comment highlighting which forbids all invalid comments (but may also forbid valid comments like ( )) set uxntal-mode-strict-comments to t.

Unfortunately both modes fail on words like worst-case-( due to limitations in how Emacs handles multiline comments.

screenshot

uxntal-mode screenshot

attribution

Copyright d_m, 2022.

This code is available to you under the Apache License 2.0. See COPYING for more details.

see also

About

emacs major mode for the uxntal assembly language

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •