| 1 | 1 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,51 @@ |
| 1 |
+# include this file in your ~/.nanorc: |
|
| 2 |
+# include "path/to/uxntal.nanorc" |
|
| 3 |
+ |
|
| 4 |
+syntax "uxntal" "\.tal$" |
|
| 5 |
+ |
|
| 6 |
+# numbers |
|
| 7 |
+color lightblue "[0-9a-f]{2}(\s|$)"
|
|
| 8 |
+color lightblue "[0-9a-f]{4}(\s|$)"
|
|
| 9 |
+ |
|
| 10 |
+# literal hex |
|
| 11 |
+color cyan "#[0-9a-f]{2}(\s|$)"
|
|
| 12 |
+color cyan "#[0-9a-f]{4}(\s|$)"
|
|
| 13 |
+ |
|
| 14 |
+# absolute pad |
|
| 15 |
+color bold,blue "\|[0-9a-f]{2}"
|
|
| 16 |
+color bold,blue "\|[0-9a-f]{4}"
|
|
| 17 |
+ |
|
| 18 |
+# labels |
|
| 19 |
+# label define |
|
| 20 |
+color green "@\S+" |
|
| 21 |
+# sub-label define |
|
| 22 |
+color green "&\S+" |
|
| 23 |
+# literal addr absolute |
|
| 24 |
+color magenta ";\S+" |
|
| 25 |
+# literal addr relative |
|
| 26 |
+color magenta ",\S+" |
|
| 27 |
+# literal addr zero page |
|
| 28 |
+color lightmagenta "\.\S+" |
|
| 29 |
+ |
|
| 30 |
+# raw |
|
| 31 |
+# character |
|
| 32 |
+color lightred "'\S" |
|
| 33 |
+# string |
|
| 34 |
+color lightred ""\S+" |
|
| 35 |
+# addr |
|
| 36 |
+color lightyellow ":\S+" |
|
| 37 |
+ |
|
| 38 |
+# include |
|
| 39 |
+color lightcyan "~\S+" |
|
| 40 |
+ |
|
| 41 |
+# macros definition |
|
| 42 |
+color yellow "\%\S+" |
|
| 43 |
+color yellow "[{}]"
|
|
| 44 |
+ |
|
| 45 |
+# instructions |
|
| 46 |
+color bold,cyan "(BRK|LIT|INC|POP|DUP|NIP|SWP|OVR|ROT|EQU|NEQ|GTH|LTH|JMP|JCN|JSR|STH|LDZ|STZ|LDR|STR|LDA|STA|DEI|DEO|ADD|SUB|MUL|DIV|AND|ORA|EOR|SFT)[2kr]{,3}(\s|$)"
|
|
| 47 |
+ |
|
| 48 |
+# comments |
|
| 49 |
+comment "( | )" |
|
| 50 |
+color blue start="\(" end="\)"
|
|
| 51 |
+ |
| ... | ... |
@@ -282,8 +282,6 @@ parsetoken(char *w) |
| 282 | 282 |
pushbyte((Uint8)w[1], 0); |
| 283 | 283 |
return 1; |
| 284 | 284 |
} else if(w[0] == '#') { /* immediate */
|
| 285 |
- if(slen(w + 1) == 1) |
|
| 286 |
- pushbyte((Uint8)w[1], 1); |
|
| 287 | 285 |
if(sihx(w + 1) && slen(w + 1) == 2) |
| 288 | 286 |
pushbyte(shex(w + 1), 1); |
| 289 | 287 |
else if(sihx(w + 1) && slen(w + 1) == 4) |