diff --git a/fs/dos.com b/fs/dos.com deleted file mode 100644 index f5e5f7e..0000000 Binary files a/fs/dos.com and /dev/null differ diff --git a/ka/crt/fmt/doprnt.k b/ka/crt/fmt/doprnt.k index 64e7b93..9a15d2c 100644 --- a/ka/crt/fmt/doprnt.k +++ b/ka/crt/fmt/doprnt.k @@ -141,7 +141,7 @@ doprnt: .bad_modifier: ; print "%?" to clearly indicate that something is wrong - mov ax0, '$' + mov ax0, '%' call .doput mov ax0, '?' @@ -195,7 +195,7 @@ doprnt: ; been printed/written if 'n' were big enough test nx0, nx0 ret.z - + ; if n>0, decrement n and print dec nx0 call nx3 diff --git a/ka/dos.k b/ka/dos.k index 0d9f860..da0b667 100644 --- a/ka/dos.k +++ b/ka/dos.k @@ -12,7 +12,7 @@ start: call dir_test - hlt + ;hlt ; Wait for and print input indefinitely .1: diff --git a/vm/la/karch.lang b/vm/la/karch.lang index b674fe4..0525227 100644 --- a/vm/la/karch.lang +++ b/vm/la/karch.lang @@ -19,11 +19,11 @@ - ^[A-Za-z_][A-Za-z_0-9.]*\: + ^([ ]*[A-Za-z_])[A-Za-z_0-9.]*\: - .[A-Za-z_0-9.]*\: + [ ]*.[A-Za-z_0-9.]*\: @@ -53,12 +53,22 @@ case-sensitive="FALSE" match-empty-string-at-beginning = "TRUE" match-empty-string-at-end = "TRUE"> - %%?[a-z][a-z0-9.]+ - (inv|flg) - r[isdb]p - r[a-fs][xi] + + + (inv|flg|[re]?pc) [a-z]x[0-9]+ - (sa|cr)[0-9]+ + [re][a-z]x + + + [c-gs]s + [re]?flags + ([gil]d)?tr + [re]?[ds]il? + [re]?[sbi]pl? + [x-z]mm[0-9]+ + [re]?[a-d][xhl] + r[0-9]+[bwdlq]? + (s[at]|[dc]r)[0-9]+