forked from KolibriOS/kolibrios
remove FASM.TXT duplicates from /data/$(LANG)/docs
add common fasm.txt to fasm/trunk and update Makefiles to copy it git-svn-id: svn://kolibrios.org@4479 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
69834ba166
commit
dcbe9c8b69
@ -552,10 +552,12 @@ include Makefile.nasm
|
||||
# Similar for copying files.
|
||||
include Makefile.copy
|
||||
|
||||
# Special rules for copying sysfuncs.txt - it isn't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCS.TXT
|
||||
# Special rules for copying sysfuncs.txt and fasm.txt - they aren't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCS.TXT $(DOCDIR)FASM.TXT
|
||||
$(DOCDIR)SYSFUNCS.TXT: $(KERNEL)/docs/sysfuncs.txt
|
||||
cp $(KERNEL)/docs/sysfuncs.txt $(DOCDIR)SYSFUNCS.TXT
|
||||
$(DOCDIR)FASM.TXT: $(PROGS)/develop/fasm/trunk/fasm.txt
|
||||
cp $(PROGS)/develop/fasm/trunk/fasm.txt $(DOCDIR)FASM.TXT
|
||||
|
||||
# Similar for C--.
|
||||
include Makefile.cmm
|
||||
|
@ -552,10 +552,12 @@ include Makefile.nasm
|
||||
# Similar for copying files.
|
||||
include Makefile.copy
|
||||
|
||||
# Special rules for copying sysfuncs.txt - it isn't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCS.TXT
|
||||
# Special rules for copying sysfuncs.txt and fasm.txt - they aren't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCS.TXT $(DOCDIR)FASM.TXT
|
||||
$(DOCDIR)SYSFUNCS.TXT: $(KERNEL)/docs/sysfuncs.txt
|
||||
cp $(KERNEL)/docs/sysfuncs.txt $(DOCDIR)SYSFUNCS.TXT
|
||||
$(DOCDIR)FASM.TXT: $(PROGS)/develop/fasm/trunk/fasm.txt
|
||||
cp $(PROGS)/develop/fasm/trunk/fasm.txt $(DOCDIR)FASM.TXT
|
||||
|
||||
# Similar for C--.
|
||||
include Makefile.cmm
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -511,10 +511,12 @@ include Makefile.nasm
|
||||
# Similar for copying files.
|
||||
include Makefile.copy
|
||||
|
||||
# Special rules for copying sysfuncs.txt - it isn't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCS.TXT
|
||||
# Special rules for copying sysfuncs.txt and fasm.txt - they aren't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCS.TXT $(DOCDIR)FASM.TXT
|
||||
$(DOCDIR)SYSFUNCS.TXT: $(KERNEL)/docs/sysfuncs.txt
|
||||
cp $(KERNEL)/docs/sysfuncs.txt $(DOCDIR)SYSFUNCS.TXT
|
||||
$(DOCDIR)FASM.TXT: $(PROGS)/develop/fasm/trunk/fasm.txt
|
||||
cp $(PROGS)/develop/fasm/trunk/fasm.txt $(DOCDIR)FASM.TXT
|
||||
|
||||
# Similar for C--.
|
||||
include Makefile.cmm
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -571,10 +571,12 @@ include Makefile.nasm
|
||||
# Similar for copying files.
|
||||
include Makefile.copy
|
||||
|
||||
# Special rules for copying sysfuncr.txt - it isn't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCR.TXT
|
||||
# Special rules for copying sysfuncr.txt and fasm.txt - they aren't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCR.TXT $(DOCDIR)FASM.TXT
|
||||
$(DOCDIR)SYSFUNCR.TXT: $(KERNEL)/docs/sysfuncr.txt
|
||||
iconv -f utf-8 -t cp866 $(KERNEL)/docs/sysfuncr.txt > $(DOCDIR)SYSFUNCR.TXT
|
||||
$(DOCDIR)FASM.TXT: $(PROGS)/develop/fasm/trunk/fasm.txt
|
||||
cp $(PROGS)/develop/fasm/trunk/fasm.txt $(DOCDIR)FASM.TXT
|
||||
|
||||
# Similar for C--.
|
||||
include Makefile.cmm
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -551,10 +551,12 @@ include Makefile.nasm
|
||||
# Similar for copying files.
|
||||
include Makefile.copy
|
||||
|
||||
# Special rules for copying sysfuncs.txt - it isn't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCS.TXT
|
||||
# Special rules for copying sysfuncs.txt and fasm.txt - they aren't directly included in the image.
|
||||
docpack: $(DOCDIR)SYSFUNCS.TXT $(DOCDIR)FASM.TXT
|
||||
$(DOCDIR)SYSFUNCS.TXT: $(KERNEL)/docs/sysfuncs.txt
|
||||
cp $(KERNEL)/docs/sysfuncs.txt $(DOCDIR)SYSFUNCS.TXT
|
||||
$(DOCDIR)FASM.TXT: $(PROGS)/develop/fasm/trunk/fasm.txt
|
||||
cp $(PROGS)/develop/fasm/trunk/fasm.txt $(DOCDIR)FASM.TXT
|
||||
|
||||
# Similar for C--.
|
||||
include Makefile.cmm
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -438,12 +438,15 @@ the least significant byte of number.
|
||||
The numerical expression used as an address value can also contain any of
|
||||
general registers used for addressing, they can be added and multiplied by
|
||||
appropriate values, as it is allowed for the x86 architecture instructions.
|
||||
The numerical calculations inside address definition by default operate with
|
||||
target size assumed to be the same as the current bitness of code, even if
|
||||
generated instruction encoding will use a different address size.
|
||||
There are also some special symbols that can be used inside the numerical
|
||||
expression. First is "$", which is always equal to the value of current
|
||||
offset, while "$$" is equal to base address of current addressing space. The
|
||||
other one is "%", which is the number of current repeat in parts of code that
|
||||
are repeated using some special directives (see 2.2). There's also "%t"
|
||||
symbol, which is always equal to the current time stamp.
|
||||
are repeated using some special directives (see 2.2) and zero anywhere else.
|
||||
There's also "%t" symbol, which is always equal to the current time stamp.
|
||||
Any numerical expression can also consist of single floating point value
|
||||
(flat assembler does not allow any floating point operations at compilation
|
||||
time) in the scientific notation, they can end with the "f" letter to be
|
||||
@ -475,7 +478,7 @@ while simple "1" defines an integer value.
|
||||
|
||||
The operand of any jump or call instruction can be preceded not only by the
|
||||
size operator, but also by one of the operators specifying type of the jump:
|
||||
"short", "near" of "far". For example, when assembler is in 16-bit mode,
|
||||
"short", "near" or "far". For example, when assembler is in 16-bit mode,
|
||||
instruction "jmp dword [0]" will become the far jump and when assembler is
|
||||
in 32-bit mode, it will become the near jump. To force this instruction to be
|
||||
treated differently, use the "jmp near dword [0]" or "jmp far dword [0]" form.
|
||||
@ -1454,7 +1457,7 @@ computes the sine of that value, "fcos" computes the cosine of that value,
|
||||
value, "frndint" rounds it to the nearest integral value, depending on the
|
||||
current rounding mode. "f2xm1" computes the exponential value of 2 to the
|
||||
power of ST0 and substracts the 1.0 from it, the value of ST0 must lie in the
|
||||
range -1.0 to +1.0. All these instruction store the result in ST0 and have no
|
||||
range -1.0 to +1.0. All these instructions store the result in ST0 and have no
|
||||
operands.
|
||||
"fsincos" computes both the sine and the cosine of the value in ST0
|
||||
register, stores the sine in ST0 and pushes the cosine on the top of FPU
|
||||
@ -1471,7 +1474,7 @@ remainder in the way specified by IEEE Standard 754. "fscale" truncates the
|
||||
value in ST1 and increases the exponent of ST0 by this value. "fxtract"
|
||||
separates the value in ST0 into its exponent and significand, stores the
|
||||
exponent in ST0 and pushes the significand onto the register stack. "fnop"
|
||||
performs no operation. These instruction have no operands.
|
||||
performs no operation. These instructions have no operands.
|
||||
"fxch" exchanges the contents of ST0 an another FPU register. The operand
|
||||
should be an FPU register, if no operand is specified, the contents of ST0 and
|
||||
ST1 are exchanged.
|
||||
@ -1504,7 +1507,7 @@ another FPU register and set the ZF, PF and CF flags according to the results.
|
||||
"fcomip" and "fucomip" additionaly pop the register stack after performing the
|
||||
comparison. The instructions obtained by attaching the FPU condition mnemonic
|
||||
(see table 2.2) to the "fcmov" mnemonic transfer the specified FPU register
|
||||
into ST0 register if the fiven test condition is true. These instruction
|
||||
into ST0 register if the given test condition is true. These instructions
|
||||
allow two different syntaxes, one with single operand specifying the source
|
||||
FPU register, and one with two operands, in that case destination operand
|
||||
should be ST0 register and the second operand specifies the source FPU
|
||||
@ -1533,7 +1536,7 @@ and sets the flags in FPU status word to indicate the class of value in the
|
||||
register. These instructions have no operands.
|
||||
"fstsw" and "fnstsw" store the current value of the FPU status word in the
|
||||
destination location. The destination operand can be either a 16-bit memory or
|
||||
the AX register. "fstsw" checks for pending umasked FPU exceptions before
|
||||
the AX register. "fstsw" checks for pending unmasked FPU exceptions before
|
||||
storing the status word, "fnstsw" does not.
|
||||
"fstcw" and "fnstcw" store the current value of the FPU control word at the
|
||||
specified destination in memory. "fstcw" checks for pending umasked FPU
|
||||
@ -1549,7 +1552,7 @@ FPU state (operating environment and register stack) at the specified
|
||||
destination in memory and reinitializes the FPU. "fsave" check for pending
|
||||
unmasked FPU exceptions before proceeding, "fnsave" does not. "frstor"
|
||||
loads the FPU state from the specified memory location. All these instructions
|
||||
need an operand being a memory location. For each of these instruction
|
||||
need an operand being a memory location. For each of these instructions
|
||||
exist two additional mnemonics that allow to precisely select the type of the
|
||||
operation. The "fstenvw", "fnstenvw", "fldenvw", "fsavew", "fnsavew" and
|
||||
"frstorw" mnemonics force the instruction to perform operation as in the 16-bit
|
||||
@ -1561,12 +1564,12 @@ state. "finit" checks for pending unmasked FPU exception before proceeding,
|
||||
FPU status word. "fclex" checks for pending unmasked FPU exception before
|
||||
proceeding, "fnclex" does not. "wait" and "fwait" are synonyms for the same
|
||||
instruction, which causes the processor to check for pending unmasked FPU
|
||||
exceptions and handle them before proceeding. These instruction have no
|
||||
exceptions and handle them before proceeding. These instructions have no
|
||||
operands.
|
||||
"ffree" sets the tag associated with specified FPU register to empty. The
|
||||
operand should be an FPU register.
|
||||
"fincstp" and "fdecstp" rotate the FPU stack by one by adding or
|
||||
substracting one to the pointer of the top of stack. These instruction have no
|
||||
substracting one to the pointer of the top of stack. These instructions have no
|
||||
operands.
|
||||
|
||||
|
||||
@ -1948,7 +1951,7 @@ operand. "cvtpd2dq" and "cvttpd2dq" convert packed double precision floating
|
||||
point values to packed two double word integers, storing the result in the low
|
||||
quad word of the destination operand. "cvtdq2ps" converts packed four
|
||||
double word integers to packed single precision floating point values.
|
||||
For all these instruction destination operand must be a SSE register, the
|
||||
For all these instructions destination operand must be a SSE register, the
|
||||
source operand can be a 128-bit memory location or SSE register.
|
||||
"cvtdq2pd" converts packed two double word integers from the source operand to
|
||||
packed double precision floating point values, the source can be a 64-bit
|
||||
@ -2050,7 +2053,7 @@ source operand into high quad word of destination operand. "haddpd" performs
|
||||
the addition of two double precision values within each operand, and stores
|
||||
the result from destination operand into low quad word of destination operand,
|
||||
and the result from source operand into high quad word of destination operand.
|
||||
All these instruction need the destination operand to be SSE register, source
|
||||
All these instructions need the destination operand to be SSE register, source
|
||||
operand can be SSE register or 128-bit memory location.
|
||||
"monitor" sets up an address range for monitoring of write-back stores. It
|
||||
need its three operands to be EAX, ECX and EDX register in that order. "mwait"
|
||||
@ -2300,7 +2303,7 @@ packed quad words into the destination register. "pminsb" and "pmaxsb"
|
||||
return the minimum or maximum values of packed signed bytes, "pminuw" and
|
||||
"pmaxuw" return the minimum and maximum values of packed unsigned words,
|
||||
"pminud", "pmaxud", "pminsd" and "pmaxsd" return minimum or maximum values
|
||||
of packed unsigned or signed words. These instruction complement the
|
||||
of packed unsigned or signed words. These instructions complement the
|
||||
instructions computing packed minimum or maximum introduced by SSE.
|
||||
"ptest" sets the ZF flag to one when the result of bitwise AND of the
|
||||
both operands is zero, and zeroes the ZF otherwise. It also sets CF flag
|
||||
@ -2842,7 +2845,7 @@ AVX. They introduce new vector instructions (and sometimes also their SSE
|
||||
equivalents that use classic instruction encoding), and even some new
|
||||
instructions operating on general registers that use the AVX-like encoding
|
||||
allowing the extended syntax with separate destination and source operands.
|
||||
The CPU support for each of these instruction sets needs to be determined
|
||||
The CPU support for each of these instructions sets needs to be determined
|
||||
separately.
|
||||
The AES extension provides a specialized set of instructions for the
|
||||
purpose of cryptographic computations defined by Advanced Encryption Standard.
|
||||
@ -2964,7 +2967,7 @@ unsigned quad words. The respective values from the first and second source
|
||||
are compared and the corresponding data element in destination is set to
|
||||
either all ones or all zeros depending on the result of comparison. The fourth
|
||||
operand has to specify one of the eight comparison types (table 2.5). All
|
||||
these instruction have also variants with only three operands and the type
|
||||
these instructions have also variants with only three operands and the type
|
||||
of comparison encoded within the instruction name by inserting the comparison
|
||||
mnemonic after "vpcom".
|
||||
|
||||
@ -3021,7 +3024,7 @@ from the first and second source and then add the products to the parallel
|
||||
values from the third source, then "vpmacsww" takes the lowest 16 bits of the
|
||||
result and "vpmacssww" saturates the result down to 16-bit value, and they
|
||||
store the final 16-bit results in the destination. "vpmacsdd" and "vpmacssdd"
|
||||
perform the analogous operation on 32-bit values. "vpmacswd" and "vpmacswd" do
|
||||
perform the analogous operation on 32-bit values. "vpmacswd" and "vpmacsswd" do
|
||||
the same calculation only on the low 16-bit values from each 32-bit block and
|
||||
form the 32-bit results. "vpmacsdql" and "vpmacssdql" perform such operation
|
||||
on the low 32-bit values from each 64-bit block and form the 64-bit results,
|
||||
@ -3703,7 +3706,7 @@ while it will itself define "alpha" when it's not already defined earlier, thus
|
||||
potentially causing the error because of double definition if the "alpha" is
|
||||
also defined somewhere later.
|
||||
The "used" operator may be expected to behave in a similar manner in
|
||||
analogous cases, however any other kinds of predictions my not be so simple and
|
||||
analogous cases, however any other kinds of predictions may not be so simple and
|
||||
you should never rely on them this way.
|
||||
The "err" directive, usually used to stop the assembly when some condition is
|
||||
met, stops the assembly immediately, regardless of whether the current pass
|
||||
@ -4615,7 +4618,7 @@ from the resource file, it can be achieved by writing the "from" operator and
|
||||
quoted file name after the "resource" identifier. Below are the examples of
|
||||
sections containing some special PE data:
|
||||
|
||||
section '.reloc' data discardable fixups
|
||||
section '.reloc' data readable discardable fixups
|
||||
section '.rsrc' data readable resource from 'my.res'
|
||||
|
||||
"entry" directive sets the entry point for Portable Executable, the value of
|
Loading…
Reference in New Issue
Block a user