x86 Assembly Language Reference Manual
  Cerca solo questo libro
Scarica il manuale in formato PDF

Index

A

addresses162
addressing mode
.....base and index13
.....offset13
.....scale13
.....segment register13
as command167
assembler (as)
.....addition instructions129
.....arithmetic logical instructions38 to 55
.....bit instructions100 to 103
.....byte instructions118 to 120
.....comparison instructions138 to 140
.....constant instructions143 to 145
.....conversion instructions62 to 64
.....coprocessor instructions69
.....decimal arithmetic instructions64 to 68
.....division instructions133 to 134
.....exchange instructions103, 120
.....expressions6, 14
.....flag instructions32 to 38
.....floating point comparisoninstructions106 to 107
.....floating point constant
............instructions105
floating point opcode errors135
floating point transcendentalinstructions104
I/O instructions29
immediate values14
input format2 to 4
instruction descriptions12 to 25
.....addressing modes13 to 14
instructions
.....addition
............fadd()129
............faddp()129
............fiadd()129
.....arithmetic logical
............adc()39
............add()38
............and()52
............bound()51
............cmp()42
............dec()44
............inc()43
............neg()50
............not()50
............or()54
.................sal()46
.................sar()46
.................sbb()41
.................shl()46
.................shld()48
.................shr()46
.................shrd()49
.................sub()40
.................test()45
.................xor()55
...........arithmetic/logical38
...........bit
.................bsf()100
.................bsr()100
.................bt()101
.................btc()102
.................btr()102
.................bts()103
...........byte
.................bswap()120
.................setcc()118
...........comparison
.................fcom()138
.................fcomp()139
.................fcompp()139
.................ficom()139
.................ficomp()140
.................ftst()140
.................fxam()140
...........constant
.................fldl2e()143
.................fldl2t()143
.................fldlg2()144
.................fldln2()144
.................fldpi()144
.................fldz()145
...........conversion62
............cbtw()62
............cltd()64
............cwtd()63
............cwtl()63
......coprocessor69
............fwait()69
............wait()69
......decimal arithmetic64
............aaa()65
............aad()68
............aam()67
............aas()66
............daa()64
............das()65
......division
............fdiv()133
............fdivr()133
............fdivrp()134
............fidiv()134
............fidivr()134, 135
......exchange
............cmpxchg()103
............xadd()120
............xchg()120
......flag
............clc()35
............cld()37
............cli()36
............cmc()35
............lahf()32
............popf()33
............pushf()34
............sahf()33
............stc()36
............std()38
............sti()37
......floating point comparison
.................fucom()106
.................fucomp()107
.................fucompp()107
...........floating point constant
.................fld1()105
.................fld12+()105
.................fld12e()105
.................fldlg2()105
.................fldln2()105
.................fldpi()105
.................fldz()105
...........floating point transcendental
.................fcos()104
.................fsin()104
.................fsincos()104
...........I/O29
.................in()29
.................ins()29
.................out()31
.................outs()31
...........integer transfer
.................fild()127
.................fist()127
.................fistp()127
...........interrupt
.................int()87
.................into()87
.................iret()89
...........jump
.................jcc()85
.................jcxz()83
.................jmp()85
.................ljmp()85
.................loop()84
.................loope()84
.................loopne()84
.................loopnz()84
............loopz()84
......load and move
............lea()108
............mov()109, 110, 111
............movsb()112
............movsbwl()112
............movw()109
............movzwl()112
......load full pointer
............lds()26
............les()26
............lfs()26
............lgs()26
............lss()26
......miscellaneous122
............hlt()124
............invd()122
............invlp()122
............lock()122
............nop()123
............wbinvd()121
......miscellaneous arithmeticoperations
............fabs()137
............fchs()138
............fprem()136
............frndint()137
............fscale()136
............fsqrt()136
............fxtract()137
......miscellaneous floating point
............fprem1()106
......multiply
............fimul()132
............fmul()132
............fmulp()132
......multiply and divide
.................div()60
.................idiv()61
.................imul()57
.................imulb()57
.................mul()58
...........packed decimal transfer
.................fbld()128
.................fbst()128
...........pop
.................popa()113
...........pop stack into word
.................pop()27
...........procedure call78
...........procedure call and return
.................call()79
.................enter()82
.................lcall()78
.................leave()83
.................lret()81
.................ret()80
...........processor control
.................fclex()148
.................fdecstp()148
.................ffree()148
.................fincstp()149
.................finit()145
.................fnclex()148
.................fninit()145
.................fnop()145
.................fnsave()146
.................fnstcw()146
.................fnstenv()146
.................fnstsw()147
.................frstor()147
.................fsave()146
.................fstcw()146
.................fstenv()146
............fstsw()147
............wait()147
......processor control floating point
............fldcw()105
............fldenv()106
......protection model90 to 98
............arpl()99
............lar()96
............lgdt()94
............lidt()94
............lldt()91
............lmsw()96
............lsl()97
............ltr()92
............sgdt()93
............sidt()93
............sldt()90
............smsw()95
............str()90
............verr()92
............verw()92
......push
............pusha()114
......push stack into word
............push()28
......real transfer
............fld()125
............fst()125
............fstp()126
............fxch()126
......return78
......rotate
............rcl()114
............rcr()115
............rol()116
............ror()117
......string69 to 77
.................cmps()71
.................lods()73
.................movs()70
.................rep()77
.................repnz()77
.................repz()77
.................scas()75
.................stos()72
.................xlat()76
...........subtraction
.................fisubr()131
.................fisubrp()131
.................fsub()130
.................fsubr()130
.................fsubrp()131
.................subp()130
...........transcendental
.................f2xm1()142
.................fptan()141, 142
.................fyl2x()142
.................fyl2xp1()143
....integer transfer instructions127
....interrupt instructions87 to 89
....jump instructions83 to 85
....load and move instructions108 to 112
....miscellaneous arithmeticoperations136 to 138
....miscellaneous instructions121 to 124
....mnemonics
...........addition129
...........arithmetic136
....multiplication instructions132
....multiply and divide instructions56 to 61
....object file
............comment section6
....operands
...........immediate10
...........memory10
............overview10
............register10
.....operations, dbx pseudo20
.....operations, general pseudo14 to 18
.....operators6
.....other floating point instructions106
.....packed decimal transferinstructions128
.....pop instructions113
.....procedure call and returninstructions78 to 83
.....process control floating pointinstructions105 to 106
.....processor control instructions145 to 149
.....protection model instructions90 to 99
.....push instructions114
.....real transfer instructions125 to 126
.....rotate instructions114 to 117
.....segment register instructions26 to 28
.....statements
............assignment3
............empty3
............machine operation3
............modifying3
............pseudo operation3
.....string instructions69 to 77
.....subtraction instructions130 to 131
.....SunOS vs. Intel, mnemonics21 to 149
............notational coventions23
.....symbols4
.....syntax rules7 to 10
.....transcendental instructions141 to 143
.....types4 to 5
.....values4 to 5
assembler command line167
assembler command line options168
assembly language1

C

cc language driver167
command line options
.....-D168
.....-lpath168
.....-m168
.....-ooutfile168
.....-P169
.....-Q169
.....-s169
.....-Uname169
.....-V169

D

default output file152
dis program169
disassembling object code169

E

ELF header
.....e_ehsize154
.....e_entry153
.....e_flag154
.....e_ident153
.....e_machine153
.....e_phentsize154
.....e_phnum154
.....e_phoff154
.....e_shentsize154
.....e_shnum154
.....e_shoff154
.....e_shstrndx155
.....e_type153
.....e_version153
ELF section159
.....predefined non-user section161
.....predefined user section160
ELF section header
.....sh_addr156
.....sh_addralign156
.....sh_entsize157
.....sh_flags156
.....sh_info156
.....sh_link156
.....sh_name155
.....sh_offset156
.....sh_size156
.....sh_type155
ELF string table164
ELF symbol table162
.....st_info163
.....st_name163
.....st_other163
.....st_shndx163
.....st_size163
.....st_value163
expression
.....absolute9
.....relocatable9

F

f77 language driver167
fbe command167
.file16

G

.globl16

H

hyphen (-)168

I

-I option168
instructions
.....addition
............fadd()129
............faddp()129
...........fiadd()129
....arithmetic logical
...........adc()39
...........add()38
...........and()52
...........bound()51
...........cmp()42
...........dec()44
...........inc()43
...........neg()50
...........not()50
...........or()54
...........sal()46
...........sar()46
...........sbb()41
...........shl()46
...........shld()48
...........shr()46
...........shrd()49
...........sub()40
...........test()45
...........xor()55
....bit
...........bsf()100
...........bsr()100
...........bt()101
...........btc()102
...........btr()102
...........bts()103
....byte
...........bswap()120
...........setcc()118
....comparison
...........fcom()138
...........fcomp()139
...........fcompp()139
...........ficom()139
...........ficomp()140
...........ftst()140
...........fxam()140
....constant
...........fldl2e()143
...........fldl2t()143
...........fldlg2()144
...........fldln2()144
...........fldpi()144
............fldz()145
.....conversion
............cbtw()62
............cltd()64
............cwtd()63
............cwtl()63
.....coprocessor
............fwait()69
............wait()69
.....decimal arithmetic
............aaa()65
............aad()68
............aam()67
............aas()66
............daa()64
............das()65
.....division
............fdiv()133
............fdivr()133
............fdivrp()134
............fidiv()134
............fidivr()134, 135
.....exchange
............cmpxchg()103
............xadd()120
............xchg()120
.....flag
............clc()35
............cld()37
............cli()36
............cmc()35
............lahf()32
............popf()33
............pushf()34
............sahf()33
............stc()36
............std()38
............sti()37
.....floating point comparison
............fucom()106
............fucomp()107
............fucompp()107
.....floating point constant
............fld1()105
............fld12+()105
............fld12e()105
............fldlg2()105
............fldln2()105
............fldpi()105
............fldz()105
.....floating point transcendental
............fcos()104
............fsin()104
............fsincos()104
.....I/O
............in()29
............ins()29
............out()31
............outs()31
.....integer transfer
............fild()127
............fist()127
............fistp()127
.....interrupt
............int()87
............into()87
............iret()89
.....jump
............jcc()85
............jcxz()83
............jmp()85
............ljmp()85
............loop()84
............loope()84
............loopne()84
............loopnz()84
............loopz()84
.....load and move
............lea()108
............mov()109, 110, 111
............movsb()112
............movsbwl()112
............movw()109
............movzwl()112
.....load full pointer
............lds()26
............les()26
............lfs()26
............lgs()26
............lss()26
.....miscellaneous
............hlt()124
............invd()122
............invlp()122
............lock()122
............nop()123
............wbinvd()121
.....miscellaneous arithmetic operations
............fabs()137
............fchs()138
............fprem()136
............frndint()137
............fscale()136
............fsqrt()136
............fxtract()137
.....miscellaneous floating point
............fprem1()106
.....multiply
............fimul()132
............fmul()132
............fmulp()132
.....multiply and divide
............div()60
............idiv()61
............imul()57
............imulb()57
............mul()58
.....packed decimal transfer
............fbld()128
............fbst()128
.....pop
............popa()113
.....pop stack into word
............pop()27
.....procedure call and return
............call()79
............enter()82
............lcall()78
............leave()83
............lret()81
............ret()80
.....processor control
............fclex()148
............fdecstp()148
............ffree()148
............fincstp()149
............finit()145
............fnclex()148
...........fninit()145
...........fnop()145
...........fnsave()146
...........fnstcw()146
...........fnstenv()146
...........fnstsw()147
...........frstor()147
...........fsave()146
...........fstcw()146
...........fstenv()146
...........fstsw()147
...........wait()147
....processor control floating point
...........fldcw()105
...........fldenv()106
....protection model
...........arpl()99
...........lar()96
...........lgdt()94
...........lidt()94
...........lldt()91
...........lmsw()96
...........lsl()97
...........ltr()92
...........sgdt()93
...........sidt()93
...........sldt()90
...........smsw()95
...........str()90
...........verr()92
...........verw()92
....push
...........pusha()114
....push stack into word
...........push()28
....real transfer
...........fld()125
...........fst()125
...........fstp()126
...........fxch()126
....rotate
...........rcl()114
...........rcr()115
...........rol()116
...........ror()117
....string
............cmps()71
............lods()73
............movs()70
............rep()77
............repnz()77
............repz()77
............scas()75
............stos()72
............xlat()76
.....subtraction
............fisubr()131
............fisubrp()131
............fsub()130
............fsubr()130
............fsubrp()131
............subp()130
.....transcendental
............f2xm1()142
............fptan()141, 142
............fyl2x()142
............fyl2xp1()143
invoking,as command167

L

language drivers167
.local17

M

-m option168
machine instruction syntax10
.....derived type information10
.....destination operand10
.....register name10
.....source operand10
multiple files, onas command line168
multiple sections160
multiple strings, in string table165

N

.nonvolatile17
notational conventions
.....condition codes25
.....control register24
.....distance of relative jump25
.....immediate pointer25
.....immediate value24
.....memory operand24

O

operands
.....byte register11
.....long register12
.....segment register12
.....word register11
operations, general pseudo14
......align val14
......bcd val15
......bss15
......bss tag, bytes15
......byte val15
......comm name, expr15
......data15
......double val15
......even15
options
.....command line168

P

-P option169
predefined non-user sections161
predefined user sections160
Programming Utilities - SunOS 5.0xviii
pseudo-operations14

Q

-Q option169

R

relocatable files151
relocation tables162

S

-s option169
.section17
section header155
sections159
statements
.....append comment3, ?? to 4
.....assignment3
.....empty3
.....label prefix3
.....machine operation3
.....pseudo operation3
string tables164
strings
.....multiple references in stringtable165
.....unreferenced in string table165
strings, multiple in string table165
sub-strings in string table
.....references to165
symbol19
symbol tables162
symbol types
.....absolute5
.....attribute5
.....bss5
.....data5
.....object file sections6
.....text5
.....undefined5
symbol, reserved
......bss4
......data4
......fini5
......init5
......text4

U

-U option169

V

-V option169
.volatile18

W

.weak18