diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-07-20 09:48:57 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-07-20 09:48:57 -0700 |
commit | 47a9d22a059fc7baf52dca8c7942dbe01619df27 (patch) | |
tree | c8488fe84a23157f50167f3e2986fecbba0bbb33 /subx | |
parent | c37b575a04e47d7c84e5274b64054902489471a9 (diff) | |
download | mu-47a9d22a059fc7baf52dca8c7942dbe01619df27.tar.gz |
5426
Diffstat (limited to 'subx')
-rwxr-xr-x | subx/apps/assort | bin | 34142 -> 34150 bytes | |||
-rw-r--r-- | subx/apps/assort.subx | 9 | ||||
-rwxr-xr-x | subx/apps/dquotes | bin | 40495 -> 40503 bytes | |||
-rw-r--r-- | subx/apps/dquotes.subx | 7 | ||||
-rwxr-xr-x | subx/apps/pack | bin | 46791 -> 46803 bytes | |||
-rw-r--r-- | subx/apps/subx-common.subx | 15 | ||||
-rwxr-xr-x | subx/apps/survey | bin | 42791 -> 42799 bytes | |||
-rw-r--r-- | subx/apps/survey.subx | 11 |
8 files changed, 23 insertions, 19 deletions
diff --git a/subx/apps/assort b/subx/apps/assort index e9eb52ab..973806d4 100755 --- a/subx/apps/assort +++ b/subx/apps/assort Binary files differdiff --git a/subx/apps/assort.subx b/subx/apps/assort.subx index d2418ce3..a855f245 100644 --- a/subx/apps/assort.subx +++ b/subx/apps/assort.subx @@ -25,10 +25,10 @@ Entry: # initialize heap - # . Heap = new-segment(1MB) + # . Heap = new-segment(Heap-size) # . . push args 68/push Heap/imm32 - 68/push 0x100000/imm32/1MB + 68/push Heap-size/imm32 # . . call e8/call new-segment/disp32 # . . discard args @@ -836,9 +836,4 @@ $write-segments:end: 5d/pop-to-EBP c3/return -== data - -Segment-size: - 0x8000/imm32/4KB - # . . vim:nowrap:textwidth=0 diff --git a/subx/apps/dquotes b/subx/apps/dquotes index de36ba12..5f35df4b 100755 --- a/subx/apps/dquotes +++ b/subx/apps/dquotes Binary files differdiff --git a/subx/apps/dquotes.subx b/subx/apps/dquotes.subx index c108ade5..eb0575cc 100644 --- a/subx/apps/dquotes.subx +++ b/subx/apps/dquotes.subx @@ -21,10 +21,10 @@ Entry: # initialize heap - # . Heap = new-segment(1MB) + # . Heap = new-segment(Heap-size) # . . push args 68/push Heap/imm32 - 68/push 0x100000/imm32/1MB + 68/push Heap-size/imm32 # . . call e8/call new-segment/disp32 # . . discard args @@ -2638,9 +2638,6 @@ test-string-length-at-start-of-slice-escaped: == data -Segment-size: - 0x8000/imm32/32KB - Next-string-literal: # tracks the next auto-generated variable name 1/imm32 diff --git a/subx/apps/pack b/subx/apps/pack index 6dc1529c..b52f952c 100755 --- a/subx/apps/pack +++ b/subx/apps/pack Binary files differdiff --git a/subx/apps/subx-common.subx b/subx/apps/subx-common.subx index e3af9381..a5d8b037 100644 --- a/subx/apps/subx-common.subx +++ b/subx/apps/subx-common.subx @@ -1,5 +1,20 @@ # some common helpers shared by phases of the SubX converter +# - buffer sizes shared by all phases +== data + +# maximum memory available for allocation +Heap-size: + 0x100000/imm32/1MB + +# maximum size of a single segment +Segment-size: + 0x8000/imm32/32KB + +# maximum size of input textual stream (spanning all segments) +Input-size: + 0x10000/imm32/64KB # should be enough for everyone + == code # instruction effective address register displacement immediate # . op subop mod rm32 base index scale r32 diff --git a/subx/apps/survey b/subx/apps/survey index 4b258446..20c85c3f 100755 --- a/subx/apps/survey +++ b/subx/apps/survey Binary files differdiff --git a/subx/apps/survey.subx b/subx/apps/survey.subx index 9717944d..3506e354 100644 --- a/subx/apps/survey.subx +++ b/subx/apps/survey.subx @@ -42,10 +42,10 @@ # . 1-3 bytes 3 bits 2 bits 3 bits 3 bits 3 bits 2 bits 2 bits 0/1/2/4 bytes 0/1/2/4 bytes Entry: - # Heap = new-segment(1MB) + # Heap = new-segment(Heap-size) # . . push args 68/push Heap/imm32 - 68/push 0x100000/imm32/1MB + 68/push Heap-size/imm32 # . . call e8/call new-segment/disp32 # . . discard args @@ -142,9 +142,9 @@ convert: # infile : (address buffered-file), out : (address buffered-file) -> < 68/push 0/imm32/read 68/push 0/imm32/write 89/copy 3/mod/direct 2/rm32/EDX . . . 4/r32/ESP . . # copy ESP to EDX - # var in/ESI = stream(16384 * 1) + # var in/ESI = stream(Input-size * 1) 81 5/subop/subtract 3/mod/direct 4/rm32/ESP . . . . . 0x4000/imm32 # subtract from ESP - 68/push 0x4000/imm32/length + 68/push Input-size/imm32 68/push 0/imm32/read 68/push 0/imm32/write 89/copy 3/mod/direct 6/rm32/ESI . . . 4/r32/ESP . . # copy ESP to ESI @@ -4503,9 +4503,6 @@ test-num-bytes-handles-imm32: == data -Segment-size: - 0x8000/imm32/4KB - # This block of bytes gets copied to the start of the output ELF file, with # some fields filled in. # http://www.sco.com/developers/gabi/latest/ch4.eheader.html |