flat assembler
Message board for the users of flat assembler.

Index > Main > flat assembler 1.71.23

Goto page Previous  1, 2, 3, 4
Author
Thread Post new topic Reply to topic
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 11 Jan 2015, 21:01
l_inc wrote:
Tomasz Grysztar
So it's syntax unification with respect to the rept directive. But still rept isn't allowed to use the equality sign.
This reflects my will to "promote" the ":" setting as opposed to "=". I think that "=" used in these contexts would visually resemble the numeric variable definition a bit too much.
Post 11 Jan 2015, 21:01
View user's profile Send private message Visit poster's website Reply with quote
l_inc



Joined: 23 Oct 2009
Posts: 881
l_inc 11 Jan 2015, 22:28
Tomasz Grysztar
You've just made it up, haven't you? Smile I'm kidding. The colon is used for other things as well. Wouldn't it resemble label definition the same way? I mean the argument is just too weak, especially in the context of the preprocessor.

_________________
Faith is a superposition of knowledge and fallacy
Post 11 Jan 2015, 22:28
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 12 Jan 2015, 10:32
l_inc wrote:
Tomasz Grysztar
You've just made it up, haven't you? Smile I'm kidding. The colon is used for other things as well. Wouldn't it resemble label definition the same way? I mean the argument is just too weak, especially in the context of the preprocessor.
The colon is more of a universal separator that gets used in all kinds of name:attribute/content constructions, so I think it is the most appropriate choice here. The equal sign is much more specific.
Post 12 Jan 2015, 10:32
View user's profile Send private message Visit poster's website Reply with quote
l_inc



Joined: 23 Oct 2009
Posts: 881
l_inc 13 Jan 2015, 02:48
Tomasz Grysztar
I'm losing the causal relationship here. If a general and a specific term both fit, then the more specific one fits better. Like "Maine Coon is a cat" fits better, than "Maine Coon is an animal".

_________________
Faith is a superposition of knowledge and fallacy
Post 13 Jan 2015, 02:48
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 13 Jan 2015, 12:13
l_inc wrote:
If a general and a specific term both fit, then the more specific one fits better. Like "Maine Coon is a cat" fits better, than "Maine Coon is an animal".
My opinion is that "=" does not really fit here, because its specificity has already been directed elsewhere in case of fasm. ":" because of its universality is more neutral.
Post 13 Jan 2015, 12:13
View user's profile Send private message Visit poster's website Reply with quote
l_inc



Joined: 23 Oct 2009
Posts: 881
l_inc 13 Jan 2015, 13:11
Tomasz Grysztar
I guess, I'm gonna stick to a thought that you better know here, because I think it's just a bit of polishing rather than an anyhow crucial change. It was just important for me to know that the change does not introduce some unobvious side-effects/capabilities as it was with the ampersand feature.

_________________
Faith is a superposition of knowledge and fallacy
Post 13 Jan 2015, 13:11
View user's profile Send private message Reply with quote
TheRaven



Joined: 22 Apr 2008
Posts: 91
Location: U.S.A.
TheRaven 15 Jan 2015, 12:12
shutdownall wrote:
By the way one question:
Is this feature in the meantime implemented ?
"Save Virtual Block as File"
http://board.flatassembler.net/topic.php?t=16889&postdays=0&postorder=asc&start=20

Or does this (a previous version) allow forward references to access data with load/store directive, defined in an address space not already compiled (allowed forward references on access of data with load/store) ?


Yeah, this feature screams awesome for two main reasons: object file output for a virtual block of code and simplified documentation. Two of the biggest headaches any developer incurs all managed with a single export directive...

I think m3ntal is onto something and agree with shutdownall.

Object and text output for a block takes a label or address and optionally an offset including code up to the offset -- maybe??? At any rate, sounds like a legitimate version 2 feature.

FAsm 2 -- that title sounds bad-ass; I have gone nerd, WTF!

_________________
Nothing so sought and avoided more than the truth.
I'm not insane, I know the voices in my head aren't real!
Post 15 Jan 2015, 12:12
View user's profile Send private message Reply with quote
m3ntal



Joined: 08 Dec 2013
Posts: 296
m3ntal 02 Feb 2015, 04:08
Quote:
This reflects my will to "promote" the ":" setting as opposed to "=". I think that "=" used in these contexts would visually resemble the numeric variable definition a bit too much.
Quote:
The colon is more of a universal separator that gets used in all kinds of name:attribute/content constructions, so I think it is the most appropriate choice here. The equal sign is much more specific.
To solve the problem of being able to differentiate from numeric constants and memory variables, one can always use a prefix for numeric constants (like # or numeric):
Code:
# a=1,b,c          ; constants
numeric d=3,e=7,f  ; constants
integer i,j=1,n    ; memory/variables    
Then = is only reserved in that context and a=b (by itself) can be used for runtime move/copy/load/let.

Idea: Write 2+ DB/DX on the same line to define instructions with sections of different sizes:
Code:
write.code: db prefix, opcode, mode, sib, dd address, number    
Updated: Power-Machine Universal Assembler Specification (POWER.INC)
Post 02 Feb 2015, 04:08
View user's profile Send private message Reply with quote
badc0de02



Joined: 25 Nov 2013
Posts: 215
Location: %x
badc0de02 03 Feb 2015, 00:16
i think assembly ends where the macros begins if your program is coded only in macros or the most of your code.
then better write it in a official high level language....
Post 03 Feb 2015, 00:16
View user's profile Send private message Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 03 Feb 2015, 09:14
badc0de02 wrote:
i think assembly ends where the macros begins if your program is coded only in macros or the most of your code.
then better write it in a official high level language....


That is what I tried to explain to m3ntal, in result achieved hate over 9000 and was blacklisted forever. Laughing
Do you want you in this blacklist? Wink Better, wrote how great is his macro-HLL and how you will use it for everything from now and ever after. Twisted Evil

_________________
Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9
Post 03 Feb 2015, 09:14
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
m3ntal



Joined: 08 Dec 2013
Posts: 296
m3ntal 03 Feb 2015, 15:28
POWER MACHINE ASSEMBLER (SOON, FASMPM) (updated every 1-3+ days)

Much more efficient than Intel32/64+ARM/T1/T2/V8/Java. Just paid for (C) on PM architecture and documents. Started PM assembler+FASMPM.

DISASSEMBLY
Code:
0C0A             push r10
080B             pop r11
0E6EDB           pushm r0-r1,r3-r4,r6-r7,r9-r11,r13-r14
0ADDB6           popm r1-r2,r4-r5,r7-r8,r10-r12,r14-r15
4012             let r1=r2
4147             let r7=1
4107             let r7=0
4187             let r7=0FFFFFFFFh
41C777           let r7=77h
41D71234         let r7=1234h
41E7AABBCC       let r7=0AABBCCh
41F712345678     let r7=12345678h
42720C0F12345678 let r7=r15+12345678h
427ABCDE         let r10=r11+(r12*r13)+r14
42DABCDE         let r10=r11+(r12>>r13)+r14
428ABCFF         let r10=r11+(r12<<1111b)+(111b*4)
429ABCFF12345678 let r10=r11+(r12<<11111b)+12345678h
98AB             add r10, r11
99AB             sub r10, r11
A274             xor r7, 1
BA712345         adc r1, r2+(r3*r4)+r5
BBD12345         sbc r1, r2+(r3>>r4)+r5
BC8123FF         mul r1, r2+(r3<<1111b)+(111b*4)
8E701234         div r1, r2, r3, r4
A7E4             ror r14, 1
B0C12345         and r1, r2+(r3<<r4)+r5
B1D12345         or r1, r2+(r3>>r4)+r5
B2E12345         xor r1, r2+(r3<>>r4)+r5    
As far as I'm concerned, any language that can be represented in binary like this = assembler. In fact, PM is more of an assembler. Abakis is an extremely low-level "ASM macro language" (not "HLL"), access registers, *r pointers (M68K), etc, with HL syntax (looks easy, but it's not), AND it's 100% FASM assembler.

Update: High-endian from now on (AA/BB/CC/DD). Versatile immediates 2/4/5/8/16/24/32BIT use only what's needed. Within 2 weeks, FASMPM with disassembler should be available.
Post 03 Feb 2015, 15:28
View user's profile Send private message Reply with quote
Roman



Joined: 21 Apr 2012
Posts: 1766
Roman 07 Sep 2020, 12:17
Tomasz Grysztar
Quote:

macro tester2 arg*&
macro tester3 [arg=0]

macro tester4 arg=0&

What this mean ?!
And how this using ?
Very interesting.
Post 07 Sep 2020, 12:17
View user's profile Send private message Reply with quote
Roman



Joined: 21 Apr 2012
Posts: 1766
Roman 07 Sep 2020, 12:21
m3ntal
What about FASMPM ?
Post 07 Sep 2020, 12:21
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2, 3, 4

< 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-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.