The vector's number goes beside its kind, not at the end of the line

Kind and Number together are what names a thing: Vector 16 and Device 32
are identifiers in a way that Vector on its own is not. Everything after
them - where it lives, what it is called, where it was written - says
something about it rather than naming it, so with the number at the far
end a line opened with a bare kind and closed with the fact that would
have told you what you were reading.

Fields are now Kind, Number, Address, Name, File, Line. A label still
carries a dash where its number would be, which reads as "this kind is
not numbered" rather than as a field that went missing.

Manual and the docs check follow. Verified with break.sh by swapping the
number and the address back.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E2JrLzFvuFX9fgi1LDRjrW
This commit is contained in:
Anachronaut
2026-09-05 11:03:11 -04:00
co-authored by Claude Opus 5
parent f3d8985bc4
commit 7dca141aae
3 changed files with 27 additions and 17 deletions
+9 -7
View File
@@ -430,21 +430,23 @@ Every option above that takes a \<file\> names a file the assembler WRITES, and
| Field | Meaning |
| -- | -- |
| Kind | Program, Data, Vector or Device. |
| Number | Which vector it is: the vector number, or the port for a device. A label has no number and the field is a dash. |
| Address | Four hexadecimal digits: where the thing lives. For a label, the address it was given. For a vector, the slot in the vector table that holds its handler's address. |
| Name | The label, or the vector's name. A device has no name of its own, so it is listed under its handler. |
| File | The source file it was written in, named the way the assembler was given it. |
| Line | Which line of that file, counting from one. |
| Number | Which vector it is: the vector number, or the port for a device. A label has no number and the field is a dash. |
```
Program 5000 start game.asm 31 -
Program 670D int16add Libraries/math.asm 5 -
Vector FC20 osPrintString services.asm 24 16
Vector FC80 gameFrame game.asm 402 64
Device FE40 diskDone system.asm 812 32
Data 3000 Score game.asm 118 -
Program - 5000 start game.asm 31
Program - 670D int16add Libraries/math.asm 5
Vector 16 FC20 osPrintString services.asm 24
Vector 64 FC80 gameFrame game.asm 402
Device 32 FE40 diskDone system.asm 812
Data - 3000 Score game.asm 118
```
The kind and the number sit together at the front because the two of them are what names the thing: Vector 16 and Device 32 are identifiers in a way that Vector on its own is not. Everything after them says something about it rather than naming it, so a line reads as a thing followed by what is known about it.
Tabs rather than aligned columns, so that the file is a table every ordinary tool already reads without being taught anything, and no heading line, so that nothing has to know to skip one. The file field is what makes it worth having on a big program: a name defined once and called in forty places is hard to find by searching, and this says where it was written.
The kind comes first because Program and Data are separate memories on this machine, so an address on its own does not say where something is. In a loadable program the two segments are usually based far enough apart that the difference is easy to overlook. In a boot image both start at 0x0000, and every address in the table appears twice.