Vladimir Menshakov
a5748a34af
DREAMWEB: Fixed continuing to another procedure. (axe misuse crash)
2011-06-24 09:34:23 +04:00
Willem Jan Palenstijn
2551389304
DREAMWEB: Fix bug in tasmrecover causing load/save mixup
...
This is a regression from c1b9adb691
and (my commit) 287c23f126
.
It is not safe to remove opcodes from proc.stmts since labels
are sometimes referenced by their offset in the list. So, instead
they are now replaced by op._nop.
This fixes kLoadingorsave not being set in doload(), which was
visible when going to the load game menu from the startup menu.
2011-06-22 00:00:56 +02:00
Vladimir Menshakov
27890ec3e2
DREAMWEB: clear cx after rep movs/stos commands
2011-06-17 21:15:06 +04:00
Vladimir Menshakov
6fe3e63ed1
DREAMWEB: replaced generated code with c++ style stubs
2011-06-17 00:31:36 +04:00
Willem Jan Palenstijn
ae67a9a958
DREAMWEB: Re-optimize unbounded code blocks
...
This gets rid of some unused labels. We need to be careful
not be optimize too much, as that could remove the very label
the unbounded block was added for.
2011-06-16 16:43:48 +02:00
Willem Jan Palenstijn
287c23f126
DREAMWEB: Try to clean up jumps to returns
2011-06-16 15:40:52 +02:00
Vladimir Menshakov
d8d16e0231
DREAMWEB: removed while loops from rep+stos/movs instructions
2011-06-16 16:44:58 +04:00
Vladimir Menshakov
4fd3cdf984
DREAMWEB: Improved code formatting
2011-06-16 16:31:17 +04:00
Vladimir Menshakov
e0efde7cf6
DREAMWEB: optimized consequtive movsb/w and stosb/w
2011-06-16 00:20:30 +04:00
Vladimir Menshakov
c1b9adb691
DREAMWEB: added unused label elimination. Does not work for some labels, but the most ones are gone.
2011-06-15 23:38:44 +04:00
Vladimir Menshakov
3b85dede39
DREAMWEB: added banner to autogenerated files
2011-06-15 23:00:05 +04:00
Vladimir Menshakov
4e75c4bfd2
DREAMWEB: marked global as used from get_global()
2011-06-15 22:58:45 +04:00
Vladimir Menshakov
7a47b09379
DREAMWEB: uncommented simple ret stripping
2011-06-15 22:25:16 +04:00
Vladimir Menshakov
eb80d05b64
DREAMWEB: fixed code formatting
2011-06-15 22:09:31 +04:00
Vladimir Menshakov
4b3f775efa
DREAMWEB: removed asserts, added STACK_CHECK as suggested by Max
2011-06-15 22:02:18 +04:00
Vladimir Menshakov
f4936e6b42
DREAMWEB: implemented stc/clc, fixed preliminary exit from the dialogue
2011-06-15 17:35:00 +02:00
Vladimir Menshakov
49e7c7a735
DREAMWEB: fixed occasional stripping of the strings in data segment
2011-06-15 17:34:43 +02:00
Vladimir Menshakov
6fb25cdde4
DREAMWEB: added stack depth check to code generator
2011-06-15 17:34:38 +02:00
Vladimir Menshakov
bf80a8a3ac
DREAMWEB: added inc/dec instructions.
2011-06-15 17:34:24 +02:00
Vladimir Menshakov
8ea7a7a3d1
DREAMWEB: fixed seg XXX construction in generator
2011-06-15 17:34:17 +02:00
Vladimir Menshakov
99a4bb86dd
DREAMWEB: fixed invalid generated jump instructions
2011-06-15 17:34:16 +02:00
Vladimir Menshakov
3f592047bb
DREAMWEB: fixed rep prefix
2011-06-15 17:34:05 +02:00
Vladimir Menshakov
97310ab904
DREAMWEB: asserted invalid calls
2011-06-15 17:33:54 +02:00
Vladimir Menshakov
4518719345
DREAMWEB: added 'equ' const to public header
2011-06-15 17:33:53 +02:00
Vladimir Menshakov
23736a0240
DREAMWEB: output equ values in log
2011-06-15 17:33:51 +02:00
Vladimir Menshakov
9717b220f1
DREAMWEB: added names instead of offsets for variables
2011-06-15 17:33:50 +02:00
Vladimir Menshakov
2f9e63579d
DREAMWEB: fixed missing explicit segment specification. added verbose data dump to the generator
2011-06-15 17:33:49 +02:00
Vladimir Menshakov
d2688a520b
DREAMWEB: removed static from functions for now (allowing external usage)
2011-06-15 17:33:48 +02:00
Vladimir
59f8d31132
DREAMWEB: fixed offsets shifting for db/dw
2011-06-15 17:32:34 +02:00
Vladimir
ab41fb783d
DREAMWEB: fixed equ expanding
2011-06-15 17:32:19 +02:00
Vladimir
bba7724aec
DREAMWEB: added fake data register pointing to variables
2011-06-15 17:32:02 +02:00
Vladimir
b76035db66
DREAMWEB: put data offsets, not labels into public
2011-06-15 17:31:00 +02:00
Vladimir
59b0c4b4b5
DREAMWEB: added all offsets
2011-06-15 17:30:56 +02:00
Vladimir
a0e56d9cad
DREAMWEB: minor cleanup
2011-06-15 17:30:39 +02:00
Vladimir
1ee6b0af69
DREAMWEB: get rid of data, added simple segment management
2011-06-15 17:30:29 +02:00
Vladimir
4e6483e700
DREAMWEB: removed python generated bytecode
2011-06-15 17:30:18 +02:00
Vladimir
0b0b22ccc2
DREAMWEB: removed data declaration
2011-06-15 17:30:14 +02:00
Vladimir
9cf2a7ba0e
DREAMWEB: added tasm-recover tool
2011-06-15 17:29:44 +02:00