Skip to content

Commit c8b3c35

Browse files
committed
chore(man): added man-pages
1 parent 5e97411 commit c8b3c35

File tree

1,167 files changed

+270330
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,167 files changed

+270330
-0
lines changed

manx86/aaa.x86

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
'\" t
2+
.nh
3+
.TH "X86-AAA" "7" "May 2019" "TTMO" "Intel x86-64 ISA Manual"
4+
.SH NAME
5+
AAA - ASCII ADJUST AFTER ADDITION
6+
.TS
7+
allbox;
8+
l l l l l l
9+
l l l l l l .
10+
\fBOpcode\fP \fBInstruction\fP \fBOp/En\fP \fB64-bit Mode\fP \fBCompat/Leg Mode\fP \fBDescription\fP
11+
37 AAA ZO Invalid Valid T{
12+
ASCII adjust AL after addition.
13+
T}
14+
.TE
15+
16+
.SH INSTRUCTION OPERAND ENCODING
17+
.TS
18+
allbox;
19+
l l l l l
20+
l l l l l .
21+
\fBOp/En\fP \fBOperand 1\fP \fBOperand 2\fP \fBOperand 3\fP \fBOperand 4\fP
22+
ZO N/A N/A N/A N/A
23+
.TE
24+
25+
.SH DESCRIPTION
26+
Adjusts the sum of two unpacked BCD values to create an unpacked BCD
27+
result. The AL register is the implied source and destination operand
28+
for this instruction. The AAA instruction is only useful when it follows
29+
an ADD instruction that adds (binary addition) two unpacked BCD values
30+
and stores a byte result in the AL register. The AAA instruction then
31+
adjusts the contents of the AL register to contain the correct 1-digit
32+
unpacked BCD result.
33+
34+
.PP
35+
If the addition produces a decimal carry, the AH register increments by
36+
1, and the CF and AF flags are set. If there was no decimal carry, the
37+
CF and AF flags are cleared and the AH register is unchanged. In either
38+
case, bits 4 through 7 of the AL register are set to 0.
39+
40+
.PP
41+
This instruction executes as described in compatibility mode and legacy
42+
mode. It is not valid in 64-bit mode.
43+
44+
.SH OPERATION
45+
.EX
46+
IF 64-Bit Mode
47+
THEN
48+
#UD;
49+
ELSE
50+
IF ((AL AND 0FH) > 9) or (AF = 1)
51+
THEN
52+
AX := AX + 106H;
53+
AF := 1;
54+
CF := 1;
55+
ELSE
56+
AF := 0;
57+
CF := 0;
58+
FI;
59+
AL := AL AND 0FH;
60+
FI;
61+
.EE
62+
63+
.SH FLAGS AFFECTED
64+
The AF and CF flags are set to 1 if the adjustment results in a decimal
65+
carry; otherwise they are set to 0. The OF, SF, ZF, and PF flags are
66+
undefined.
67+
68+
.SH PROTECTED MODE EXCEPTIONS
69+
.TS
70+
allbox;
71+
l l
72+
l l .
73+
\fB\fP \fB\fP
74+
#UD If the LOCK prefix is used.
75+
.TE
76+
77+
.SH REAL-ADDRESS MODE EXCEPTIONS
78+
Same exceptions as protected mode.
79+
80+
.SH VIRTUAL-8086 MODE EXCEPTIONS
81+
Same exceptions as protected mode.
82+
83+
.SH COMPATIBILITY MODE EXCEPTIONS
84+
Same exceptions as protected mode.
85+
86+
.SH 64-BIT MODE EXCEPTIONS
87+
.TS
88+
allbox;
89+
l l
90+
l l .
91+
\fB\fP \fB\fP
92+
#UD If in 64-bit mode.
93+
.TE
94+
95+
.SH SEE ALSO
96+
x86-manpages(7) for a list of other x86-64 man pages.
97+
98+
.SH COLOPHON
99+
This UNOFFICIAL, mechanically-separated, non-verified reference is
100+
provided for convenience, but it may be
101+
incomplete or
102+
broken in various obvious or non-obvious ways.
103+
Refer to Intel® 64 and IA-32 Architectures Software Developer’s Manual
104+
for anything serious.
105+
106+
.br
107+
This page is generated by scripts; therefore may contain visual or semantical bugs. Please report them (or better, fix them) on https://github.com/ttmo-O/x86-manpages.
108+
109+
.br
110+
MIT licensed by TTMO 2025 (Turkish Unofficial Chamber of Reverse Engineers - https://ttmo.re).

manx86/aad.x86

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
'\" t
2+
.nh
3+
.TH "X86-AAD" "7" "May 2019" "TTMO" "Intel x86-64 ISA Manual"
4+
.SH NAME
5+
AAD - ASCII ADJUST AX BEFORE DIVISION
6+
.TS
7+
allbox;
8+
l l l l l l
9+
l l l l l l .
10+
\fBOpcode\fP \fBInstruction\fP \fBOp/En\fP \fB64-bit Mode\fP \fBCompat/Leg Mode\fP \fBDescription\fP
11+
D5 0A AAD ZO Invalid Valid T{
12+
ASCII adjust AX before division.
13+
T}
14+
D5 ib AAD imm8 ZO Invalid Valid T{
15+
Adjust AX before division to number base imm8.
16+
T}
17+
.TE
18+
19+
.SH INSTRUCTION OPERAND ENCODING
20+
.TS
21+
allbox;
22+
l l l l l
23+
l l l l l .
24+
\fBOp/En\fP \fBOperand 1\fP \fBOperand 2\fP \fBOperand 3\fP \fBOperand 4\fP
25+
ZO N/A N/A N/A N/A
26+
.TE
27+
28+
.SH DESCRIPTION
29+
Adjusts two unpacked BCD digits (the least-significant digit in the AL
30+
register and the most-significant digit in the AH register) so that a
31+
division operation performed on the result will yield a correct unpacked
32+
BCD value. The AAD instruction is only useful when it precedes a DIV
33+
instruction that divides (binary division) the adjusted value in the AX
34+
register by an unpacked BCD value.
35+
36+
.PP
37+
The AAD instruction sets the value in the AL register to (AL + (10 *
38+
AH)), and then clears the AH register to 00H. The value in the AX
39+
register is then equal to the binary equivalent of the original unpacked
40+
two-digit (base 10) number in registers AH and AL.
41+
42+
.PP
43+
The generalized version of this instruction allows adjustment of two
44+
unpacked digits of any number base (see the “Operation” section below),
45+
by setting the imm8).
46+
47+
.PP
48+
This instruction executes as described in compatibility mode and legacy
49+
mode. It is not valid in 64-bit mode.
50+
51+
.SH OPERATION
52+
.EX
53+
IF 64-Bit Mode
54+
THEN
55+
#UD;
56+
ELSE
57+
tempAL := AL;
58+
tempAH := AH;
59+
AL := (tempAL + (tempAH ∗ imm8)) AND FFH;
60+
(* imm8 is set to 0AH for the AAD mnemonic.*)
61+
AH := 0;
62+
FI;
63+
The immediate value (imm8) is taken from the second byte of the instruction.
64+
.EE
65+
66+
.SH FLAGS AFFECTED
67+
The SF, ZF, and PF flags are set according to the resulting binary value
68+
in the AL register; the OF, AF, and CF flags are undefined.
69+
70+
.SH PROTECTED MODE EXCEPTIONS
71+
.TS
72+
allbox;
73+
l l
74+
l l .
75+
\fB\fP \fB\fP
76+
#UD If the LOCK prefix is used.
77+
.TE
78+
79+
.SH REAL-ADDRESS MODE EXCEPTIONS
80+
Same exceptions as protected mode.
81+
82+
.SH VIRTUAL-8086 MODE EXCEPTIONS
83+
Same exceptions as protected mode.
84+
85+
.SH COMPATIBILITY MODE EXCEPTIONS
86+
Same exceptions as protected mode.
87+
88+
.SH 64-BIT MODE EXCEPTIONS
89+
.TS
90+
allbox;
91+
l l
92+
l l .
93+
\fB\fP \fB\fP
94+
#UD If in 64-bit mode.
95+
.TE
96+
97+
.SH SEE ALSO
98+
x86-manpages(7) for a list of other x86-64 man pages.
99+
100+
.SH COLOPHON
101+
This UNOFFICIAL, mechanically-separated, non-verified reference is
102+
provided for convenience, but it may be
103+
incomplete or
104+
broken in various obvious or non-obvious ways.
105+
Refer to Intel® 64 and IA-32 Architectures Software Developer’s Manual
106+
for anything serious.
107+
108+
.br
109+
This page is generated by scripts; therefore may contain visual or semantical bugs. Please report them (or better, fix them) on https://github.com/ttmo-O/x86-manpages.
110+
111+
.br
112+
MIT licensed by TTMO 2025 (Turkish Unofficial Chamber of Reverse Engineers - https://ttmo.re).

manx86/aam.x86

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
'\" t
2+
.nh
3+
.TH "X86-AAM" "7" "May 2019" "TTMO" "Intel x86-64 ISA Manual"
4+
.SH NAME
5+
AAM - ASCII ADJUST AX AFTER MULTIPLY
6+
.TS
7+
allbox;
8+
l l l l l l
9+
l l l l l l .
10+
\fBOpcode\fP \fBInstruction\fP \fBOp/En\fP \fB64-bit Mode\fP \fBCompat/Leg Mode\fP \fBDescription\fP
11+
D4 0A AAM ZO Invalid Valid T{
12+
ASCII adjust AX after multiply.
13+
T}
14+
D4 ib AAM imm8 ZO Invalid Valid T{
15+
Adjust AX after multiply to number base imm8.
16+
T}
17+
.TE
18+
19+
.SH INSTRUCTION OPERAND ENCODING
20+
.TS
21+
allbox;
22+
l l l l l
23+
l l l l l .
24+
\fBOp/En\fP \fBOperand 1\fP \fBOperand 2\fP \fBOperand 3\fP \fBOperand 4\fP
25+
ZO N/A N/A N/A N/A
26+
.TE
27+
28+
.SH DESCRIPTION
29+
Adjusts the result of the multiplication of two unpacked BCD values to
30+
create a pair of unpacked (base 10) BCD values. The AX register is the
31+
implied source and destination operand for this instruction. The AAM
32+
instruction is only useful when it follows an MUL instruction that
33+
multiplies (binary multiplication) two unpacked BCD values and stores a
34+
word result in the AX register. The AAM instruction then adjusts the
35+
contents of the AX register to contain the correct 2-digit unpacked
36+
(base 10) BCD result.
37+
38+
.PP
39+
The generalized version of this instruction allows adjustment of the
40+
contents of the AX to create two unpacked digits of any number base (see
41+
the “Operation” section below). Here, the imm8).
42+
43+
.PP
44+
This instruction executes as described in compatibility mode and legacy
45+
mode. It is not valid in 64-bit mode.
46+
47+
.SH OPERATION
48+
.EX
49+
IF 64-Bit Mode
50+
THEN
51+
#UD;
52+
ELSE
53+
tempAL := AL;
54+
AH := tempAL / imm8 is set to 0AH for the AAM mnemonic *)
55+
AL := tempAL MOD imm8;
56+
FI;
57+
The immediate value (imm8) is taken from the second byte of the instruction.
58+
.EE
59+
60+
.SH FLAGS AFFECTED
61+
The SF, ZF, and PF flags are set according to the resulting binary value
62+
in the AL register. The OF, AF, and CF flags are undefined.
63+
64+
.SH PROTECTED MODE EXCEPTIONS
65+
.TS
66+
allbox;
67+
l l
68+
l l .
69+
\fB\fP \fB\fP
70+
#DE T{
71+
If an immediate value of 0 is used.
72+
T}
73+
#UD If the LOCK prefix is used.
74+
.TE
75+
76+
.SH REAL-ADDRESS MODE EXCEPTIONS
77+
Same exceptions as protected mode.
78+
79+
.SH VIRTUAL-8086 MODE EXCEPTIONS
80+
Same exceptions as protected mode.
81+
82+
.SH COMPATIBILITY MODE EXCEPTIONS
83+
Same exceptions as protected mode.
84+
85+
.SH 64-BIT MODE EXCEPTIONS
86+
.TS
87+
allbox;
88+
l l
89+
l l .
90+
\fB\fP \fB\fP
91+
#UD If in 64-bit mode.
92+
.TE
93+
94+
.SH SEE ALSO
95+
x86-manpages(7) for a list of other x86-64 man pages.
96+
97+
.SH COLOPHON
98+
This UNOFFICIAL, mechanically-separated, non-verified reference is
99+
provided for convenience, but it may be
100+
incomplete or
101+
broken in various obvious or non-obvious ways.
102+
Refer to Intel® 64 and IA-32 Architectures Software Developer’s Manual
103+
for anything serious.
104+
105+
.br
106+
This page is generated by scripts; therefore may contain visual or semantical bugs. Please report them (or better, fix them) on https://github.com/ttmo-O/x86-manpages.
107+
108+
.br
109+
MIT licensed by TTMO 2025 (Turkish Unofficial Chamber of Reverse Engineers - https://ttmo.re).

0 commit comments

Comments
 (0)