From 372367f59a897162912d0646158bdea1e07d6e66 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sat, 26 Jun 2021 20:55:36 -0700 Subject: html: better highlighting for int registers --- html/linux/rpn.mu.html | 63 +++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 32 deletions(-) (limited to 'html/linux/rpn.mu.html') diff --git a/html/linux/rpn.mu.html b/html/linux/rpn.mu.html index 87dfaf32..7fc2dc5e 100644 --- a/html/linux/rpn.mu.html +++ b/html/linux/rpn.mu.html @@ -14,19 +14,18 @@ pre { white-space: pre-wrap; font-family: monospace; color: #000000; background- body { font-size:12pt; font-family: monospace; color: #000000; background-color: #ffffd7; } a { color:inherit; } * { font-size:12pt; font-size: 1em; } -.muRegEcx { color: #af875f; } -.muComment { color: #005faf; } -.LineNr { } -.muRegEdx { color: #878700; } +.PreProc { color: #c000c0; } +.muRegEdx { color: #af5f00; } .Special { color: #ff6060; } -.muRegEsi { color: #87d787; } -.muRegEax { color: #875f00; } +.LineNr { } +.muRegEsi { color: #005faf; } +.muRegEbx { color: #5f00ff; } +.Constant { color: #008787; } +.muRegEdi { color: #00af00; } +.muRegEcx { color: #870000; } .Delimiter { color: #c000c0; } .muFunction { color: #af5f00; text-decoration: underline; } -.muRegEbx { color: #8787af; } -.Constant { color: #008787; } -.PreProc { color: #c000c0; } -.muRegEdi { color: #87ffd7; } +.muComment { color: #005faf; } --> @@ -101,11 +100,11 @@ if ('onhashchange' in window) { 37 # read line 38 clear-stream in 39 read-line-from-real-keyboard in - 40 var done?/eax: boolean <- stream-empty? in + 40 var done?/eax: boolean <- stream-empty? in 41 compare done?, 0 42 break-if-!= 43 # parse and eval - 44 var out/eax: int <- simplify in + 44 var out/eax: int <- simplify in 45 # print 46 print-int32-decimal 0/screen, out 47 print-string 0/screen, "\n" @@ -120,7 +119,7 @@ if ('onhashchange' in window) { 56 top: int 57 } 58 - 59 fn simplify in: (addr stream byte) -> _/eax: int { + 59 fn simplify in: (addr stream byte) -> _/eax: int { 60 var word-storage: slice 61 var word/ecx: (addr slice) <- address word-storage 62 var stack-storage: int-stack @@ -128,49 +127,49 @@ if ('onhashchange' in window) { 64 initialize-int-stack stack, 0x10 65 $simplify:word-loop: { 66 next-word in, word - 67 var done?/eax: boolean <- slice-empty? word + 67 var done?/eax: boolean <- slice-empty? word 68 compare done?, 0 69 break-if-!= 70 # if word is an operator, perform it 71 { - 72 var add?/eax: boolean <- slice-equal? word, "+" + 72 var add?/eax: boolean <- slice-equal? word, "+" 73 compare add?, 0 74 break-if-= - 75 var _b/eax: int <- pop-int-stack stack + 75 var _b/eax: int <- pop-int-stack stack 76 var b/edx: int <- copy _b - 77 var a/eax: int <- pop-int-stack stack + 77 var a/eax: int <- pop-int-stack stack 78 a <- add b 79 push-int-stack stack, a 80 loop $simplify:word-loop 81 } 82 { - 83 var sub?/eax: boolean <- slice-equal? word, "-" + 83 var sub?/eax: boolean <- slice-equal? word, "-" 84 compare sub?, 0 85 break-if-= - 86 var _b/eax: int <- pop-int-stack stack + 86 var _b/eax: int <- pop-int-stack stack 87 var b/edx: int <- copy _b - 88 var a/eax: int <- pop-int-stack stack + 88 var a/eax: int <- pop-int-stack stack 89 a <- subtract b 90 push-int-stack stack, a 91 loop $simplify:word-loop 92 } 93 { - 94 var mul?/eax: boolean <- slice-equal? word, "*" + 94 var mul?/eax: boolean <- slice-equal? word, "*" 95 compare mul?, 0 96 break-if-= - 97 var _b/eax: int <- pop-int-stack stack + 97 var _b/eax: int <- pop-int-stack stack 98 var b/edx: int <- copy _b - 99 var a/eax: int <- pop-int-stack stack + 99 var a/eax: int <- pop-int-stack stack 100 a <- multiply b 101 push-int-stack stack, a 102 loop $simplify:word-loop 103 } 104 # otherwise it's an int -105 var n/eax: int <- parse-decimal-int-from-slice word +105 var n/eax: int <- parse-decimal-int-from-slice word 106 push-int-stack stack, n 107 loop 108 } -109 var result/eax: int <- pop-int-stack stack +109 var result/eax: int <- pop-int-stack stack 110 return result 111 } 112 @@ -178,7 +177,7 @@ if ('onhashchange' in window) { 114 var self/esi: (addr int-stack) <- copy _self 115 var d/edi: (addr handle array int) <- get self, data 116 populate d, n -117 var top/eax: (addr int) <- get self, top +117 var top/eax: (addr int) <- get self, top 118 copy-to *top, 0 119 } 120 @@ -186,15 +185,15 @@ if ('onhashchange' in window) { 122 var self/esi: (addr int-stack) <- copy _self 123 var top-addr/ecx: (addr int) <- get self, top 124 var data-ah/edx: (addr handle array int) <- get self, data -125 var data/eax: (addr array int) <- lookup *data-ah +125 var data/eax: (addr array int) <- lookup *data-ah 126 var top/edx: int <- copy *top-addr 127 var dest-addr/edx: (addr int) <- index data, top -128 var val/eax: int <- copy _val +128 var val/eax: int <- copy _val 129 copy-to *dest-addr, val 130 add-to *top-addr, 1 131 } 132 -133 fn pop-int-stack _self: (addr int-stack) -> _/eax: int { +133 fn pop-int-stack _self: (addr int-stack) -> _/eax: int { 134 var self/esi: (addr int-stack) <- copy _self 135 var top-addr/ecx: (addr int) <- get self, top 136 { @@ -204,10 +203,10 @@ if ('onhashchange' in window) { 140 } 141 subtract-from *top-addr, 1 142 var data-ah/edx: (addr handle array int) <- get self, data -143 var data/eax: (addr array int) <- lookup *data-ah +143 var data/eax: (addr array int) <- lookup *data-ah 144 var top/edx: int <- copy *top-addr -145 var result-addr/eax: (addr int) <- index data, top -146 var val/eax: int <- copy *result-addr +145 var result-addr/eax: (addr int) <- index data, top +146 var val/eax: int <- copy *result-addr 147 return val 148 } -- cgit 1.4.1-2-gfad0