n loewen
|
2802623c4c
|
assembler - Change error handling: Just quit, don't throw a JS error
|
2023-08-24 16:33:33 +01:00 |
n loewen
|
1bf2144a67
|
assembler - Fix 'Too many arguments' error so that it works for normal lines as well as lines with `*` (which might include an optional 2nd arg)
|
2023-08-24 16:32:29 +01:00 |
n loewen
|
d56eb34a44
|
assembler - Add feature: throw useful error on references to undefined constants
|
2023-08-24 16:01:56 +01:00 |
n loewen
|
d6b55db381
|
assembler - Add feature: allow use of `*` with a numeric offset
|
2023-08-24 15:26:37 +01:00 |
n loewen
|
dc78518b73
|
assembler - Fix test for argument-less operations / Remove unnecessary variable
|
2023-08-24 15:16:12 +01:00 |
n loewen
|
0fca21dfab
|
assembler - Change to better catch lines that are missing operands, and provide a useful error message
|
2023-08-24 15:00:33 +01:00 |
n loewen
|
9268b2c59a
|
assembler - Fix: Make preparse start counting lines at 1, so that they match the numbers in your text editor
|
2023-08-24 14:42:45 +01:00 |
n loewen
|
1dc535a71e
|
assembler/cpu - Add feature: Pass debug info from assembler to cpu, so that cpu can print source line
|
2023-08-24 13:16:01 +01:00 |
n loewen
|
f2e43888b5
|
assembler / machine config - Remove/Change: Remove pointer-to-keypad / Change initial IP
|
2023-08-24 08:16:56 +01:00 |
n loewen
|
78ac43bead
|
assembler - Fix bug where the assembler attempted to handle indirect references to constants twice / Remove unused "assemble with optional args" function / Tidy up debugging printouts
|
2023-08-23 21:23:45 +01:00 |
n loewen
|
c0f11f2b03
|
assembler - Finish WIP - Refactor extensively / Add a 'set the initial address to assemble at' feature / Add a feature that collects debug info that could be passed as output when running in debug mode
|
2023-08-22 13:03:52 +01:00 |
n loewen
|
a766fd867c
|
assembler - WIP - Continue refactoring everything, in support of 'set the initial IP to assemble to' feature, etc. (Everything is probably broken... but it's much closer)
|
2023-08-21 19:44:16 +01:00 |
n loewen
|
12273a6389
|
assembler - WIP - Continue refactoring everything, in support of 'set the initial IP to assemble to' feature, etc. (Everything is probably broken... but it's much closer)
|
2023-08-21 19:37:32 +01:00 |
n loewen
|
f0e8664ab8
|
assembler - WIP - Continue refactoring everything, in support of 'set the initial IP to assemble to' feature, etc. (Everything is broken...)
|
2023-08-21 18:34:15 +01:00 |
n loewen
|
4481fc10d4
|
assembler - WIP - Start adding a 'set the initial IP to assembler to' feature + Start adding a 'return debug data as well as machine code' feature
|
2023-08-21 16:08:58 +01:00 |
n loewen
|
5e1cf9e413
|
assembler - Change label for program counter from `*addr` to `*`
|
2023-08-21 12:30:31 +01:00 |
n loewen
|
501910b17f
|
Feature: Keypad simulation!
Refactor: Tidy up constants use for machine configuration
|
2023-08-16 16:23:59 +01:00 |
n loewen
|
b8265409cf
|
Fix: Load CPU with 256 bytes of memory, regardless of the length of the data provided
(This mostly reverts the previous commit -- better to have short assembler output, and memory-padding/validation on the CPU side)
|
2023-08-16 15:55:04 +01:00 |
n loewen
|
6e897b7f74
|
Fix (Assembler): Pad machine code output to a full $FF bytes
|
2023-08-16 15:38:59 +01:00 |
n loewen
|
5078efa1fe
|
Linting: Remove FIXMEs that I'm unlikely to do any time soon
|
2023-08-16 09:39:03 +01:00 |
n loewen
|
4dda5881ef
|
Refactor (assembler): Define label prefix in a constant, for easy re-configuration
|
2023-08-16 09:38:18 +01:00 |
n loewen
|
3fd862a55d
|
! Refactor (assembler): Chance constant prefix from '=' to '#'
'=' could be confusing when referencing a constant, since it looks like assignment
'#' is hopefully clearer (by analog to #hashtags)
Breaking change!
|
2023-08-16 09:35:37 +01:00 |
n loewen
|
9fefa0916a
|
Feature (assembler): Allow assigning `*ADDR` to a constant
|
2023-08-16 09:29:27 +01:00 |
n loewen
|
4e01a0943c
|
Feature: Add `*ADDR` assembly operation (`*ADDR`, used as an operand, is replaced with the memory address where the current line will be stored after assembly)
|
2023-08-15 21:29:28 +01:00 |
n loewen
|
899c24be7f
|
Bugfix (assembler): Make camelCase =constant names work in indirect expressions
|
2023-08-15 20:51:15 +01:00 |
n loewen
|
4a2f3724d5
|
Bugfix (assembler): Add a quick hack to make camelCase =constant names less likely to fail
|
2023-08-15 16:55:08 +01:00 |
n loewen
|
9414d19fad
|
Bugfix (assembler): Split opcodes from operands using a regular expression, so that tabs don't break it
|
2023-08-15 16:52:57 +01:00 |
n loewen
|
b1dc2a7c7e
|
Feature: WIP: Replace CHP and CFC instructions with FHP and FTG (carry flag is implemented, other flags are not)
|
2023-08-15 12:04:48 +01:00 |
n loewen
|
2d38e28957
|
Bugfix (assembler): Put the pointer to display memory in the right place
Refactor: Put the value of the pointer to display memory in machine.config.js
|
2023-08-15 10:55:01 +01:00 |
n loewen
|
3e753f6965
|
Formatting: Rename 'argument' to 'operand' (except when it is shortened to 'arg', which is clearer)
|
2023-08-15 10:49:44 +01:00 |
n loewen
|
6ebebe294e
|
Add JSdoc annotatinos
|
2023-08-03 16:42:19 +01:00 |
n loewen
|
e4cf2bb221
|
Apparently you're not supposed to give groupEnd() an argument...
|
2023-08-03 16:26:45 +01:00 |
n loewen
|
5fa20c3963
|
Assembler: always add an END at the end of the output
|
2023-08-03 15:53:59 +01:00 |
n loewen
|
d3134aa9e6
|
Add constants to assembler
|
2023-08-03 15:50:37 +01:00 |
n loewen
|
a0892109a6
|
Implement NOP
|
2023-08-03 15:05:50 +01:00 |
n loewen
|
6883adcd71
|
Fix/implement relocatable display memory
|
2023-08-02 15:28:18 +01:00 |
n loewen
|
5f3d4ea22f
|
Update reference to logging.js
|
2023-08-02 14:06:24 +01:00 |
n loewen
|
9a3d9cffdc
|
Turn print-memory.js into a more general-purpose 'printing utils' library -- export num2hex + rename function that prints a table of memory
|
2023-08-02 13:56:10 +01:00 |
n loewen
|
97ab0c6ee0
|
Add 'debug' flag when calling assembler
|
2023-08-02 13:54:04 +01:00 |
n loewen
|
b81b6c8f5a
|
Move config constants to a config file
|
2023-08-02 10:52:47 +01:00 |
n loewen
|
91ff26fdea
|
Move display memory and add a pointer to display memory
|
2023-08-02 10:38:58 +01:00 |
n loewen
|
c732f4408f
|
Remove syntax reference - it's in the readme now
|
2023-08-02 10:27:06 +01:00 |
n loewen
|
a46641e172
|
Move files out of 'sketch' directory
|
2023-08-01 15:46:09 +01:00 |