forked from venks1/x86-s
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MUDANCAS.TXT
125 lines (108 loc) · 5.26 KB
/
MUDANCAS.TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
Versao 1.16
1. Alteracao no comando .space para que se comporte igual o .zerow podendo usar formulas
2. Alteracao nos comandos .org e .align para que aceitem formulas
3. Modificacao da nomeclatura e organizacao das pastas
Versao 1.15
1. Compatibilidade dos comentarios | reintroduzida
Versao 1.14
1. Alteracao dos comentarios de | para ;
Versao 1.13
1. Criacao da derivacao para criacao de Arquivo .SYS
2. Desfaz .mark e .release ate corrigir bugs
Versao 1.12
1. Implementacao do .mark e .release para liberar os simbolos locais ao encerrar um bloco
Versao 1.11
1. Traducao para portugues, baseado no projeto github venks1/x86-s
2. Permite incluir arquivos de outras pastas
Version 1.10 - 7301 bytes
1. Fix handling of LF only files. Seems to have been broken for
many versions now.
Version 1.9 7297 bytes
1. Fixed a dangerous bug - forward relative jumps of (128-255) were
being allowed and actually coded as 0x80 to 0xFF, which worked
out to be backward jumps - symtab.s
Version 1.8 7295 bytes
1. Stole a few bytes by defining the extensions as words in ax before
storing them
Version 1.7
1. Added the binary operator !, which takes two byte constants and
makes them into a word
2. Fixed bugs with the ! operator (lower byte duplicated)
3. Fixed bugs with non-error reporting of backword jumps of more
than 128 bytes. (Misplaced label on too large operand)
Version 1.6
1. Added a variable SavedStackPointer that keeps track of the stack
for each assemble file. Filled in Assemble in asm.s. Also in
direct.s, it is pushed and popped for include files to keep
stack consistency.
2. Added some error recovery - only one type - resync at end of line
Stack Pointer is restored to where it was. List file may contain
junk. Don't know as yet. Still aborts on severe errors. The undefined
error messsage in symtab.s had to be treated specially. Output file
is still generated.
3. Fixed the include error message. Instead of showing the name of
the included file in the error message, It shows the name of the file
in which the failed include statement occured. Fixes to direct.s and
reorganization to OpenInputFile in asm.s
4. Added a never defined flag so that the assembler can continue with
assembly even if a symbol is not defined. Set in symtab.s
6. Added the not operator to the expression evaluation section - expr.s
For a new operator the procedure is
a. add the operator in IsOperator in the right place
b. if the operator is unary, add it in the IsUnaryOperator too.
c. add the code to evaluate it in Evaluate expression
7. Allows byte sized values to have 0 or ff as higher byte -
to accomodate the unary not, else !0x80 was not allowed as a byte
operand. Changes to support.s
Version 1.5
1. Modified symtab.s to add a function RecordXref that puts the
index of symbol, filename and line no into the list file
2. Modified expr.s so that it calls RecordXref in the middle of
processing an expression - only for real variables - not
constants or fakes.
3. Modified lister to report number of references to each variable
and to list the references symbolwise
4. Removed redundant code in asm primarily Is8bitregister and
Is16bitRegister in support.s
5. Removed redundant equates and Messages - size mismatch
Version 1.4
1. Instead of printing the symbol table onto the screen it puts
the symbol table onto the list file.
2. The list file has the symbol table proper and the string table
3. To make data structures common to the assembler and the lister
and to prevent duplication of work, two include files have been
created. dos.i with the equates for DOS functions and symtab.i
with the structures for the symbol table.
4. The message displaying functions have been separated out to
another file called display.s.
5. The functions in display.s (except for PutCarriageReturn and
DisplayRegister) now keep track of the number of characters that
have been displayed.
6. The symbol table being dumped on the screen is disabled, only
the .lst file is created. ListSymbols from symtab.s was deleted.
and the call from asm.s
7. A separate program lister was added which prints out the symbol
table from the .lst file
8. display.s was putting out a LF and a CR in that order, which was
confusing editors - e.g. MKS vi.
Version 1.3
1. The filenames are directly put into the string space instead of
present filename
a. One variable presentfilename is removed - save space
b. Changes to asm.s and direct.s (for includes)
2. The print stats function was removed
3. The output filename is accessible throughout the programs execution
4. The output file is deleted if an error in assembly is detected.
5. Can handle infinite (Promises!) path length one error message
removed - path too long. message.s
6. Opens List file too. The list file name is on the string table too.
added two variables - ListFileHandle and ListFileNameOffset
7. Doesn't print the name of the file that it is assembling any longer.
or the names of the output files.
8. Doesn't display assembly successful at the end either. - silent on
success.
Version 1.2
1. Accepts char constants - in single quotes, wherever
constants are allowed.
2. Accepts hex constants - prefixed by 0x, with overflow checking.
3. Accepts negative byte constants - complained earlier.