flat assembler
Message board for the users of flat assembler.
Index
> Compiler Internals > 07 dup 80*60*2 - value out of range? bug? |
Author |
|
MazeGen 07 Feb 2006, 13:07
You mess the syntax up. You should use
Code: 80*60*2 dup (07) |
|||
07 Feb 2006, 13:07 |
|
vid 07 Feb 2006, 13:20
i never comprehended this stupid MASMy syntax... FASM's times is much clearer (but much slower if not internally optizimed...)
|
|||
07 Feb 2006, 13:20 |
|
MazeGen 07 Feb 2006, 13:31
It is not so stupid for me:
<how many times> DUPlicate <what> |
|||
07 Feb 2006, 13:31 |
|
vid 07 Feb 2006, 13:43
nice, but in real use:
<type of what> <how many times> DUPlicate <value of what> db 5 dup 6 seems less logical. Not talking about repeating structures or whatever... If I have structure POINT, which consists of two words, and i want to declare 5 zeroed POINTs, then due to last example it is POINT 5 dup (0,0) ... ??? |
|||
07 Feb 2006, 13:43 |
|
Tomasz Grysztar 07 Feb 2006, 13:47
I rather see it as:
DB <how many> DUPlicates of <what> |
|||
07 Feb 2006, 13:47 |
|
tom tobias 07 Feb 2006, 17:12
In my opinion, this syntax is obsolete, developed originally in the 1970's when SPACE SAVINGS was PARAMOUNT. So, to save space, one was obliged to DB, DEFINE BYTE, or, specify the dimension, in bits, of a particular component of a data structure.
Of course, if one is engaged in MODERN thinking, MEMORY is a LOT CHEAPER than programming time, therefore, ONE deliberately SQUANDERS memory, (wastes it), BY ASSIGNING ALL VARIABLES to the same (32 bit) space, regardless of whether or not one actually uses only 8 bits, or, for that matter, only 1 bit. Therefore, a MODERN Assembler, ought to possess a default setting which ASSUMES every data element to be the same 32 bit size. Of course, many will object to this--particularly those who deal with 64 bit operands, or floating point variables (80 bits), or those who use the newer 128 bit registers. I don't insist that a USEFUL assembler MUST process all data as exclusively 32 bits, excluding all other possibilities, I simply ask that a modern assembler ASSUME a default setting of 32 bits, so that ONLY use of any other dimension requires an explicit designation by the programmer. |
|||
07 Feb 2006, 17:12 |
|
a16b03 07 Feb 2006, 21:31
This was stupid mistake.
thanks |
|||
07 Feb 2006, 21:31 |
|
RedGhost 11 Feb 2006, 05:31
tom tobias wrote: In my opinion, this syntax is obsolete, developed originally in the 1970's when SPACE SAVINGS was PARAMOUNT. So, to save space, one was obliged to DB, DEFINE BYTE, or, specify the dimension, in bits, of a particular component of a data structure. sorry but i think that is a terrible idea being an assembler programming i often make use of 8,16,32,64bit because i try to be as optimized as possible _________________ redghost.ca |
|||
11 Feb 2006, 05:31 |
|
FrozenKnight 11 Feb 2006, 11:27
If you want to start assumeing stuff go learn a programming language like C or C++. ASM is a language where you have full controll over what is going on.
|
|||
11 Feb 2006, 11:27 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.