| ... | ... |
@@ -155,7 +155,7 @@ type_byte = function(size, has_subtree) |
| 155 | 155 |
if '1' == _exp_0 then |
| 156 | 156 |
n2 = '1' |
| 157 | 157 |
elseif '2' == _exp_0 then |
| 158 |
- n2 = '3' |
|
| 158 |
+ n2 = '2' |
|
| 159 | 159 |
else |
| 160 | 160 |
n2 = '0' |
| 161 | 161 |
end |
| ... | ... |
@@ -236,6 +236,23 @@ do |
| 236 | 236 |
dag['('] = nil
|
| 237 | 237 |
add_globals(root, dag, label_name, label_value, '', ' ') |
| 238 | 238 |
end |
| 239 |
+do |
|
| 240 |
+ local root, dag = build_dag_from_chars(']\0', '(')
|
|
| 241 |
+ dump(io.stdout, root, dag) |
|
| 242 |
+ local label_name |
|
| 243 |
+ label_name = function(s) |
|
| 244 |
+ if s == '(' then
|
|
| 245 |
+ return 'normal-( ' |
|
| 246 |
+ end |
|
| 247 |
+ return ('data-%-4s'):format(convert[s])
|
|
| 248 |
+ end |
|
| 249 |
+ local label_value |
|
| 250 |
+ label_value = function(k) |
|
| 251 |
+ return ('[ %02x ]'):format(k:byte())
|
|
| 252 |
+ end |
|
| 253 |
+ dag['('] = nil
|
|
| 254 |
+ add_globals(root, dag, label_name, label_value, '', ' ') |
|
| 255 |
+end |
|
| 239 | 256 |
local devices = { }
|
| 240 | 257 |
local add_device |
| 241 | 258 |
add_device = function(name, fields) |
| ... | ... |
@@ -87,7 +87,7 @@ type_byte = (size, has_subtree) -> |
| 87 | 87 |
when '1' |
| 88 | 88 |
'1' |
| 89 | 89 |
when '2' |
| 90 |
- '3' |
|
| 90 |
+ '2' |
|
| 91 | 91 |
else |
| 92 | 92 |
'0' |
| 93 | 93 |
n1 .. n2 |
| ... | ... |
@@ -139,6 +139,17 @@ do |
| 139 | 139 |
dag['('] = nil
|
| 140 | 140 |
add_globals root, dag, label_name, label_value, '', ' ' |
| 141 | 141 |
|
| 142 |
+do |
|
| 143 |
+ root, dag = build_dag_from_chars ']\0', '('
|
|
| 144 |
+ dump io.stdout, root, dag |
|
| 145 |
+ label_name = (s) -> |
|
| 146 |
+ if s == '('
|
|
| 147 |
+ return 'normal-( ' |
|
| 148 |
+ 'data-%-4s'\format convert[s] |
|
| 149 |
+ label_value = (k) -> '[ %02x ]'\format k\byte! |
|
| 150 |
+ dag['('] = nil
|
|
| 151 |
+ add_globals root, dag, label_name, label_value, '', ' ' |
|
| 152 |
+ |
|
| 142 | 153 |
devices = {}
|
| 143 | 154 |
|
| 144 | 155 |
add_device = (name, fields) -> |
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
;tree { search-key 2 max-key-len 1 }
|
| 2 |
-;assembler { pass 1 state 1 token 2 scope-len 1 scope 80 heap 2 addr 2 subtree 2 }
|
|
| 2 |
+;assembler { pass 1 state 1 token 2 scope-len 1 scope 80 heap 2 addr 2 subtree 2 vartmp 2 }
|
|
| 3 | 3 |
|
| 4 | 4 |
%HCF { #0000 DIV }
|
| 5 | 5 |
%SHORT_FLAG { #20 }
|
| ... | ... |
@@ -31,10 +31,10 @@ |
| 31 | 31 |
~assembler.state |
| 32 | 32 |
HCF |
| 33 | 33 |
|
| 34 |
- $token [ 25 xyllo 00 ] |
|
| 34 |
+ $token [ 3b Hello 00 ] |
|
| 35 | 35 |
$token2 [ 7b 00 ] |
| 36 |
- $token3 [ there 00 ] |
|
| 37 |
- $token4 [ 00 ] |
|
| 36 |
+ $token3 [ testing 00 ] |
|
| 37 |
+ $token4 [ 30 00 ] |
|
| 38 | 38 |
$token5 [ 7d 00 ] |
| 39 | 39 |
|
| 40 | 40 |
@assemble-token ( string-ptr* -- ) |
| ... | ... |
@@ -222,9 +222,8 @@ |
| 222 | 222 |
|
| 223 | 223 |
$zero-pointers [ 0000 0000 ] |
| 224 | 224 |
|
| 225 |
-@add-label ( string-ptr* label-flags -- ) |
|
| 226 |
- ROT ROT |
|
| 227 |
- DUP2 ,label-tree SWP2 #ff ,traverse-tree JSR2 |
|
| 225 |
+@add-label ( label-flags string-ptr* tree-ptr* -- ) |
|
| 226 |
+ OVR2 #ff ,traverse-tree JSR2 |
|
| 228 | 227 |
^$new-label JNZ |
| 229 | 228 |
|
| 230 | 229 |
( label already exists, check the flags and addr value ) |
| ... | ... |
@@ -358,21 +357,21 @@ |
| 358 | 357 |
|
| 359 | 358 |
@state-machine-pointers |
| 360 | 359 |
( normal mode 00 ) |
| 361 |
-.normal-root .nyi |
|
| 360 |
+.normal-root .normal-main |
|
| 362 | 361 |
( macro definition 01 ) |
| 363 | 362 |
.macro-root .macro-main |
| 364 | 363 |
( macro definition, contents ignored 02 ) |
| 365 | 364 |
.macro-root .ignore |
| 366 |
-( variable definition, expect field size 08 ) |
|
| 365 |
+( variable definition, expect field size 04 ) |
|
| 367 | 366 |
.variable-nul .variable-size |
| 368 |
-( variable definition, expect field name 04 ) |
|
| 367 |
+( variable definition, expect field name 08 ) |
|
| 369 | 368 |
.variable-root .variable-name |
| 370 | 369 |
( reserved for future use 10 ) |
| 371 |
-.normal-( .ignore |
|
| 370 |
+[ 0000 ] .ignore |
|
| 372 | 371 |
( literal data 20 ) |
| 373 |
-[ 0000 ] .nyi |
|
| 372 |
+.normal-] .data-main |
|
| 374 | 373 |
( reserved for future use 40 ) |
| 375 |
-.normal-( .ignore |
|
| 374 |
+[ 0000 ] .ignore |
|
| 376 | 375 |
( comment 80 ) |
| 377 | 376 |
.normal-) .ignore |
| 378 | 377 |
|
| ... | ... |
@@ -395,23 +394,11 @@ |
| 395 | 394 |
|
| 396 | 395 |
@normal-( [ 0000 ] .normal-) [ 28 ] |
| 397 | 396 |
~assembler.state #80 ORA =assembler.state |
| 398 |
-JMP2r |
|
| 397 |
+ JMP2r |
|
| 399 | 398 |
|
| 400 | 399 |
@normal-) [ 0000 ] [ 0000 ] [ 29 ] |
| 401 | 400 |
~assembler.state #7f AND =assembler.state |
| 402 |
-JMP2r |
|
| 403 |
- |
|
| 404 |
-( |
|
| 405 |
- Left and right square brackets start and end literal data sections. |
|
| 406 |
-) |
|
| 407 |
- |
|
| 408 |
-@normal-[ .normal-@ .normal-] [ 5b ] |
|
| 409 |
- ~assembler.state #20 ORA =assembler.state |
|
| 410 |
-JMP2r |
|
| 411 |
- |
|
| 412 |
-@normal-] [ 0000 ] [ 0000 ] [ 5d ] |
|
| 413 |
- ~assembler.state #df AND =assembler.state |
|
| 414 |
-JMP2r |
|
| 401 |
+ JMP2r |
|
| 415 | 402 |
|
| 416 | 403 |
( |
| 417 | 404 |
Ampersands introduce global labels, and define the scope for any |
| ... | ... |
@@ -419,11 +406,10 @@ JMP2r |
| 419 | 406 |
) |
| 420 | 407 |
|
| 421 | 408 |
@normal-@ [ 0000 ] [ 0000 ] [ 40 ] |
| 422 |
- ~assembler.token |
|
| 423 |
- DUP2 #00 ,add-label JSR2 |
|
| 409 |
+ #00 ~assembler.token ,label-tree ,add-label JSR2 |
|
| 424 | 410 |
|
| 425 | 411 |
$scope |
| 426 |
- ,assembler.scope ,strcpy JSR2 |
|
| 412 |
+ ~assembler.token ,assembler.scope ,strcpy JSR2 |
|
| 427 | 413 |
DUP2 ,assembler.scope SUB2 =assembler.scope-len POP |
| 428 | 414 |
#0001 SUB2 #2d SWP POK POP |
| 429 | 415 |
JMP2r |
| ... | ... |
@@ -437,7 +423,7 @@ JMP2r |
| 437 | 423 |
,assembler.scope ~assembler.scope-len ADD |
| 438 | 424 |
,strcpy JSR2 POP2 |
| 439 | 425 |
|
| 440 |
- ,assembler.scope #00 ,add-label JMP2 ( tail call ) |
|
| 426 |
+ #00 ,assembler.scope ,label-tree ,add-label JMP2 ( tail call ) |
|
| 441 | 427 |
|
| 442 | 428 |
( |
| 443 | 429 |
Hash signs followed by two or four hex digits write a literal. |
| ... | ... |
@@ -455,12 +441,49 @@ JMP2r |
| 455 | 441 |
,opcodes-op-lit ,opcodes-start SUB2 #07 DIV |
| 456 | 442 |
ADD ADD ,write-byte JSR2 |
| 457 | 443 |
|
| 444 |
+ $value |
|
| 458 | 445 |
#02 EQU ^$short JNZ |
| 459 | 446 |
,write-byte JMP2 ( tail call ) |
| 460 | 447 |
|
| 461 | 448 |
$short |
| 462 | 449 |
,write-short JMP2 ( tail call ) |
| 463 | 450 |
|
| 451 |
+( |
|
| 452 |
+ Left and right square brackets start and end literal data sections. |
|
| 453 |
+) |
|
| 454 |
+ |
|
| 455 |
+@normal-[ .normal-@ .normal-] [ 5b ] |
|
| 456 |
+ ~assembler.state #20 ORA =assembler.state |
|
| 457 |
+ JMP2r |
|
| 458 |
+ |
|
| 459 |
+@normal-] [ 0000 ] [ 0000 ] [ 5d ] |
|
| 460 |
+ ( this is spurious, but ignore it anyway ) |
|
| 461 |
+ JMP2r |
|
| 462 |
+ |
|
| 463 |
+@data-] .normal-( [ 0000 ] [ 5d ] |
|
| 464 |
+ ~assembler.state #df AND =assembler.state |
|
| 465 |
+ JMP2r |
|
| 466 |
+ |
|
| 467 |
+@data-root |
|
| 468 |
+@data-nul [ 0000 ] .data-] [ 00 ] |
|
| 469 |
+ JMP2r |
|
| 470 |
+ |
|
| 471 |
+@data-main |
|
| 472 |
+ ~assembler.token ,parse-hex-string JSR2 |
|
| 473 |
+ DUP ^normal-#-value JNZ |
|
| 474 |
+ POP |
|
| 475 |
+ |
|
| 476 |
+ ~assembler.token |
|
| 477 |
+ $loop |
|
| 478 |
+ DUP2 PEK2 |
|
| 479 |
+ DUP ^$keep-going JNZ |
|
| 480 |
+ POP POP2 JMP2r |
|
| 481 |
+ |
|
| 482 |
+ $keep-going |
|
| 483 |
+ ,write-byte JSR2 |
|
| 484 |
+ #0001 ADD2 |
|
| 485 |
+ ^$loop JMP |
|
| 486 |
+ |
|
| 464 | 487 |
( |
| 465 | 488 |
A pipe moves the current address to the hex value given. |
| 466 | 489 |
) |
| ... | ... |
@@ -531,7 +554,7 @@ JMP2r |
| 531 | 554 |
LIT2r .opcodes-op-str LIT2r .opcodes-op-pok |
| 532 | 555 |
$main |
| 533 | 556 |
~assembler.token ,lookup-label JSR2 |
| 534 |
- DUP #01 AND ^$valid JNZ |
|
| 557 |
+ DUP #03 AND ^$valid JNZ |
|
| 535 | 558 |
|
| 536 | 559 |
( FIXME complain about helper not being usable ) |
| 537 | 560 |
POP2 JMP2r |
| ... | ... |
@@ -563,7 +586,7 @@ JMP2r |
| 563 | 586 |
pointed to in the variable name's binary data. |
| 564 | 587 |
) |
| 565 | 588 |
@normal-; [ 0000 ] [ 0000 ] [ 3b ] |
| 566 |
- ~assembler.token #80 ,add-label JSR2 |
|
| 589 |
+ #80 ~assembler.token ,label-tree ,add-label JSR2 |
|
| 567 | 590 |
~assembler.heap #0000 OVR2 STR2 |
| 568 | 591 |
DUP2 =assembler.subtree |
| 569 | 592 |
#0002 ADD2 =assembler.heap |
| ... | ... |
@@ -583,8 +606,29 @@ JMP2r |
| 583 | 606 |
JMP2r |
| 584 | 607 |
|
| 585 | 608 |
@variable-name |
| 609 |
+ #00 ~assembler.token ~assembler.subtree ,add-label JSR2 |
|
| 610 |
+ ~assembler.heap #0003 SUB2 =assembler.vartmp |
|
| 611 |
+ ~assembler.state #f7 AND =assembler.state |
|
| 612 |
+ JMP2r |
|
| 613 |
+ |
|
| 586 | 614 |
@variable-size |
| 587 |
- ,nyi JMP2r |
|
| 615 |
+ ~assembler.token ,parse-hex-length JSR2 |
|
| 616 |
+ ^$valid JNZ |
|
| 617 |
+ ( FIXME complain about invalid size ) |
|
| 618 |
+ JMP2r |
|
| 619 |
+ |
|
| 620 |
+ $valid |
|
| 621 |
+ DUP #02 GTH ^$end JNZ |
|
| 622 |
+ DUP ~assembler.vartmp POK2 |
|
| 623 |
+ ^$end JMP |
|
| 624 |
+ |
|
| 625 |
+ $loop |
|
| 626 |
+ #00 ,write-byte JSR2 |
|
| 627 |
+ #01 SUB |
|
| 628 |
+ $end |
|
| 629 |
+ DUP ^$loop JNZ |
|
| 630 |
+ POP |
|
| 631 |
+ JMP2r |
|
| 588 | 632 |
|
| 589 | 633 |
( |
| 590 | 634 |
Percent signs introduce macros. The macro name is added to the macro tree, |
| ... | ... |
@@ -642,7 +686,7 @@ JMP2r |
| 642 | 686 |
@ignore |
| 643 | 687 |
JMP2r |
| 644 | 688 |
|
| 645 |
-@nyi |
|
| 689 |
+@normal-main |
|
| 646 | 690 |
,$string =Console.string |
| 647 | 691 |
HCF |
| 648 | 692 |
|
| ... | ... |
@@ -663,8 +707,10 @@ JMP2r |
| 663 | 707 |
|
| 664 | 708 |
The flags byte is divided up into bits: |
| 665 | 709 |
|
| 666 |
- bit 0: 01 means load or store helpers can be used, |
|
| 667 |
- bit 1: 02 means the helpers use STR/LDR, 00 means they use POK/PEK; |
|
| 710 |
+ bit 0-1: 00 means store / load helpers cannot be used, |
|
| 711 |
+ 01 means the helpers use POK / PEK, |
|
| 712 |
+ 02 means the helpers use STR / LDR, |
|
| 713 |
+ 03 is invalid; |
|
| 668 | 714 |
bits 2-6 are reserved; and |
| 669 | 715 |
bit 7: 80 means there is a subtree. |
| 670 | 716 |
|
| ... | ... |
@@ -672,69 +718,69 @@ JMP2r |
| 672 | 718 |
) |
| 673 | 719 |
|
| 674 | 720 |
@l-Audio [ 0000 ] [ 0000 ] [ Audio 00 ] [ 80 ] .Audio .l-Audio-root |
| 675 |
-@l-Audio-delay [ 0000 ] [ 0000 ] [ delay 00 ] [ 03 ] .Audio.delay |
|
| 676 |
-@l-Audio-envelope .l-Audio-delay .l-Audio-finish [ envelope 00 ] [ 03 ] .Audio.envelope |
|
| 721 |
+@l-Audio-delay [ 0000 ] [ 0000 ] [ delay 00 ] [ 02 ] .Audio.delay |
|
| 722 |
+@l-Audio-envelope .l-Audio-delay .l-Audio-finish [ envelope 00 ] [ 02 ] .Audio.envelope |
|
| 677 | 723 |
@l-Audio-finish [ 0000 ] [ 0000 ] [ finish 00 ] [ 01 ] .Audio.finish |
| 724 |
+@l-Audio-root |
|
| 678 | 725 |
@l-Audio-pitch .l-Audio-envelope .l-Audio-value [ pitch 00 ] [ 01 ] .Audio.pitch |
| 679 | 726 |
@l-Audio-play [ 0000 ] [ 0000 ] [ play 00 ] [ 01 ] .Audio.play |
| 680 |
-@l-Audio-root |
|
| 681 |
-@l-Audio-value .l-Audio-play .l-Audio-volume [ value 00 ] [ 03 ] .Audio.value |
|
| 727 |
+@l-Audio-value .l-Audio-play .l-Audio-volume [ value 00 ] [ 02 ] .Audio.value |
|
| 682 | 728 |
@l-Audio-volume [ 0000 ] .l-Audio-wave [ volume 00 ] [ 01 ] .Audio.volume |
| 683 |
-@l-Audio-wave [ 0000 ] [ 0000 ] [ wave 00 ] [ 03 ] .Audio.wave |
|
| 729 |
+@l-Audio-wave [ 0000 ] [ 0000 ] [ wave 00 ] [ 02 ] .Audio.wave |
|
| 684 | 730 |
@l-Console .l-Audio .l-Controller [ Console 00 ] [ 80 ] .Console .l-Console-root |
| 685 | 731 |
@l-Console-byte [ 0000 ] .l-Console-char [ byte 00 ] [ 01 ] .Console.byte |
| 686 | 732 |
@l-Console-char [ 0000 ] [ 0000 ] [ char 00 ] [ 01 ] .Console.char |
| 687 | 733 |
@l-Console-root |
| 688 |
-@l-Console-short .l-Console-byte .l-Console-string [ short 00 ] [ 03 ] .Console.short |
|
| 689 |
-@l-Console-string [ 0000 ] .l-Console-vector [ string 00 ] [ 03 ] .Console.string |
|
| 690 |
-@l-Console-vector [ 0000 ] [ 0000 ] [ vector 00 ] [ 03 ] .Console.vector |
|
| 734 |
+@l-Console-short .l-Console-byte .l-Console-string [ short 00 ] [ 02 ] .Console.short |
|
| 735 |
+@l-Console-string [ 0000 ] .l-Console-vector [ string 00 ] [ 02 ] .Console.string |
|
| 736 |
+@l-Console-vector [ 0000 ] [ 0000 ] [ vector 00 ] [ 02 ] .Console.vector |
|
| 691 | 737 |
@l-Controller [ 0000 ] [ 0000 ] [ Controller 00 ] [ 80 ] .Controller .l-Controller-root |
| 692 | 738 |
@l-Controller-button [ 0000 ] [ 0000 ] [ button 00 ] [ 01 ] .Controller.button |
| 693 |
-@l-Controller-key .l-Controller-button .l-Controller-vector [ key 00 ] [ 01 ] .Controller.key |
|
| 694 | 739 |
@l-Controller-root |
| 695 |
-@l-Controller-vector [ 0000 ] [ 0000 ] [ vector 00 ] [ 03 ] .Controller.vector |
|
| 740 |
+@l-Controller-key .l-Controller-button .l-Controller-vector [ key 00 ] [ 01 ] .Controller.key |
|
| 741 |
+@l-Controller-vector [ 0000 ] [ 0000 ] [ vector 00 ] [ 02 ] .Controller.vector |
|
| 742 |
+@l-root |
|
| 696 | 743 |
@l-DateTime .l-Console .l-Mouse [ DateTime 00 ] [ 80 ] .DateTime .l-DateTime-root |
| 697 | 744 |
@l-DateTime-day [ 0000 ] [ 0000 ] [ day 00 ] [ 01 ] .DateTime.day |
| 698 | 745 |
@l-DateTime-dotw .l-DateTime-day .l-DateTime-doty [ dotw 00 ] [ 01 ] .DateTime.dotw |
| 699 |
-@l-DateTime-doty [ 0000 ] .l-DateTime-hour [ doty 00 ] [ 03 ] .DateTime.doty |
|
| 746 |
+@l-DateTime-doty [ 0000 ] .l-DateTime-hour [ doty 00 ] [ 02 ] .DateTime.doty |
|
| 700 | 747 |
@l-DateTime-hour [ 0000 ] [ 0000 ] [ hour 00 ] [ 01 ] .DateTime.hour |
| 748 |
+@l-DateTime-root |
|
| 701 | 749 |
@l-DateTime-isdst .l-DateTime-dotw .l-DateTime-refresh [ isdst 00 ] [ 01 ] .DateTime.isdst |
| 702 | 750 |
@l-DateTime-minute [ 0000 ] .l-DateTime-month [ minute 00 ] [ 01 ] .DateTime.minute |
| 703 | 751 |
@l-DateTime-month [ 0000 ] [ 0000 ] [ month 00 ] [ 01 ] .DateTime.month |
| 704 | 752 |
@l-DateTime-refresh .l-DateTime-minute .l-DateTime-second [ refresh 00 ] [ 01 ] .DateTime.refresh |
| 705 |
-@l-DateTime-root |
|
| 706 | 753 |
@l-DateTime-second [ 0000 ] .l-DateTime-year [ second 00 ] [ 01 ] .DateTime.second |
| 707 |
-@l-DateTime-year [ 0000 ] [ 0000 ] [ year 00 ] [ 03 ] .DateTime.year |
|
| 754 |
+@l-DateTime-year [ 0000 ] [ 0000 ] [ year 00 ] [ 02 ] .DateTime.year |
|
| 708 | 755 |
@l-File [ 0000 ] [ 0000 ] [ File 00 ] [ 80 ] .File .l-File-root |
| 709 |
-@l-File-length [ 0000 ] .l-File-load [ length 00 ] [ 03 ] .File.length |
|
| 756 |
+@l-File-length [ 0000 ] .l-File-load [ length 00 ] [ 02 ] .File.length |
|
| 710 | 757 |
@l-File-load [ 0000 ] [ 0000 ] [ load 00 ] [ 00 ] .File.load |
| 711 |
-@l-File-name .l-File-length .l-File-save [ name 00 ] [ 03 ] .File.name |
|
| 712 | 758 |
@l-File-root |
| 713 |
-@l-File-save [ 0000 ] .l-File-vector [ save 00 ] [ 03 ] .File.save |
|
| 714 |
-@l-File-vector [ 0000 ] [ 0000 ] [ vector 00 ] [ 03 ] .File.vector |
|
| 759 |
+@l-File-name .l-File-length .l-File-save [ name 00 ] [ 02 ] .File.name |
|
| 760 |
+@l-File-save [ 0000 ] .l-File-vector [ save 00 ] [ 02 ] .File.save |
|
| 761 |
+@l-File-vector [ 0000 ] [ 0000 ] [ vector 00 ] [ 02 ] .File.vector |
|
| 715 | 762 |
@l-Mouse .l-File .l-Screen [ Mouse 00 ] [ 80 ] .Mouse .l-Mouse-root |
| 716 | 763 |
@l-Mouse-chord [ 0000 ] .l-Mouse-state [ chord 00 ] [ 01 ] .Mouse.chord |
| 717 |
-@l-Mouse-root |
|
| 718 | 764 |
@l-Mouse-state [ 0000 ] [ 0000 ] [ state 00 ] [ 01 ] .Mouse.state |
| 719 |
-@l-Mouse-vector .l-Mouse-chord .l-Mouse-x [ vector 00 ] [ 03 ] .Mouse.vector |
|
| 720 |
-@l-Mouse-x [ 0000 ] .l-Mouse-y [ x 00 ] [ 03 ] .Mouse.x |
|
| 721 |
-@l-Mouse-y [ 0000 ] [ 0000 ] [ y 00 ] [ 03 ] .Mouse.y |
|
| 765 |
+@l-Mouse-root |
|
| 766 |
+@l-Mouse-vector .l-Mouse-chord .l-Mouse-x [ vector 00 ] [ 02 ] .Mouse.vector |
|
| 767 |
+@l-Mouse-x [ 0000 ] .l-Mouse-y [ x 00 ] [ 02 ] .Mouse.x |
|
| 768 |
+@l-Mouse-y [ 0000 ] [ 0000 ] [ y 00 ] [ 02 ] .Mouse.y |
|
| 722 | 769 |
@l-Screen [ 0000 ] .l-System [ Screen 00 ] [ 80 ] .Screen .l-Screen-root |
| 723 |
-@l-Screen-addr [ 0000 ] [ 0000 ] [ addr 00 ] [ 03 ] .Screen.addr |
|
| 770 |
+@l-Screen-addr [ 0000 ] [ 0000 ] [ addr 00 ] [ 02 ] .Screen.addr |
|
| 724 | 771 |
@l-Screen-color .l-Screen-addr .l-Screen-height [ color 00 ] [ 01 ] .Screen.color |
| 725 |
-@l-Screen-height [ 0000 ] [ 0000 ] [ height 00 ] [ 03 ] .Screen.height |
|
| 772 |
+@l-Screen-height [ 0000 ] [ 0000 ] [ height 00 ] [ 02 ] .Screen.height |
|
| 726 | 773 |
@l-Screen-root |
| 727 |
-@l-Screen-vector .l-Screen-color .l-Screen-x [ vector 00 ] [ 03 ] .Screen.vector |
|
| 728 |
-@l-Screen-width [ 0000 ] [ 0000 ] [ width 00 ] [ 03 ] .Screen.width |
|
| 729 |
-@l-Screen-x .l-Screen-width .l-Screen-y [ x 00 ] [ 03 ] .Screen.x |
|
| 730 |
-@l-Screen-y [ 0000 ] [ 0000 ] [ y 00 ] [ 03 ] .Screen.y |
|
| 774 |
+@l-Screen-vector .l-Screen-color .l-Screen-x [ vector 00 ] [ 02 ] .Screen.vector |
|
| 775 |
+@l-Screen-width [ 0000 ] [ 0000 ] [ width 00 ] [ 02 ] .Screen.width |
|
| 776 |
+@l-Screen-x .l-Screen-width .l-Screen-y [ x 00 ] [ 02 ] .Screen.x |
|
| 777 |
+@l-Screen-y [ 0000 ] [ 0000 ] [ y 00 ] [ 02 ] .Screen.y |
|
| 731 | 778 |
@l-System [ 0000 ] [ 0000 ] [ System 00 ] [ 80 ] .System .l-System-root |
| 732 |
-@l-System-b [ 0000 ] [ 0000 ] [ b 00 ] [ 03 ] .System.b |
|
| 733 |
-@l-System-g .l-System-b .l-System-r [ g 00 ] [ 03 ] .System.g |
|
| 734 |
-@l-System-r [ 0000 ] .l-System-vector [ r 00 ] [ 03 ] .System.r |
|
| 779 |
+@l-System-b [ 0000 ] [ 0000 ] [ b 00 ] [ 02 ] .System.b |
|
| 735 | 780 |
@l-System-root |
| 736 |
-@l-System-vector [ 0000 ] [ 0000 ] [ vector 00 ] [ 03 ] .System.vector |
|
| 737 |
-@l-root |
|
| 781 |
+@l-System-g .l-System-b .l-System-r [ g 00 ] [ 02 ] .System.g |
|
| 782 |
+@l-System-r [ 0000 ] .l-System-vector [ r 00 ] [ 02 ] .System.r |
|
| 783 |
+@l-System-vector [ 0000 ] [ 0000 ] [ vector 00 ] [ 02 ] .System.vector |
|
| 738 | 784 |
|
| 739 | 785 |
@assembler-heap-start |
| 740 | 786 |
|