ack/mach/proto/as
George Koehler 054b9c87e1 Add .data8 for 8-byte literal integers to the assembler.
This takes literal integers, not expressions, because each machine
defines its own valu_t for expressions, but valu_t can be too narrow
for an 8-byte integer, and I don't want to change all the machines to
use a wider valu_t.  Instead, change how the assembler parses literal
integers.  Remove the NUMBER token and add a NUMBER8 token for an
int64_t.  The new .data8 pseudo emits all 8 bytes of the int64_t;
expressions narrow the int64_t to a valu_t.  Don't add any checks for
integer overflow; expressions and .data* pseudos continue to ignore
overflow when a number is too wide.

This commit requires int64_t and uint64_t in the C compiler to build
the assembler.  The ACK's own C compiler doesn't have these.

For the assembler's temporary file, add NUMBER4 to store 4-byte
integers.  NUMBER4 acts like NUMBER[0-3] and only stores a
non-negative integer.  Each negative integer now takes 8 bytes (up
from 4) in the temporary file.

Move the `\fI` and `\fP` in the uni_ass(6) manual, so the square
brackets in `thing [, thing]*` are not italic.  This looks nicer in my
terminal, where italic text is underlined.
2019-08-13 11:47:44 -04:00
..
build.lua Add the .dataf4 and .dataf8 directives to the assembler --- manually converting 2018-09-10 22:56:18 +02:00
comm0.h Add a completely non-tested table-based MIPS assembler. 2018-09-01 19:35:31 +02:00
comm1.h Add .data8 for 8-byte literal integers to the assembler. 2019-08-13 11:47:44 -04:00
comm2.y Add .data8 for 8-byte literal integers to the assembler. 2019-08-13 11:47:44 -04:00
comm3.c Add .data8 for 8-byte literal integers to the assembler. 2019-08-13 11:47:44 -04:00
comm4.c Fix possible buffer writer overflow 2019-03-31 01:14:49 +08:00
comm5.c Add .data8 for 8-byte literal integers to the assembler. 2019-08-13 11:47:44 -04:00
comm6.c Fix buffer overflow issue. 2019-03-25 00:13:42 +08:00
comm7.c Add .data8 for 8-byte literal integers to the assembler. 2019-08-13 11:47:44 -04:00
comm8.c Header --> Id 1994-06-24 14:02:31 +00:00
proto.make Header --> Id 1994-06-24 14:02:31 +00:00