flat assembler
Message board for the users of flat assembler.
Index
> Compiler Internals > 'fix' directive is broken in 1.67.27? |
Author |
|
IceStudent 27 Aug 2008, 16:21
Hi.
Subj. Following code works in 1.67.26, but doesn't work in 1.67.27: Code: format binary
x fix y
display 'hi'
|
|||
27 Aug 2008, 16:21 |
|
LocoDelAssembly 27 Aug 2008, 17:30
It shows "hi" on FASMW 1.67.27, are you sure that exactly that code you posted is the one that doesn't works for you.
|
|||
27 Aug 2008, 17:30 |
|
IceStudent 27 Aug 2008, 17:34
LocoDelAssembly wrote: It shows "hi" on FASMW 1.67.27 But not on fasm.exe. |
|||
27 Aug 2008, 17:34 |
|
IceStudent 27 Aug 2008, 18:24
No, broken is display or, rather, add_preprocessor_symbol subroutine, because it calls get_directive without clearing a high bytes of the ECX register, so lower_case routine will clear a con_handle variable and subsequent calls to the display_block will fail.
One way to fix is here: Code: *** PREPROCE.INC 2008-07-09 18:38:20.000000000 +0300 --- preproce.inc 2008-08-27 21:09:34.265625000 +0300 *************** *** 487,492 **** --- 487,493 ---- push edi mov edx,esi mov ebp,ecx + and ecx,0xFF call lower_case pop edi scan_directives: |
|||
27 Aug 2008, 18:24 |
|
revolution 27 Aug 2008, 20:01
Very nice, both a bug report and it's fix. Well done.
|
|||
27 Aug 2008, 20:01 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.