From 3120f938c660ab5fcecb579122440d487ccd798e Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Tue, 23 Mar 2021 22:27:46 -0700 Subject: . --- html/400.mu.html | 151 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 77 insertions(+), 74 deletions(-) (limited to 'html/400.mu.html') diff --git a/html/400.mu.html b/html/400.mu.html index a8857327..531cbf0f 100644 --- a/html/400.mu.html +++ b/html/400.mu.html @@ -64,81 +64,84 @@ if ('onhashchange' in window) { 9 sig read-key kbd: (addr keyboard) -> _/eax: byte 10 11 # disk -12 sig load-first-sector-from-primary-bus-secondary-drive out: (addr stream byte) -13 sig store-first-sector-to-primary-bus-secondary-drive out: (addr stream byte) +12 sig load-first-sector-from-primary-bus-secondary-drive out: (addr stream byte) +13 sig store-first-sector-to-primary-bus-secondary-drive out: (addr stream byte) 14 -15 # tests -16 sig count-test-failure -17 sig num-test-failures -> _/eax: int -18 -19 sig string-equal? s: (addr array byte), benchmark: (addr array byte) -> _/eax: boolean -20 sig string-starts-with? s: (addr array byte), benchmark: (addr array byte) -> _/eax: boolean -21 sig check-strings-equal s: (addr array byte), expected: (addr array byte), msg: (addr array byte) -22 -23 # streams -24 sig clear-stream f: (addr stream _) -25 sig rewind-stream f: (addr stream _) -26 sig stream-data-equal? f: (addr stream byte), s: (addr array byte) -> _/eax: boolean -27 sig check-stream-equal f: (addr stream byte), s: (addr array byte), msg: (addr array byte) -28 sig next-stream-line-equal? f: (addr stream byte), s: (addr array byte) -> _/eax: boolean -29 sig check-next-stream-line-equal f: (addr stream byte), s: (addr array byte), msg: (addr array byte) -30 sig write f: (addr stream byte), s: (addr array byte) -31 sig write-stream f: (addr stream byte), s: (addr stream byte) -32 sig read-byte s: (addr stream byte) -> _/eax: byte -33 sig append-byte f: (addr stream byte), n: int # really just a byte, but I want to pass in literal numbers -34 #sig to-hex-char in/eax: int -> out/eax: int -35 sig append-byte-hex f: (addr stream byte), n: int # really just a byte, but I want to pass in literal numbers -36 sig write-int32-hex f: (addr stream byte), n: int -37 sig write-int32-hex-bits f: (addr stream byte), n: int, bits: int -38 sig hex-int? in: (addr slice) -> _/eax: boolean -39 sig parse-hex-int in: (addr array byte) -> _/eax: int -40 sig parse-hex-int-from-slice in: (addr slice) -> _/eax: int -41 #sig parse-hex-int-helper start: (addr byte), end: (addr byte) -> _/eax: int -42 sig hex-digit? c: byte -> _/eax: boolean -43 #sig from-hex-char in/eax: byte -> out/eax: nibble -44 sig parse-decimal-int in: (addr array byte) -> _/eax: int -45 sig parse-decimal-int-from-slice in: (addr slice) -> _/eax: int -46 sig parse-decimal-int-from-stream in: (addr stream byte) -> _/eax: int -47 #sig parse-decimal-int-helper start: (addr byte), end: (addr byte) -> _/eax: int -48 sig decimal-size n: int -> _/eax: int -49 #sig allocate ad: (addr allocation-descriptor), n: int, out: (addr handle _) -50 #sig allocate-raw ad: (addr allocation-descriptor), n: int, out: (addr handle _) -51 sig lookup h: (handle _T) -> _/eax: (addr _T) -52 sig handle-equal? a: (handle _T), b: (handle _T) -> _/eax: boolean -53 sig copy-handle src: (handle _T), dest: (addr handle _T) -54 #sig allocate-region ad: (addr allocation-descriptor), n: int, out: (addr handle allocation-descriptor) -55 #sig allocate-array ad: (addr allocation-descriptor), n: int, out: (addr handle _) -56 sig copy-array ad: (addr allocation-descriptor), src: (addr array _T), out: (addr handle array _T) -57 #sig zero-out start: (addr byte), size: int -58 sig slice-empty? s: (addr slice) -> _/eax: boolean -59 sig slice-equal? s: (addr slice), p: (addr array byte) -> _/eax: boolean -60 sig slice-starts-with? s: (addr slice), head: (addr array byte) -> _/eax: boolean -61 sig write-slice out: (addr stream byte), s: (addr slice) -62 # bad name alert -63 sig slice-to-string ad: (addr allocation-descriptor), in: (addr slice), out: (addr handle array byte) -64 sig write-int32-decimal out: (addr stream byte), n: int -65 sig decimal-digit? c: grapheme -> _/eax: boolean -66 sig to-decimal-digit in: grapheme -> _/eax: int -67 # bad name alert -68 # next-word really tokenizes -69 # next-raw-word really reads whitespace-separated words -70 sig next-word line: (addr stream byte), out: (addr slice) # skips '#' comments -71 sig next-raw-word line: (addr stream byte), out: (addr slice) # does not skip '#' comments -72 sig stream-empty? s: (addr stream _) -> _/eax: boolean -73 sig stream-full? s: (addr stream _) -> _/eax: boolean -74 sig stream-to-array in: (addr stream _), out: (addr handle array _) -75 sig unquote-stream-to-array in: (addr stream _), out: (addr handle array _) -76 sig stream-first s: (addr stream byte) -> _/eax: byte -77 sig stream-final s: (addr stream byte) -> _/eax: byte -78 -79 #sig copy-bytes src: (addr byte), dest: (addr byte), n: int -80 sig copy-array-object src: (addr array _), dest-ah: (addr handle array _) -81 sig array-equal? a: (addr array int), b: (addr array int) -> _/eax: boolean -82 sig parse-array-of-ints s: (addr array byte), out: (addr handle array int) -83 sig parse-array-of-decimal-ints s: (addr array byte), out: (addr handle array int) -84 sig check-array-equal a: (addr array int), expected: (addr string), msg: (addr string) -85 -86 sig integer-divide a: int, b: int -> _/eax: int, _/edx: int +15 # mouse +16 sig read-mouse-event -> _/eax: int, _/ecx: int +17 +18 # tests +19 sig count-test-failure +20 sig num-test-failures -> _/eax: int +21 +22 sig string-equal? s: (addr array byte), benchmark: (addr array byte) -> _/eax: boolean +23 sig string-starts-with? s: (addr array byte), benchmark: (addr array byte) -> _/eax: boolean +24 sig check-strings-equal s: (addr array byte), expected: (addr array byte), msg: (addr array byte) +25 +26 # streams +27 sig clear-stream f: (addr stream _) +28 sig rewind-stream f: (addr stream _) +29 sig stream-data-equal? f: (addr stream byte), s: (addr array byte) -> _/eax: boolean +30 sig check-stream-equal f: (addr stream byte), s: (addr array byte), msg: (addr array byte) +31 sig next-stream-line-equal? f: (addr stream byte), s: (addr array byte) -> _/eax: boolean +32 sig check-next-stream-line-equal f: (addr stream byte), s: (addr array byte), msg: (addr array byte) +33 sig write f: (addr stream byte), s: (addr array byte) +34 sig write-stream f: (addr stream byte), s: (addr stream byte) +35 sig read-byte s: (addr stream byte) -> _/eax: byte +36 sig append-byte f: (addr stream byte), n: int # really just a byte, but I want to pass in literal numbers +37 #sig to-hex-char in/eax: int -> out/eax: int +38 sig append-byte-hex f: (addr stream byte), n: int # really just a byte, but I want to pass in literal numbers +39 sig write-int32-hex f: (addr stream byte), n: int +40 sig write-int32-hex-bits f: (addr stream byte), n: int, bits: int +41 sig hex-int? in: (addr slice) -> _/eax: boolean +42 sig parse-hex-int in: (addr array byte) -> _/eax: int +43 sig parse-hex-int-from-slice in: (addr slice) -> _/eax: int +44 #sig parse-hex-int-helper start: (addr byte), end: (addr byte) -> _/eax: int +45 sig hex-digit? c: byte -> _/eax: boolean +46 #sig from-hex-char in/eax: byte -> out/eax: nibble +47 sig parse-decimal-int in: (addr array byte) -> _/eax: int +48 sig parse-decimal-int-from-slice in: (addr slice) -> _/eax: int +49 sig parse-decimal-int-from-stream in: (addr stream byte) -> _/eax: int +50 #sig parse-decimal-int-helper start: (addr byte), end: (addr byte) -> _/eax: int +51 sig decimal-size n: int -> _/eax: int +52 #sig allocate ad: (addr allocation-descriptor), n: int, out: (addr handle _) +53 #sig allocate-raw ad: (addr allocation-descriptor), n: int, out: (addr handle _) +54 sig lookup h: (handle _T) -> _/eax: (addr _T) +55 sig handle-equal? a: (handle _T), b: (handle _T) -> _/eax: boolean +56 sig copy-handle src: (handle _T), dest: (addr handle _T) +57 #sig allocate-region ad: (addr allocation-descriptor), n: int, out: (addr handle allocation-descriptor) +58 #sig allocate-array ad: (addr allocation-descriptor), n: int, out: (addr handle _) +59 sig copy-array ad: (addr allocation-descriptor), src: (addr array _T), out: (addr handle array _T) +60 #sig zero-out start: (addr byte), size: int +61 sig slice-empty? s: (addr slice) -> _/eax: boolean +62 sig slice-equal? s: (addr slice), p: (addr array byte) -> _/eax: boolean +63 sig slice-starts-with? s: (addr slice), head: (addr array byte) -> _/eax: boolean +64 sig write-slice out: (addr stream byte), s: (addr slice) +65 # bad name alert +66 sig slice-to-string ad: (addr allocation-descriptor), in: (addr slice), out: (addr handle array byte) +67 sig write-int32-decimal out: (addr stream byte), n: int +68 sig decimal-digit? c: grapheme -> _/eax: boolean +69 sig to-decimal-digit in: grapheme -> _/eax: int +70 # bad name alert +71 # next-word really tokenizes +72 # next-raw-word really reads whitespace-separated words +73 sig next-word line: (addr stream byte), out: (addr slice) # skips '#' comments +74 sig next-raw-word line: (addr stream byte), out: (addr slice) # does not skip '#' comments +75 sig stream-empty? s: (addr stream _) -> _/eax: boolean +76 sig stream-full? s: (addr stream _) -> _/eax: boolean +77 sig stream-to-array in: (addr stream _), out: (addr handle array _) +78 sig unquote-stream-to-array in: (addr stream _), out: (addr handle array _) +79 sig stream-first s: (addr stream byte) -> _/eax: byte +80 sig stream-final s: (addr stream byte) -> _/eax: byte +81 +82 #sig copy-bytes src: (addr byte), dest: (addr byte), n: int +83 sig copy-array-object src: (addr array _), dest-ah: (addr handle array _) +84 sig array-equal? a: (addr array int), b: (addr array int) -> _/eax: boolean +85 sig parse-array-of-ints s: (addr array byte), out: (addr handle array int) +86 sig parse-array-of-decimal-ints s: (addr array byte), out: (addr handle array int) +87 sig check-array-equal a: (addr array int), expected: (addr string), msg: (addr string) +88 +89 sig integer-divide a: int, b: int -> _/eax: int, _/edx: int -- cgit 1.4.1-2-gfad0