flat assembler
Message board for the users of flat assembler.

Index > Main > flat assembler 1.67.26-27

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 27 Jan 2008, 18:39
I've decided to release the 1.67.26 version now, even though I haven't yet finished the SSE4 support I wanted for this version - my computer broke (see the other thread) and this caused a slight pause in development (but have a new machine up and running great, thanks to all the people that helped me!).

So 1.67.26 has a lot of SSE4 instructions already supported, but some of them will be supported in the next release (1.67.27), I hope to get it finished soon.

I also did play with DOS interface a bit, I fixed some bugs and also managed to free some space under the 64k code limit, so that I still don't have to get rid of the unREAL mode from the DOS interface.
Post 27 Jan 2008, 18:39
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20448
Location: In your JS exploiting you and your system
revolution 27 Jan 2008, 19:25
Nice to see a new version.

Tomasz Grysztar wrote:
I still don't have to get rid of the unREAL mode from the DOS interface.
I have never understood the reason for using unreal mode. I can't see what advantage it has over PM.
Post 27 Jan 2008, 19:25
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 27 Jan 2008, 19:34
revolution wrote:
I have never understood the reason for using unreal mode. I can't see what advantage it has over PM.

Well, on some old machines it was faster than PM. And this implementation of it (the one that fasm uses) is also a kind of my 'pet', piece of code I really like and was proud of when first invented it.
Post 27 Jan 2008, 19:34
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 27 Jan 2008, 20:06
Tomasz Grysztar wrote:
I've decided to release the 1.67.26 version now, even though I haven't yet finished the SSE4 support I wanted for this version - my computer broke (see the other thread) and this caused a slight pause in development (but have a new machine up and running great, thanks to all the people that helped me!).


So the curse has been lifted? Razz

Quote:

So 1.67.26 has a lot of SSE4 instructions already supported, but some of them will be supported in the next release (1.67.27), I hope to get it finished soon.


Do any actual machines (for sale) even support it yet? If not, I don't see the huge need to hurry here (unless you like working under BOCHS, heh).

Tomasz wrote:

I also did play with DOS interface a bit, I fixed some bugs


Heh, I guess you're human after all. Cool But it's still not fixed. Really. I just now tried three different OSes on three different machines (even tried both unreal and DPMI in pure DOS), and none of 'em worked. Either silently starts/exits (WinXP), GPFs/exits the DOS window (WinME), prints garbage when assembling (unreal in pure DR-DOS), or causes an exception (DPMI under DR-DOS). But FASMD still seems to work fine.

And I even saw/found a bug in one of my own dinky programs (due to my optimization frenzy of late, heh). So that's good to know (fix), at least. Wink

Tomasz wrote:

and also managed to free some space under the 64k code limit, so that I still don't have to get rid of the unREAL mode from the DOS interface.


Like I said before, there's plenty that could be improved size-wise (and that's just my barely-educated guess without looking at all). So, don't give up that dream just yet. Wink

revolution wrote:

I have never understood the reason for using unreal mode. I can't see what advantage it has over PM.


No external memory managers (or DPMI servers) needed. So, it's at least more independent this way.
Post 27 Jan 2008, 20:06
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 27 Jan 2008, 20:13
rugxulo wrote:
Heh, I guess you're human after all. Cool But it's still not fixed. Really. I just now tried three different OSes on three different machines (even tried both unreal and DPMI in pure DOS), and none of 'em worked. Either silently starts/exits (WinXP), GPFs/exits the DOS window (WinME), prints garbage when assembling (unreal in pure DR-DOS), or causes an exception (DPMI under DR-DOS). But FASMD still seems to work fine.

Sorry, forgot to test it after some final touches I did. Of course it's not working, even for me. Hang on a second, I'm correcting it.
Post 27 Jan 2008, 20:13
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 27 Jan 2008, 20:22
OK, please try it now.
Post 27 Jan 2008, 20:22
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20448
Location: In your JS exploiting you and your system
revolution 27 Jan 2008, 20:28
rugxulo wrote:
No external memory managers (or DPMI servers) needed. So, it's at least more independent this way.
You don't need DPMI (or others) to use PM. If you can do the unreal switchy thing then a PM switchy thing has almost no difference in the code. The main advantage being it is more compatible.
Post 27 Jan 2008, 20:28
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 27 Jan 2008, 20:44
Tomasz Grysztar wrote:
OK, please try it now.


Just telling you really quickly before someone downloads it: you forgot the dir structure:

Code:
FAS16726.ZIP

FASM.EXE       42,558        (75,192)          Jan,27,2008  09:16:12p  [Deflat]
FASM.TXT       50,382        (196,211)         Aug,06,2007  12:16:38a  [Deflat]
FASMD.EXE      52,786        (93,083)          Jan,27,2008  09:16:12p  [Deflat]
FASMD.TXT      2,416         (6,370)           Dec,29,2006  12:17:56a  [Deflat]
LICENSE.TXT    949           (1,819)           Feb,10,2007  02:24:32p  [Deflat]
WHATSNEW.TXT   4,042         (11,104)          Jan,27,2008  06:57:02p  [Deflat]
FASM.ASM       1,775         (6,553)           Jan,27,2008  09:14:40p  [Deflat]
ASSEMBLE.INC   6,005         (38,606)          Jan,19,2008  07:54:58p  [Deflat]
ERRORS.INC     892           (3,975)           Dec,28,2007  12:55:50a  [Deflat]
MESSAGES.INC   797           (2,395)           Dec,02,2007  12:39:56a  [Deflat]
EXPRESSI.INC   8,712         (52,639)          Dec,05,2007  11:41:02a  [Deflat]
FORMATS.INC    12,795        (79,627)          Dec,30,2007  07:03:54p  [Deflat]
MODES.INC      3,040         (10,540)          Jan,27,2008  06:32:44p  [Deflat]
PARSER.INC     4,519         (26,335)          Aug,25,2007  10:14:16a  [Deflat]
PREPROCE.INC   8,608         (51,657)          Dec,08,2007  07:17:08p  [Deflat]
SYSTEM.INC     2,111         (8,102)           Jan,27,2008  09:14:36p  [Deflat]
SYSDPMI.INC    722           (2,103)           Jan,27,2008  06:26:40p  [Deflat]
TABLES.INC     7,519         (48,546)          Jan,19,2008  08:39:46p  [Deflat]
VARIABLE.INC   833           (2,356)           Jan,19,2008  08:32:26p  [Deflat]
VERSION.INC    955           (1,847)           Jan,19,2008  03:42:22p  [Deflat]
X86_64.INC     13,496        (139,206)         Jan,19,2008  08:44:46p  [Deflat]
MEMORY.INC     1,008         (5,931)           Aug,05,2007  07:59:26p  [Deflat]
NAVIGATE.INC   2,075         (10,606)          Aug,05,2007  07:59:30p  [Deflat]
EDIT.INC       3,586         (20,153)          Aug,05,2007  07:59:14p  [Deflat]
BLOCKS.INC     2,165         (10,779)          Dec,01,2007  11:56:32a  [Deflat]
SEARCH.INC     2,039         (10,963)          Aug,05,2007  07:59:34p  [Deflat]
UNDO.INC       851           (4,795)           Aug,05,2007  07:59:38p  [Deflat]
FASMD.ASM      16,501        (82,698)          Dec,03,2007  09:47:28p  [Deflat]
COMDEMO.ASM    165           (233)             May,07,2006  08:09:18p  [Deflat]
COMDEMO.COM    22            (22)              Dec,03,2007  09:15:20p  [Stored]
EXEDEMO.ASM    131           (178)             Feb,12,2005  01:59:58a  [Deflat]
EXEDEMO.EXE    52            (59)              Dec,03,2007  09:15:22p  [Deflat]
DEVICE.ASM     400           (868)             Feb,12,2005  01:59:58a  [Deflat]
DEVICE.SYS     88            (88)              Dec,03,2007  09:15:20p  [Stored]
LIFE.ASM       886           (3,103)           Oct,15,2005  05:29:52p  [Deflat]
LIFE.COM       365           (434)             Dec,03,2007  09:15:22p  [Deflat]
MANDEL.ASM     445           (1,029)           Sep,20,2007  11:01:12p  [Deflat]
MANDEL.COM     177           (183)             Dec,03,2007  09:15:22p  [Deflat]
MULTISEG.ASM   223           (399)             Oct,15,2005  05:29:38p  [Deflat]
MULTISEG.EXE   68            (101)             Dec,03,2007  09:15:22p  [Deflat]
USEDPMI.ASM    611           (1,536)           Dec,08,2006  11:38:26p  [Deflat]
USEDPMI.EXE    229           (261)             Dec,03,2007  09:15:24p  [Deflat]

42 items: 0 dirs + 42 files 
257,999 bytes (1,012,685 unzipped)
Created by ZIP 4.0 : DOS, OS/2, WinNT FAT
    


Still doesn't work on XP (silently starts/exits), but DOSBox seems okay. So lemme test the WinME and DR-DOS cpus.
Post 27 Jan 2008, 20:44
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 27 Jan 2008, 20:51
Quote:

Do any actual machines (for sale) even support it yet? If not, I don't see the huge need to hurry here (unless you like working under BOCHS, heh).

Intel provides a library that installs a SEH handler so you can start doing SSE4 programs now and the exception handler will emulate them. (I posted a link somewhere in one of the peter's posts).
Post 27 Jan 2008, 20:51
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 27 Jan 2008, 20:53
Nope, under WinME the DOS version still crashes/exits the DOS window.

revolution wrote:

You don't need DPMI (or others) to use PM. If you can do the unreal switchy thing then a PM switchy thing has almost no difference in the code. The main advantage being it is more compatible.


Advantage to using PM being more compatible than unreal mode? Because DPMI is more compatible even still. I haven't tested (though I could) or really read up about old versions of Windows (e.g. 3.x), but something like VCPI doesn't work except in Standard mode. But I think DPMI works both (or at least in Enhanced). But whatever. It's obviously a minefield beyond my understanding. Wink
Post 27 Jan 2008, 20:53
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 27 Jan 2008, 21:12
P.S. Privalov, I wouldn't stress yourself out over this (today, at least). I mean, it's not like 1.67.23 is broken, so I'm still good, heh. (Oh darn, no SSE4, boo freakin' hoo. I still like plain ol' 8086!) But, just to hopefully share some helpful info:

Code:
D:\TONY\*.*

.                  (DIR)              ..                 (DIR)
fasm     exe       75,192             attr6    asm       13,470

[ DR-DOS ] Sun  1-27-2008>fasm

[ DR-DOS ] Sun  1-27-2008>fasm

JemmEx: exception 0D occured at CS:EIP=04E5:0000000A, ERRC=00000000
SS:ESP=1850:00008000 EBP=000B17D6 EFL=00033246 CR0=80000011 CR2=00000000
EAX=10000471 EBX=00BC0000 ECX=00001850 EDX=FF80045B ESI=000D0000 EDI=00028000
DS=04E5 ES=04E5 FS=D208 GS=D208 [CS:IP]=67 A3 99 26 01 00 67 89
Press ESC to abort program

[ DR-DOS ] Sun  1-27-2008>vv
D:\TONY\*.*

fasm     exe       75,192             Jan,27,2008   09:16:12pm   A...
attr6    asm       13,470             Aug,27,2007   06:32:28pm   A...

[ DR-DOS ] Sun  1-27-2008>scrndump a:\fasm_err.txt
    


Unreal mode (in DOS) seems to hang without a filename specified. But otherwise it seems to print like a billion whitespaces (continually scrolling the screen until I hit Ctrl-C). Just FYI. (Maybe you are cursed?! Laughing)
Post 27 Jan 2008, 21:12
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 27 Jan 2008, 21:36
LocoDelAssembly wrote:
Quote:

Do any actual machines (for sale) even support it yet? If not, I don't see the huge need to hurry here (unless you like working under BOCHS, heh).

Intel provides a library that installs a SEH handler so you can start doing SSE4 programs now and the exception handler will emulate them. (I posted a link somewhere in one of the peter's posts).


Not that I need it, but anyways, the closest link of yours I found via a quick search was this:

http://softwarecommunity.intel.com/Wiki/DevelopforCoreprocessor/289.htm
Post 27 Jan 2008, 21:36
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 27 Jan 2008, 21:48
Post 27 Jan 2008, 21:48
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 27 Jan 2008, 22:04
rugxulo wrote:
(Maybe you are cursed?! Laughing)

Sorry for the mess, it's just that after moving everything to a new machine much of my development/testing tools are broken (some things don't work well under xp64, you know), now I need to clean up. Give some time, I will try to upload a corrected package today still.
Post 27 Jan 2008, 22:04
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 27 Jan 2008, 22:15
All I know about XP 64-bit is that it's (reputedly) 10% faster, some lack of drivers, and no V86 mode (i.e. no NTVDM / DOS stuff). It's so annoying (but slightly understandable) how "new" always breaks old. Oh well, can't have everything I guess.

P.S. Vista 32-bit is actually worse than XP 32-bit: only 32 MB DPMI limit (which I know I've mentioned a thousand times ... hopefully SP1 will come out "within a month" with that fix!). All the world's a VAX? No, but if it ain't Windows or Linux, people hate it:

Quote:

People favor underdogs, but follow only top dogs. Fight for a few underdogs anyway.


Dare I say it ... thanks (big time) for the DOS support. Cool


Last edited by rugxulo on 13 Feb 2008, 09:02; edited 1 time in total
Post 27 Jan 2008, 22:15
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 27 Jan 2008, 23:34
OK, please try it now. I think I have cleaned up the mess a bit.
Post 27 Jan 2008, 23:34
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 28 Jan 2008, 21:39
Lightly tested it (without using "-d"), and it seems to work okay. WinXP, WinME, MS-DOS 6.22 all ran it fine (even unreal mode).

However, the problem comes into play when using "-dBLAH" without a value. It seems to not like that. (At least, unreal mode FASM prints a billion whitespaces until I hit Ctrl-C ... DPMI version probably would crash, dunno, didn't bother testing). "-dBLAH=" or "-dBLAH=1" seem to work. IMHO, "-dBLAH" should be the same as "-dBLAH=1", and I assume you'll probably agree. Of course, besides that minor nit (which hardly anyone utilizes yet, do they?), it's much more stable now. Wink

EDIT: Thanks again! Very Happy


Last edited by rugxulo on 30 Jan 2008, 03:54; edited 1 time in total
Post 28 Jan 2008, 21:39
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 28 Jan 2008, 21:45
rugxulo wrote:
IMHO, "-dBLAH" should be the same as "-dBLAH=1", and I assume you'll probably agree.

I'm not so sure about. The "-d" is the same as "define", that's why you can do "-dBLAH=" and it will do exactly the same as "define BLAH", that is - define symbolic constant with an empty value. And since symbolic don't really have much to do with numbers, it wouldn't make much sense to give it such a default value.

However you're right about the "-dBLAH" bug, I'm going to fix it in 1.67.27.
Post 28 Jan 2008, 21:45
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 28 Jan 2008, 22:30
Tomasz Grysztar wrote:

However you're right about the "-dBLAH" bug, I'm going to fix it in 1.67.27.


That's all I was really implying. You're of course free to "define BLAH" without value as default. No complaints here.
Post 28 Jan 2008, 22:30
View user's profile Send private message Visit poster's website Reply with quote
Kevin_Zheng



Joined: 04 Jul 2003
Posts: 125
Location: China
Kevin_Zheng 02 Feb 2008, 13:25
Hi, Tomaszy:
I recommed that you maybe combine all of release versions onto one package. For example, we can build below code tree as below figure:
\fasm\ fasmd.exe ==> fasm for dos
fasmw.exe ==> fasm for windows ide
fasm ==> fasm for linux
fasm.o ==> fasm for unix
fasm.exe ==> fasm for windows console
source\ all of versions
inlude\ all of headers
examples\dos\dos demo progames
\windows\windows demo programs
\linux\linux demo programs
\unix\unix demo programs
And other, PROC and ENDP are very excellent macro defines for FASM; but it only used for windows enviroment. Why don't use it for all os OS enviroment? I think that it maybe help other assembly users to transfer FASM world. I've built one macros to implement this idea and it seems okay.


Please see the extended macro defines (proc and endp) in attahced source code package, I've used those macros "proc" and "endp" to build three demo programs for DOS, windows and Linux-64; it seems okay, now.

Kenneth Zheng
Jan 02, 2008


Description:
Download
Filename: macro_toolkit_100.rar
Filesize: 145.42 KB
Downloaded: 486 Time(s)


_________________
Pure Assembly Language Funs
Post 02 Feb 2008, 13:25
View user's profile Send private message MSN Messenger Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.