Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1115 → Rev 1189

/programs/develop/fasm/trunk/WHATSNEW.TXT
2,6 → 2,57
Visit http://flatassembler.net/ for more information.
 
 
version 1.69.06 (Sep 29, 2009)
 
[-] The prefix 67h for "jecxz" and "loopd" instructions in 64-bit mode wasn't
correctly generated - fixed.
 
[-] It's no longer possible to define two special segments of the same type
in ELF executables.
 
 
version 1.69.05 (Sep 14, 2009)
 
[+] Allowed to specify branding value (use 3 for Linux) after the
"format ELF executable" setting.
 
[+] Added "intepreter", "dynamic" and "note" keywords for creation of
special segments in ELF executables.
 
 
version 1.69.04 (Sep 7, 2009)
 
[-] Fixed a bug with REX prefix generation with address of type "rX+rsp".
 
 
version 1.69.03 (Aug 03, 2009)
 
[+] Allowed simplified syntax for "monitor", "mwait", "blendvps", "blendvpd" and
"pblendvb" instructions.
 
 
version 1.69.02 (Jul 04, 2009)
 
[-] Minor bugfixes.
 
 
version 1.69.01 (Jul 01, 2009)
 
[+] Added "movbe" instruction.
 
[-] "extractps" no longer generates the double 66h prefix.
 
 
version 1.69.00 (Jun 23, 2009)
 
[+] Extended the syntax of "rept" directive to allow numerical expressions
to be calculated by preprocessor in its arguments.
 
[-] The code of assembler (but not data) has been made position-independent, and
this allowed to use code segmentation in DOS unREAL mode, so the code is
no longer limited to 64 kilobytes.
 
 
version 1.68 (Jun 13, 2009)
 
[+] Added SSSE3 (Supplemental SSE3), SSE4.1, SSE4.2 and SSE4a instructions.
/programs/develop/fasm/trunk/assemble.inc
115,7 → 115,12
or eax,eax
jz assemble_ok
mov [current_line],eax
jmp near [error]
call error_handler
error_handler:
mov eax,[error]
sub eax,error_handler
add [esp],eax
ret
next_pass:
inc [current_pass]
mov ax,[current_pass]
359,11 → 364,13
mov dword [operand_size],0
mov [opcode_prefix],0
mov [immediate_size],0
call instruction_handler
instruction_handler:
movzx ebx,word [esi]
mov al,[esi+2]
add ebx,assembler
add esi,3
jmp near ebx
add [esp],ebx
ret
instruction_assembled:
mov al,[esi]
cmp al,0Fh
894,7 → 901,7
mov byte [org_registers+2],ch
mov byte [org_registers+3],cl
call allocate_structure_data
mov word [ebx],virtual_directive-assembler
mov word [ebx],virtual_directive-instruction_handler
not eax
not edx
add eax,1
993,7 → 1000,7
je zero_repeat
jl negative_repeat
call allocate_structure_data
mov word [ebx],repeat_directive-assembler
mov word [ebx],repeat_directive-instruction_handler
xchg eax,[counter_limit]
mov [ebx+10h],eax
mov eax,1
1038,7 → 1045,7
jmp instruction_assembled
find_end_repeat:
call find_structure_end
cmp ax,repeat_directive-assembler
cmp ax,repeat_directive-instruction_handler
jne unexpected_instruction
ret
while_directive:
1045,7 → 1052,7
cmp [prefixed_instruction],0
jne unexpected_instruction
call allocate_structure_data
mov word [ebx],while_directive-assembler
mov word [ebx],while_directive-instruction_handler
mov eax,1
xchg eax,[counter]
mov [ebx+10h],eax
1085,7 → 1092,7
jmp do_while
find_end_while:
call find_structure_end
cmp ax,while_directive-assembler
cmp ax,while_directive-instruction_handler
jne unexpected_instruction
ret
if_directive:
1105,7 → 1112,7
mov al,[esi]
cmp al,1
jne else_true
cmp word [esi+1],if_directive-assembler
cmp word [esi+1],if_directive-instruction_handler
jne else_true
add esi,4
jmp if_directive
1113,7 → 1120,7
xor al,al
make_if_structure:
call allocate_structure_data
mov word [ebx],if_directive-assembler
mov word [ebx],if_directive-instruction_handler
mov byte [ebx+2],al
mov eax,[current_line]
mov [ebx+4],eax
1128,7 → 1135,7
else_directive:
cmp [prefixed_instruction],0
jne unexpected_instruction
mov ax,if_directive-assembler
mov ax,if_directive-instruction_handler
call find_structure_data
jc unexpected_instruction
cmp byte [ebx+2],0
1137,7 → 1144,7
mov al,[esi]
cmp al,1
jne skip_else
cmp word [esi+1],if_directive-assembler
cmp word [esi+1],if_directive-instruction_handler
jne skip_else
add esi,4
call find_else
1161,9 → 1168,9
jmp instruction_assembled
find_else:
call find_structure_end
cmp ax,else_directive-assembler
cmp ax,else_directive-instruction_handler
je else_found
cmp ax,if_directive-assembler
cmp ax,if_directive-instruction_handler
jne unexpected_instruction
stc
ret
1172,7 → 1179,7
ret
find_end_if:
call find_structure_end
cmp ax,if_directive-assembler
cmp ax,if_directive-instruction_handler
jne unexpected_instruction
ret
find_structure_end:
1195,28 → 1202,28
cmp byte [esi],1
jne find_end_directive
mov ax,[esi+1]
cmp ax,prefix_instruction-assembler
cmp ax,prefix_instruction-instruction_handler
je find_end_directive
add esi,4
cmp ax,repeat_directive-assembler
cmp ax,repeat_directive-instruction_handler
je skip_repeat
cmp ax,while_directive-assembler
cmp ax,while_directive-instruction_handler
je skip_while
cmp ax,if_directive-assembler
cmp ax,if_directive-instruction_handler
je skip_if
cmp ax,else_directive-assembler
cmp ax,else_directive-instruction_handler
je structure_end
cmp ax,end_directive-assembler
cmp ax,end_directive-instruction_handler
jne find_end_directive
cmp byte [esi],1
jne find_end_directive
mov ax,[esi+1]
add esi,4
cmp ax,repeat_directive-assembler
cmp ax,repeat_directive-instruction_handler
je structure_end
cmp ax,while_directive-assembler
cmp ax,while_directive-instruction_handler
je structure_end
cmp ax,if_directive-assembler
cmp ax,if_directive-instruction_handler
jne find_end_directive
structure_end:
pop [error_line]
1239,7 → 1246,7
jc if_block_skipped
cmp byte [esi],1
jne skip_after_else
cmp word [esi+1],if_directive-assembler
cmp word [esi+1],if_directive-instruction_handler
jne skip_after_else
add esi,4
jmp skip_if_block
1253,15 → 1260,15
jne invalid_argument
lods word [esi]
inc esi
cmp ax,virtual_directive-assembler
cmp ax,virtual_directive-instruction_handler
je end_virtual
cmp ax,repeat_directive-assembler
cmp ax,repeat_directive-instruction_handler
je end_repeat
cmp ax,while_directive-assembler
cmp ax,while_directive-instruction_handler
je end_while
cmp ax,if_directive-assembler
cmp ax,if_directive-instruction_handler
je end_if
cmp ax,data_directive-assembler
cmp ax,data_directive-instruction_handler
je end_data
jmp invalid_argument
break_directive:
1275,11 → 1282,11
cmp ebx,[additional_memory_end]
je unexpected_instruction
mov ax,[ebx]
cmp ax,repeat_directive-assembler
cmp ax,repeat_directive-instruction_handler
je break_repeat
cmp ax,while_directive-assembler
cmp ax,while_directive-instruction_handler
je break_while
cmp ax,if_directive-assembler
cmp ax,if_directive-instruction_handler
je break_if
add ebx,20h
jmp find_breakable_structure
1688,6 → 1695,7
pop ebx
mov edx,eax
sub [esp],edx
jc value_out_of_range
position_ok:
cmp byte [esi],','
jne size_ok
1700,6 → 1708,8
push ebx edx
call get_dword_value
pop edx ebx
cmp eax,[esp]
ja value_out_of_range
mov [esp],eax
size_ok:
xor al,al
/programs/develop/fasm/trunk/expressi.inc
76,8 → 76,18
 
convert_number:
lea eax,[edi-10h]
cmp eax,[labels_list]
mov edx,[memory_end]
cmp [source_start],0
je check_memory_for_number
mov edx,[labels_list]
check_memory_for_number:
cmp eax,edx
jae out_of_memory
mov eax,esp
sub eax,100h
jc stack_overflow
cmp eax,[stack_limit]
jb stack_overflow
cmp byte [esi],'('
je expression_value
inc edi
111,11 → 121,6
scas word [edi]
ret
expression_value:
mov eax,esp
sub eax,100h
jc stack_overflow
cmp eax,[stack_limit]
jb stack_overflow
inc esi
push [current_offset]
call convert_expression
125,6 → 130,8
jne invalid_expression
ret
symbol_value:
cmp [source_start],0
je preprocessor_value
push edi
mov edi,address_registers
call get_operator
153,6 → 160,23
mov byte [edi-1],10h
stos byte [edi]
ret
preprocessor_value:
dec edi
lods byte [esi]
cmp al,1Ah
jne invalid_value
lods byte [esi]
mov cl,al
mov ch,10b
call get_preprocessor_symbol
jc invalid_value
push esi
mov esi,[edx+8]
push [current_offset]
call convert_expression
pop [current_offset]
pop esi
ret
 
get_number:
xor ebp,ebp
1043,7 → 1067,12
jmp calculation_loop
timestamp_label:
call make_timestamp
jmp make_dword_label_value
make_qword_label_value:
stos dword [edi]
mov eax,edx
stos dword [edi]
add edi,0Ch
jmp calculation_loop
predefined_label:
or eax,eax
jz current_offset_label
/programs/develop/fasm/trunk/formats.inc
133,7 → 133,7
mov [edi],ecx
or dword [edi+4],-1
sub edi,ecx
cmp edi,[esp]
cmp edi,[current_offset]
jbe out_of_memory
mov [display_buffer],edi
mov esi,[memory_end]
1301,7 → 1301,7
or ecx,ecx
jnz data_already_defined
call allocate_structure_data
mov word [ebx],data_directive-assembler
mov word [ebx],data_directive-instruction_handler
mov [ebx+2],al
mov edx,[current_line]
mov [ebx+4],edx
3591,6 → 3591,18
format_elf_exe:
add esi,2
or [format_flags],1
cmp byte [esi],'('
jne elf_exe_brand_ok
inc esi
cmp byte [esi],'.'
je invalid_value
push edx
call get_byte_value
cmp [value_type],0
jne invalid_use_of_symbol
pop edx
mov [edx+7],al
elf_exe_brand_ok:
mov [image_base],8048000h
cmp byte [esi],80h
jne elf_exe_base_ok
3643,6 → 3655,18
format_elf64_exe:
add esi,2
or [format_flags],1
cmp byte [esi],'('
jne elf64_exe_brand_ok
inc esi
cmp byte [esi],'.'
je invalid_value
push edx
call get_byte_value
cmp [value_type],0
jne invalid_use_of_symbol
pop edx
mov [edx+7],al
elf64_exe_brand_ok:
mov [image_base],400000h
mov [image_base_high],0
cmp byte [esi],80h
3748,6 → 3772,8
mov byte [ebx],1
mov word [ebx+1Ch],1000h
elf_segment_flags:
cmp byte [esi],1Eh
je elf_segment_type
cmp byte [esi],19h
jne elf_segment_flags_ok
lods word [esi]
3766,6 → 3792,25
jnz setting_already_specified
or [ebx+18h],ah
jmp elf_segment_flags
elf_segment_type:
cmp byte [ebx],1
jne setting_already_specified
lods word [esi]
mov ecx,[number_of_sections]
jecxz elf_segment_type_ok
mov edx,[code_start]
add edx,34h
scan_elf_segment_types:
cmp edx,[symbols_stream]
jae elf_segment_type_ok
cmp [edx],ah
je data_already_defined
add edx,20h
loop scan_elf_segment_types
elf_segment_type_ok:
mov [ebx],ah
mov word [ebx+1Ch],1
jmp elf_segment_flags
elf_segment_flags_ok:
mov eax,edi
sub eax,[code_start]
3824,8 → 3869,11
sub eax,edx
mov [ebx+10h],eax
mov eax,[ebx+8]
cmp byte [ebx],1
jne elf_segment_position_ok
add eax,[ebx+14h]
add eax,0FFFh
elf_segment_position_ok:
and eax,not 0FFFh
ret
elf64_segment:
3850,6 → 3898,8
mov byte [ebx],1
mov word [ebx+30h],1000h
elf64_segment_flags:
cmp byte [esi],1Eh
je elf64_segment_type
cmp byte [esi],19h
jne elf64_segment_flags_ok
lods word [esi]
3868,6 → 3918,25
jnz setting_already_specified
or [ebx+4],ah
jmp elf64_segment_flags
elf64_segment_type:
cmp byte [ebx],1
jne setting_already_specified
lods word [esi]
mov ecx,[number_of_sections]
jecxz elf64_segment_type_ok
mov edx,[code_start]
add edx,40h
scan_elf64_segment_types:
cmp edx,[symbols_stream]
jae elf64_segment_type_ok
cmp [edx],ah
je data_already_defined
add edx,38h
loop scan_elf64_segment_types
elf64_segment_type_ok:
mov [ebx],ah
mov word [ebx+30h],1
jmp elf64_segment_flags
elf64_segment_flags_ok:
mov ecx,edi
sub ecx,[code_start]
3929,17 → 3998,16
mov [ebx+20h],eax
mov eax,[ebx+10h]
mov edx,[ebx+10h+4]
cmp byte [ebx],1
jne elf64_segment_position_ok
add eax,[ebx+28h]
adc edx,0
sub eax,1
sbb edx,0
shrd eax,edx,12
shr edx,12
add eax,1
add eax,0FFFh
adc edx,0
shld edx,eax,12
shl eax,12
elf64_segment_position_ok:
and eax,not 0FFFh
ret
 
close_elf_exe:
test [format_flags],8
jnz close_elf64_exe
4149,8 → 4217,26
sub [esi+12],eax
prepare_next_preprocessed_line:
add esi,16
call skip_foreign_line
skip_preprocessed_line:
lods byte [esi]
cmp al,1Ah
je skip_preprocessed_symbol
cmp al,3Bh
je skip_preprocessed_symbol
cmp al,22h
je skip_preprocessed_string
or al,al
jnz skip_preprocessed_line
jmp prepare_preprocessed_source
skip_preprocessed_string:
lods dword [esi]
add esi,eax
jmp skip_preprocessed_line
skip_preprocessed_symbol:
lods byte [esi]
movzx eax,al
add esi,eax
jmp skip_preprocessed_line
preprocessed_source_ok:
mov esi,[labels_list]
mov ebp,edi
/programs/develop/fasm/trunk/parser.inc
104,15 → 104,15
stos word [edi]
mov al,dl
stos byte [edi]
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je parse_block
cmp bx,repeat_directive-assembler
cmp bx,repeat_directive-instruction_handler
je parse_block
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je parse_block
cmp bx,end_directive-assembler
cmp bx,end_directive-instruction_handler
je parse_end_directive
cmp bx,else_directive-assembler
cmp bx,else_directive-instruction_handler
je parse_else
common_parse:
call parse_line_contents
159,9 → 159,9
shl eax,16
push eax
inc [blocks_stack]
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je parse_if
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je parse_while
call parse_line_contents
jmp parse_next_line
188,11 → 188,11
lods byte [esi]
or al,al
jnz extra_characters_on_line
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je close_parsing_block
cmp bx,repeat_directive-assembler
cmp bx,repeat_directive-instruction_handler
je close_parsing_block
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je close_parsing_block
jmp parse_next_line
close_parsing_block:
202,7 → 202,7
jne unexpected_instruction
dec [blocks_stack]
pop eax edx
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
jne parse_next_line
test al,1100b
jz parse_next_line
251,7 → 251,7
parse_else:
cmp [blocks_stack],0
je unexpected_instruction
cmp word [esp+2],if_directive-assembler
cmp word [esp+2],if_directive-instruction_handler
jne unexpected_instruction
lods byte [esi]
or al,al
264,7 → 264,7
call get_instruction
jc extra_characters_on_line
pop edi
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
jne extra_characters_on_line
test byte [esp],100b
jnz skip_true_condition_else
311,15 → 311,15
lea esi,[esi+ecx+1]
jmp skip_parsing_line
skip_parsing_instruction:
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je skip_parsing_block
cmp bx,repeat_directive-assembler
cmp bx,repeat_directive-instruction_handler
je skip_parsing_block
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je skip_parsing_block
cmp bx,end_directive-assembler
cmp bx,end_directive-instruction_handler
je skip_parsing_end_directive
cmp bx,else_directive-assembler
cmp bx,else_directive-instruction_handler
je skip_parsing_else
skip_parsing_contents:
lods byte [esi]
369,11 → 369,11
lods byte [esi]
or al,al
jnz extra_characters_on_line
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
je close_skip_parsing_block
cmp bx,repeat_directive-assembler
cmp bx,repeat_directive-instruction_handler
je close_skip_parsing_block
cmp bx,while_directive-assembler
cmp bx,while_directive-instruction_handler
je close_skip_parsing_block
jmp skip_parsing
close_skip_parsing_block:
385,7 → 385,7
pop eax edx
test al,1
jz skip_parsing
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
jne parse_next_line
test al,10000b
jz parse_next_line
394,15 → 394,15
mov eax,[current_line]
stos dword [edi]
inc [parsed_lines]
mov eax,1 + (end_directive-assembler) shl 8
mov eax,1 + (end_directive-instruction_handler) shl 8
stos dword [edi]
mov eax,1 + (if_directive-assembler) shl 8
mov eax,1 + (if_directive-instruction_handler) shl 8
stos dword [edi]
jmp parse_next_line
skip_parsing_else:
cmp [blocks_stack],0
je unexpected_instruction
cmp word [esp+2],if_directive-assembler
cmp word [esp+2],if_directive-instruction_handler
jne unexpected_instruction
lods byte [esi]
or al,al
415,7 → 415,7
call get_instruction
jc extra_characters_on_line
pop edi
cmp bx,if_directive-assembler
cmp bx,if_directive-instruction_handler
jne extra_characters_on_line
mov al,[esp]
test al,1
432,7 → 432,7
stos dword [edi]
inc [parsed_lines]
parse_else_if:
mov eax,1 + (if_directive-assembler) shl 8
mov eax,1 + (if_directive-instruction_handler) shl 8
stos dword [edi]
jmp parse_if
skip_parsing_pure_else:
451,21 → 451,21
parse_line_contents:
mov [parenthesis_stack],0
parse_instruction_arguments:
cmp bx,prefix_instruction-assembler
cmp bx,prefix_instruction-instruction_handler
je allow_embedded_instruction
cmp bx,times_directive-assembler
cmp bx,times_directive-instruction_handler
je parse_times_directive
cmp bx,end_directive-assembler
cmp bx,end_directive-instruction_handler
je allow_embedded_instruction
cmp bx,label_directive-assembler
cmp bx,label_directive-instruction_handler
je parse_label_directive
cmp bx,segment_directive-assembler
cmp bx,segment_directive-instruction_handler
je parse_label_directive
cmp bx,load_directive-assembler
cmp bx,load_directive-instruction_handler
je parse_load_directive
cmp bx,extrn_directive-assembler
cmp bx,extrn_directive-instruction_handler
je parse_extrn_directive
cmp bx,public_directive-assembler
cmp bx,public_directive-instruction_handler
je parse_public_directive
parse_argument:
lea eax,[edi+100h]
/programs/develop/fasm/trunk/preproce.inc
37,6 → 37,7
mov eax,[additional_memory_end]
mov [labels_list],eax
xor eax,eax
mov [source_start],eax
mov [display_buffer],eax
mov [hash_tree],eax
mov [macro_status],al
375,12 → 376,14
ret
directive_ok:
lea esi,[edx+ebp]
call directive_handler
directive_handler:
pop ecx
movzx eax,word [ebx]
add eax,preprocessor
add eax,ecx
clc
ret
 
 
preprocess_line:
mov eax,esp
sub eax,100h
756,10 → 759,7
define_fix_constant:
add edx,5
add esi,2
push edx esi
mov esi,edx
call skip_parameters
xchg esi,[esp]
push edx
mov ch,11b
jmp define_preprocessor_constant
define_equ_constant:
766,7 → 766,6
add esi,3
push esi
call process_equ_constants
push esi
mov esi,[struc_name]
mov ch,10b
define_preprocessor_constant:
773,7 → 772,7
mov byte [esi-2],3Bh
mov cl,[esi-1]
call add_preprocessor_symbol
pop esi ebx
pop ebx
mov ecx,edi
dec ecx
sub ecx,ebx
790,34 → 789,11
call add_preprocessor_symbol
movzx eax,byte [esi-1]
add esi,eax
push esi edx
call skip_parameters
pop edx ebx
lea ecx,[esi-1]
sub ecx,ebx
mov [edx+8],ebx
lea ecx,[edi-1]
sub ecx,esi
mov [edx+8],esi
mov [edx+12],ecx
jmp line_preprocessed
skip_parameters:
lods byte [esi]
or al,al
jz parameters_skipped
cmp al,'{'
je parameters_skipped
cmp al,22h
je skip_quoted_parameter
cmp al,1Ah
jne skip_parameters
lods byte [esi]
movzx eax,al
add esi,eax
jmp skip_parameters
skip_quoted_parameter:
lods dword [esi]
add esi,eax
jmp skip_parameters
parameters_skipped:
ret
 
define_struc:
mov ch,1
959,8 → 935,25
mov [instant_macro_start],esi
cmp [base_code],10h
je prepare_match
call skip_parameters
instant_macro_parameters_skipped:
skip_parameters:
lods byte [esi]
or al,al
jz parameters_skipped
cmp al,'{'
je parameters_skipped
cmp al,22h
je skip_quoted_parameter
cmp al,1Ah
jne skip_parameters
lods byte [esi]
movzx eax,al
add esi,eax
jmp skip_parameters
skip_quoted_parameter:
lods dword [esi]
add esi,eax
jmp skip_parameters
parameters_skipped:
dec esi
mov [parameters_end],esi
lods byte [esi]
973,7 → 966,7
call skip_pattern
mov [value_type],80h+10b
call process_symbolic_constants
jmp instant_macro_parameters_skipped
jmp parameters_skipped
skip_pattern:
lods byte [esi]
or al,al
1522,15 → 1515,9
jae do_match
cmp [base_code],0
jne do_irp
call get_number
jc invalid_value
or ebp,ebp
jnz invalid_value
cmp dword [edi+4],0
jne value_out_of_range
mov eax,[edi]
cmp eax,80000000h
jae value_out_of_range
call precalculate_value
cmp eax,0
jl value_out_of_range
push [free_additional_memory]
push [macro_symbols]
mov [macro_symbols],0
1558,16 → 1545,10
cmp al,':'
jne rept_counter_added
push edx
call get_number
jc invalid_value
or ebp,ebp
jnz invalid_value
cmp dword [edi+4],0
jne value_out_of_range
mov eax,[edi]
call precalculate_value
mov edx,eax
add edx,[counter_limit]
jc value_out_of_range
jo value_out_of_range
pop edx
mov dword [edx+8],eax
lods byte [esi]
1606,6 → 1587,21
mov ecx,edx
call move_data
jmp initial_preprocessing_ok
precalculate_value:
push edi
call convert_expression
mov al,')'
stosb
push esi
mov esi,[esp+4]
call calculate_expression
mov eax,[edi]
mov ecx,[edi+4]
pop esi edi
cdq
cmp edx,ecx
jne value_out_of_range
ret
do_irp:
cmp byte [esi],1Ah
jne invalid_macro_arguments
1977,10 → 1973,10
replace_macro_symbol:
pop edi eax
mov ecx,[edx+8]
and ecx,not 80000000h
mov edx,[edx+12]
or edx,edx
jz replace_macro_counter
and ecx,not 80000000h
xchg esi,edx
call move_data
mov esi,edx
2057,6 → 2053,12
inc edi
jmp multiple_macro_counter_values
store_number_symbol:
cmp ecx,0
jge numer_symbol_sign_ok
neg ecx
mov al,'-'
stos byte [edi]
numer_symbol_sign_ok:
mov ax,1Ah
stos word [edi]
push edi
/programs/develop/fasm/trunk/tables.inc
10,38 → 10,38
 
preprocessor_directives:
db 6,'define'
dw define_symbolic_constant-preprocessor
dw define_symbolic_constant-directive_handler
db 7,'include'
dw include_file-preprocessor
dw include_file-directive_handler
db 3,'irp'
dw irp_directive-preprocessor
dw irp_directive-directive_handler
db 4,'irps'
dw irps_directive-preprocessor
dw irps_directive-directive_handler
db 5,'macro'
dw define_macro-preprocessor
dw define_macro-directive_handler
db 5,'match'
dw match_directive-preprocessor
dw match_directive-directive_handler
db 5,'purge'
dw purge_macro-preprocessor
dw purge_macro-directive_handler
db 4,'rept'
dw rept_directive-preprocessor
dw rept_directive-directive_handler
db 7,'restore'
dw restore_equ_constant-preprocessor
dw restore_equ_constant-directive_handler
db 7,'restruc'
dw purge_struc-preprocessor
dw purge_struc-directive_handler
db 5,'struc'
dw define_struc-preprocessor
dw define_struc-directive_handler
db 0
 
macro_directives:
db 6,'common'
dw common_block-preprocessor
dw common_block-directive_handler
db 7,'forward'
dw forward_block-preprocessor
dw forward_block-directive_handler
db 5,'local'
dw local_symbols-preprocessor
dw local_symbols-directive_handler
db 7,'reverse'
dw reverse_block-preprocessor
dw reverse_block-directive_handler
db 0
 
operators:
274,6 → 274,7
db 'dr15',10h,7Fh
db 'ms64',17h,49h
db 'near',12h,2
db 'note',1Eh,4
db 'pe64',18h,38h
db 'r10b',10h,1Ah
db 'r10d',10h,4Ah
339,6 → 340,7
db 'static',1Dh,1
symbols_7:
db 'console',1Bh,3
db 'dynamic',1Eh,2
db 'efiboot',1Bh,11
symbols_8:
db 'linkinfo',19h,9
354,6 → 356,7
db 'linkremove',19h,11
symbols_11:
db 'discardable',19h,25
db 'interpreter',1Eh,3
db 'notpageable',19h,27
symbols_end:
 
371,1618 → 374,1620
 
instructions_2:
db 'bt',4
dw bt_instruction-assembler
dw bt_instruction-instruction_handler
db 'if',0
dw if_directive-assembler
dw if_directive-instruction_handler
db 'in',0
dw in_instruction-assembler
dw in_instruction-instruction_handler
db 'ja',77h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jb',72h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jc',72h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'je',74h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jg',7Fh
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jl',7Ch
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jo',70h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jp',7Ah
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'js',78h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jz',74h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'or',08h
dw basic_instruction-assembler
dw basic_instruction-instruction_handler
instructions_3:
db 'aaa',37h
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'aad',0D5h
dw aa_instruction-assembler
dw aa_instruction-instruction_handler
db 'aam',0D4h
dw aa_instruction-assembler
dw aa_instruction-instruction_handler
db 'aas',3Fh
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'adc',10h
dw basic_instruction-assembler
dw basic_instruction-instruction_handler
db 'add',00h
dw basic_instruction-assembler
dw basic_instruction-instruction_handler
db 'and',20h
dw basic_instruction-assembler
dw basic_instruction-instruction_handler
db 'bsf',0BCh
dw bs_instruction-assembler
dw bs_instruction-instruction_handler
db 'bsr',0BDh
dw bs_instruction-assembler
dw bs_instruction-instruction_handler
db 'btc',7
dw bt_instruction-assembler
dw bt_instruction-instruction_handler
db 'btr',6
dw bt_instruction-assembler
dw bt_instruction-instruction_handler
db 'bts',5
dw bt_instruction-assembler
dw bt_instruction-instruction_handler
db 'cbw',98h
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'cdq',99h
dw simple_instruction_32bit-assembler
dw simple_instruction_32bit-instruction_handler
db 'clc',0F8h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'cld',0FCh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'cli',0FAh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'cmc',0F5h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'cmp',38h
dw basic_instruction-assembler
dw basic_instruction-instruction_handler
db 'cqo',99h
dw simple_instruction_64bit-assembler
dw simple_instruction_64bit-instruction_handler
db 'cwd',99h
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'daa',27h
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'das',2Fh
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'dec',1
dw inc_instruction-assembler
dw inc_instruction-instruction_handler
db 'div',6
dw single_operand_instruction-assembler
dw single_operand_instruction-instruction_handler
db 'end',0
dw end_directive-assembler
dw end_directive-instruction_handler
db 'err',0
dw err_directive-assembler
dw err_directive-instruction_handler
db 'fld',0
dw fld_instruction-assembler
dw fld_instruction-instruction_handler
db 'fst',2
dw fld_instruction-assembler
dw fld_instruction-instruction_handler
db 'hlt',0F4h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'inc',0
dw inc_instruction-assembler
dw inc_instruction-instruction_handler
db 'ins',6Ch
dw ins_instruction-assembler
dw ins_instruction-instruction_handler
db 'int',0CDh
dw int_instruction-assembler
dw int_instruction-instruction_handler
db 'jae',73h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jbe',76h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jge',7Dh
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jle',7Eh
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jmp',0
dw jmp_instruction-assembler
dw jmp_instruction-instruction_handler
db 'jna',76h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jnb',73h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jnc',73h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jne',75h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jng',7Eh
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jnl',7Dh
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jno',71h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jnp',7Bh
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jns',79h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jnz',75h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jpe',7Ah
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jpo',7Bh
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'lar',2
dw lar_instruction-assembler
dw lar_instruction-instruction_handler
db 'lds',3
dw ls_instruction-assembler
dw ls_instruction-instruction_handler
db 'lea',0
dw lea_instruction-assembler
dw lea_instruction-instruction_handler
db 'les',0
dw ls_instruction-assembler
dw ls_instruction-instruction_handler
db 'lfs',4
dw ls_instruction-assembler
dw ls_instruction-instruction_handler
db 'lgs',5
dw ls_instruction-assembler
dw ls_instruction-instruction_handler
db 'lsl',3
dw lar_instruction-assembler
dw lar_instruction-instruction_handler
db 'lss',2
dw ls_instruction-assembler
dw ls_instruction-instruction_handler
db 'ltr',3
dw pm_word_instruction-assembler
dw pm_word_instruction-instruction_handler
db 'mov',0
dw mov_instruction-assembler
dw mov_instruction-instruction_handler
db 'mul',4
dw single_operand_instruction-assembler
dw single_operand_instruction-instruction_handler
db 'neg',3
dw single_operand_instruction-assembler
dw single_operand_instruction-instruction_handler
db 'nop',90h
dw nop_instruction-assembler
dw nop_instruction-instruction_handler
db 'not',2
dw single_operand_instruction-assembler
dw single_operand_instruction-instruction_handler
db 'org',0
dw org_directive-assembler
dw org_directive-instruction_handler
db 'out',0
dw out_instruction-assembler
dw out_instruction-instruction_handler
db 'pop',0
dw pop_instruction-assembler
dw pop_instruction-instruction_handler
db 'por',0EBh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'rcl',2
dw sh_instruction-assembler
dw sh_instruction-instruction_handler
db 'rcr',3
dw sh_instruction-assembler
dw sh_instruction-instruction_handler
db 'rep',0F3h
dw prefix_instruction-assembler
dw prefix_instruction-instruction_handler
db 'ret',0C2h
dw ret_instruction-assembler
dw ret_instruction-instruction_handler
db 'rol',0
dw sh_instruction-assembler
dw sh_instruction-instruction_handler
db 'ror',1
dw sh_instruction-assembler
dw sh_instruction-instruction_handler
db 'rsm',0AAh
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'sal',4
dw sh_instruction-assembler
dw sh_instruction-instruction_handler
db 'sar',7
dw sh_instruction-assembler
dw sh_instruction-instruction_handler
db 'sbb',18h
dw basic_instruction-assembler
dw basic_instruction-instruction_handler
db 'shl',4
dw sh_instruction-assembler
dw sh_instruction-instruction_handler
db 'shr',5
dw sh_instruction-assembler
dw sh_instruction-instruction_handler
db 'stc',0F9h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'std',0FDh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'sti',0FBh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'str',1
dw pm_store_word_instruction-assembler
dw pm_store_word_instruction-instruction_handler
db 'sub',28h
dw basic_instruction-assembler
dw basic_instruction-instruction_handler
db 'ud2',0Bh
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'xor',30h
dw basic_instruction-assembler
dw basic_instruction-instruction_handler
instructions_4:
db 'arpl',0
dw arpl_instruction-assembler
dw arpl_instruction-instruction_handler
db 'call',0
dw call_instruction-assembler
dw call_instruction-instruction_handler
db 'cdqe',98h
dw simple_instruction_64bit-assembler
dw simple_instruction_64bit-instruction_handler
db 'clgi',0DDh
dw simple_vmx_instruction-assembler
dw simple_vmx_instruction-instruction_handler
db 'clts',6
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'cmps',0A6h
dw cmps_instruction-assembler
dw cmps_instruction-instruction_handler
db 'cwde',98h
dw simple_instruction_32bit-assembler
dw simple_instruction_32bit-instruction_handler
db 'data',0
dw data_directive-assembler
dw data_directive-instruction_handler
db 'dppd',41h
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'dpps',40h
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'else',0
dw else_directive-assembler
dw else_directive-instruction_handler
db 'emms',77h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'fabs',100001b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fadd',0
dw basic_fpu_instruction-assembler
dw basic_fpu_instruction-instruction_handler
db 'fbld',4
dw fbld_instruction-assembler
dw fbld_instruction-instruction_handler
db 'fchs',100000b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fcom',2
dw basic_fpu_instruction-assembler
dw basic_fpu_instruction-instruction_handler
db 'fcos',111111b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fdiv',6
dw basic_fpu_instruction-assembler
dw basic_fpu_instruction-instruction_handler
db 'feni',0E0h
dw finit_instruction-assembler
dw finit_instruction-instruction_handler
db 'fild',0
dw fild_instruction-assembler
dw fild_instruction-instruction_handler
db 'fist',2
dw fild_instruction-assembler
dw fild_instruction-instruction_handler
db 'fld1',101000b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fldz',101110b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fmul',1
dw basic_fpu_instruction-assembler
dw basic_fpu_instruction-instruction_handler
db 'fnop',010000b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fsin',111110b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fstp',3
dw fld_instruction-assembler
dw fld_instruction-instruction_handler
db 'fsub',4
dw basic_fpu_instruction-assembler
dw basic_fpu_instruction-instruction_handler
db 'ftst',100100b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fxam',100101b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fxch',0
dw fxch_instruction-assembler
dw fxch_instruction-instruction_handler
db 'heap',0
dw heap_directive-assembler
dw heap_directive-instruction_handler
db 'idiv',7
dw single_operand_instruction-assembler
dw single_operand_instruction-instruction_handler
db 'imul',0
dw imul_instruction-assembler
dw imul_instruction-instruction_handler
db 'insb',6Ch
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'insd',6Dh
dw simple_instruction_32bit-assembler
dw simple_instruction_32bit-instruction_handler
db 'insw',6Dh
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'int1',0F1h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'int3',0CCh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'into',0CEh
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'invd',8
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'iret',0CFh
dw iret_instruction-assembler
dw iret_instruction-instruction_handler
db 'jcxz',0E3h
dw loop_instruction_16bit-assembler
dw loop_instruction_16bit-instruction_handler
db 'jnae',72h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jnbe',77h
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jnge',7Ch
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'jnle',7Fh
dw conditional_jump-assembler
dw conditional_jump-instruction_handler
db 'lahf',9Fh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'lgdt',2
dw lgdt_instruction-assembler
dw lgdt_instruction-instruction_handler
db 'lidt',3
dw lgdt_instruction-assembler
dw lgdt_instruction-instruction_handler
db 'lldt',2
dw pm_word_instruction-assembler
dw pm_word_instruction-instruction_handler
db 'lmsw',16h
dw pm_word_instruction-assembler
dw pm_word_instruction-instruction_handler
db 'load',0
dw load_directive-assembler
dw load_directive-instruction_handler
db 'lock',0F0h
dw prefix_instruction-assembler
dw prefix_instruction-instruction_handler
db 'lods',0ACh
dw lods_instruction-assembler
dw lods_instruction-instruction_handler
db 'loop',0E2h
dw loop_instruction-assembler
dw loop_instruction-instruction_handler
db 'movd',0
dw movd_instruction-assembler
dw movd_instruction-instruction_handler
db 'movq',0
dw movq_instruction-assembler
dw movq_instruction-instruction_handler
db 'movs',0A4h
dw movs_instruction-assembler
dw movs_instruction-instruction_handler
db 'orpd',56h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'orps',56h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'outs',6Eh
dw outs_instruction-assembler
dw outs_instruction-instruction_handler
db 'pand',0DBh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'popa',61h
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'popd',4
dw pop_instruction-assembler
dw pop_instruction-instruction_handler
db 'popf',9Dh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'popq',8
dw pop_instruction-assembler
dw pop_instruction-instruction_handler
db 'popw',2
dw pop_instruction-assembler
dw pop_instruction-instruction_handler
db 'push',0
dw push_instruction-assembler
dw push_instruction-instruction_handler
db 'pxor',0EFh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'repe',0F3h
dw prefix_instruction-assembler
dw prefix_instruction-instruction_handler
db 'repz',0F3h
dw prefix_instruction-assembler
dw prefix_instruction-instruction_handler
db 'retd',0C2h
dw ret_instruction_32bit_except64-assembler
dw ret_instruction_32bit_except64-instruction_handler
db 'retf',0CAh
dw retf_instruction-assembler
dw retf_instruction-instruction_handler
db 'retn',0C2h
dw ret_instruction-assembler
dw ret_instruction-instruction_handler
db 'retq',0C2h
dw ret_instruction_only64-assembler
dw ret_instruction_only64-instruction_handler
db 'retw',0C2h
dw ret_instruction_16bit-assembler
dw ret_instruction_16bit-instruction_handler
db 'sahf',9Eh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'salc',0D6h
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'scas',0AEh
dw stos_instruction-assembler
dw stos_instruction-instruction_handler
db 'seta',97h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setb',92h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setc',92h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'sete',94h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setg',9Fh
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setl',9Ch
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'seto',90h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setp',9Ah
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'sets',98h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setz',94h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'sgdt',0
dw lgdt_instruction-assembler
dw lgdt_instruction-instruction_handler
db 'shld',0A4h
dw shd_instruction-assembler
dw shd_instruction-instruction_handler
db 'shrd',0ACh
dw shd_instruction-assembler
dw shd_instruction-instruction_handler
db 'sidt',1
dw lgdt_instruction-assembler
dw lgdt_instruction-instruction_handler
db 'sldt',0
dw pm_store_word_instruction-assembler
dw pm_store_word_instruction-instruction_handler
db 'smsw',14h
dw pm_store_word_instruction-assembler
dw pm_store_word_instruction-instruction_handler
db 'stgi',0DCh
dw simple_vmx_instruction-assembler
dw simple_vmx_instruction-instruction_handler
db 'stos',0AAh
dw stos_instruction-assembler
dw stos_instruction-instruction_handler
db 'test',0
dw test_instruction-assembler
dw test_instruction-instruction_handler
db 'verr',4
dw pm_word_instruction-assembler
dw pm_word_instruction-instruction_handler
db 'verw',5
dw pm_word_instruction-assembler
dw pm_word_instruction-instruction_handler
db 'wait',9Bh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'xadd',0C0h
dw basic_486_instruction-assembler
dw basic_486_instruction-instruction_handler
db 'xchg',0
dw xchg_instruction-assembler
dw xchg_instruction-instruction_handler
db 'xlat',0D7h
dw xlat_instruction-assembler
dw xlat_instruction-instruction_handler
instructions_5:
db 'addpd',58h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'addps',58h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'addsd',58h
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'addss',58h
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'align',0
dw align_directive-assembler
dw align_directive-instruction_handler
db 'andpd',54h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'andps',54h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'bound',0
dw bound_instruction-assembler
dw bound_instruction-instruction_handler
db 'break',0
dw break_directive-assembler
dw break_directive-instruction_handler
db 'bswap',0
dw bswap_instruction-assembler
dw bswap_instruction-instruction_handler
db 'cmova',47h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovb',42h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovc',42h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmove',44h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovg',4Fh
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovl',4Ch
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovo',40h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovp',4Ah
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovs',48h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovz',44h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmppd',0
dw cmppd_instruction-assembler
dw cmppd_instruction-instruction_handler
db 'cmpps',0
dw cmpps_instruction-assembler
dw cmpps_instruction-instruction_handler
db 'cmpsb',0A6h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'cmpsd',0
dw cmpsd_instruction-assembler
dw cmpsd_instruction-instruction_handler
db 'cmpsq',0A7h
dw simple_instruction_64bit-assembler
dw simple_instruction_64bit-instruction_handler
db 'cmpss',0
dw cmpss_instruction-assembler
dw cmpss_instruction-instruction_handler
db 'cmpsw',0A7h
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'cpuid',0A2h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'crc32',0
dw crc32_instruction-assembler
dw crc32_instruction-instruction_handler
db 'divpd',5Eh
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'divps',5Eh
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'divsd',5Eh
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'divss',5Eh
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'enter',0
dw enter_instruction-assembler
dw enter_instruction-instruction_handler
db 'entry',0
dw entry_directive-assembler
dw entry_directive-instruction_handler
db 'extrn',0
dw extrn_directive-assembler
dw extrn_directive-instruction_handler
db 'extrq',0
dw extrq_instruction-assembler
dw extrq_instruction-instruction_handler
db 'f2xm1',110000b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'faddp',0
dw faddp_instruction-assembler
dw faddp_instruction-instruction_handler
db 'fbstp',6
dw fbld_instruction-assembler
dw fbld_instruction-instruction_handler
db 'fclex',0E2h
dw finit_instruction-assembler
dw finit_instruction-instruction_handler
db 'fcomi',0F0h
dw fcomi_instruction-assembler
dw fcomi_instruction-instruction_handler
db 'fcomp',3
dw basic_fpu_instruction-assembler
dw basic_fpu_instruction-instruction_handler
db 'fdisi',0E1h
dw finit_instruction-assembler
dw finit_instruction-instruction_handler
db 'fdivp',7
dw faddp_instruction-assembler
dw faddp_instruction-instruction_handler
db 'fdivr',7
dw basic_fpu_instruction-assembler
dw basic_fpu_instruction-instruction_handler
db 'femms',0Eh
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'ffree',0
dw ffree_instruction-assembler
dw ffree_instruction-instruction_handler
db 'fiadd',0
dw fi_instruction-assembler
dw fi_instruction-instruction_handler
db 'ficom',2
dw fi_instruction-assembler
dw fi_instruction-instruction_handler
db 'fidiv',6
dw fi_instruction-assembler
dw fi_instruction-instruction_handler
db 'fimul',1
dw fi_instruction-assembler
dw fi_instruction-instruction_handler
db 'finit',0E3h
dw finit_instruction-assembler
dw finit_instruction-instruction_handler
db 'fistp',3
dw fild_instruction-assembler
dw fild_instruction-instruction_handler
db 'fisub',4
dw fi_instruction-assembler
dw fi_instruction-instruction_handler
db 'fldcw',5
dw fldcw_instruction-assembler
dw fldcw_instruction-instruction_handler
db 'fldpi',101011b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fmulp',1
dw faddp_instruction-assembler
dw faddp_instruction-instruction_handler
db 'fneni',0E0h
dw fninit_instruction-assembler
dw fninit_instruction-instruction_handler
db 'fprem',111000b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fptan',110010b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fsave',6
dw fsave_instruction-assembler
dw fsave_instruction-instruction_handler
db 'fsqrt',111010b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fstcw',7
dw fstcw_instruction-assembler
dw fstcw_instruction-instruction_handler
db 'fstsw',0
dw fstsw_instruction-assembler
dw fstsw_instruction-instruction_handler
db 'fsubp',5
dw faddp_instruction-assembler
dw faddp_instruction-instruction_handler
db 'fsubr',5
dw basic_fpu_instruction-assembler
dw basic_fpu_instruction-instruction_handler
db 'fucom',4
dw ffree_instruction-assembler
dw ffree_instruction-instruction_handler
db 'fwait',9Bh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'fyl2x',110001b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'icebp',0F1h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'iretd',0CFh
dw simple_instruction_32bit-assembler
dw simple_instruction_32bit-instruction_handler
db 'iretq',0CFh
dw simple_instruction_64bit-assembler
dw simple_instruction_64bit-instruction_handler
db 'iretw',0CFh
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'jecxz',0E3h
dw loop_instruction_32bit-assembler
dw loop_instruction_32bit-instruction_handler
db 'jrcxz',0E3h
dw loop_instruction_64bit-assembler
dw loop_instruction_64bit-instruction_handler
db 'label',0
dw label_directive-assembler
dw label_directive-instruction_handler
db 'lddqu',0
dw lddqu_instruction-assembler
dw lddqu_instruction-instruction_handler
db 'leave',0C9h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'lodsb',0ACh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'lodsd',0ADh
dw simple_instruction_32bit-assembler
dw simple_instruction_32bit-instruction_handler
db 'lodsq',0ADh
dw simple_instruction_64bit-assembler
dw simple_instruction_64bit-instruction_handler
db 'lodsw',0ADh
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'loopd',0E2h
dw loop_instruction_32bit-assembler
dw loop_instruction_32bit-instruction_handler
db 'loope',0E1h
dw loop_instruction-assembler
dw loop_instruction-instruction_handler
db 'loopq',0E2h
dw loop_instruction_64bit-assembler
dw loop_instruction_64bit-instruction_handler
db 'loopw',0E2h
dw loop_instruction_16bit-assembler
dw loop_instruction_16bit-instruction_handler
db 'loopz',0E1h
dw loop_instruction-assembler
dw loop_instruction-instruction_handler
db 'lzcnt',0BDh
dw popcnt_instruction-assembler
dw popcnt_instruction-instruction_handler
db 'maxpd',5Fh
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'maxps',5Fh
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'maxsd',5Fh
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'maxss',5Fh
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'minpd',5Dh
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'minps',5Dh
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'minsd',5Dh
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'minss',5Dh
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'movbe',0F0h
dw movbe_instruction-instruction_handler
db 'movsb',0A4h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'movsd',0
dw movsd_instruction-assembler
dw movsd_instruction-instruction_handler
db 'movsq',0A5h
dw simple_instruction_64bit-assembler
dw simple_instruction_64bit-instruction_handler
db 'movss',0
dw movss_instruction-assembler
dw movss_instruction-instruction_handler
db 'movsw',0A5h
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'movsx',0BEh
dw movx_instruction-assembler
dw movx_instruction-instruction_handler
db 'movzx',0B6h
dw movx_instruction-assembler
dw movx_instruction-instruction_handler
db 'mulpd',59h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'mulps',59h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'mulsd',59h
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'mulss',59h
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'mwait',0C9h
dw monitor_instruction-assembler
dw monitor_instruction-instruction_handler
db 'outsb',6Eh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'outsd',6Fh
dw simple_instruction_32bit-assembler
dw simple_instruction_32bit-instruction_handler
db 'outsw',6Fh
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'pabsb',1Ch
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'pabsd',1Eh
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'pabsw',1Dh
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'paddb',0FCh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'paddd',0FEh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'paddq',0D4h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'paddw',0FDh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pandn',0DFh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pause',0
dw pause_instruction-assembler
dw pause_instruction-instruction_handler
db 'pavgb',0E0h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pavgw',0E3h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pf2id',1Dh
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pf2iw',1Ch
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfacc',0AEh
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfadd',9Eh
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfmax',0A4h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfmin',94h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfmul',0B4h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfrcp',96h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfsub',9Ah
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pi2fd',0Dh
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pi2fw',0Ch
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'popad',61h
dw simple_instruction_32bit_except64-assembler
dw simple_instruction_32bit_except64-instruction_handler
db 'popaw',61h
dw simple_instruction_16bit_except64-assembler
dw simple_instruction_16bit_except64-instruction_handler
db 'popfd',9Dh
dw simple_instruction_32bit_except64-assembler
dw simple_instruction_32bit_except64-instruction_handler
db 'popfq',9Dh
dw simple_instruction_only64-assembler
dw simple_instruction_only64-instruction_handler
db 'popfw',9Dh
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'pslld',0F2h
dw mmx_ps_instruction-assembler
dw mmx_ps_instruction-instruction_handler
db 'psllq',0F3h
dw mmx_ps_instruction-assembler
dw mmx_ps_instruction-instruction_handler
db 'psllw',0F1h
dw mmx_ps_instruction-assembler
dw mmx_ps_instruction-instruction_handler
db 'psrad',0E2h
dw mmx_ps_instruction-assembler
dw mmx_ps_instruction-instruction_handler
db 'psraw',0E1h
dw mmx_ps_instruction-assembler
dw mmx_ps_instruction-instruction_handler
db 'psrld',0D2h
dw mmx_ps_instruction-assembler
dw mmx_ps_instruction-instruction_handler
db 'psrlq',0D3h
dw mmx_ps_instruction-assembler
dw mmx_ps_instruction-instruction_handler
db 'psrlw',0D1h
dw mmx_ps_instruction-assembler
dw mmx_ps_instruction-instruction_handler
db 'psubb',0F8h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'psubd',0FAh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'psubq',0FBh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'psubw',0F9h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'ptest',17h
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pusha',60h
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'pushd',4
dw push_instruction-assembler
dw push_instruction-instruction_handler
db 'pushf',9Ch
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'pushq',8
dw push_instruction-assembler
dw push_instruction-instruction_handler
db 'pushw',2
dw push_instruction-assembler
dw push_instruction-instruction_handler
db 'rcpps',53h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'rcpss',53h
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'rdmsr',32h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'rdpmc',33h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'rdtsc',31h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'repne',0F2h
dw prefix_instruction-assembler
dw prefix_instruction-instruction_handler
db 'repnz',0F2h
dw prefix_instruction-assembler
dw prefix_instruction-instruction_handler
db 'retfd',0CAh
dw ret_instruction_32bit-assembler
dw ret_instruction_32bit-instruction_handler
db 'retfq',0CAh
dw ret_instruction_64bit-assembler
dw ret_instruction_64bit-instruction_handler
db 'retfw',0CAh
dw ret_instruction_16bit-assembler
dw ret_instruction_16bit-instruction_handler
db 'retnd',0C2h
dw ret_instruction_32bit_except64-assembler
dw ret_instruction_32bit_except64-instruction_handler
db 'retnq',0C2h
dw ret_instruction_only64-assembler
dw ret_instruction_only64-instruction_handler
db 'retnw',0C2h
dw ret_instruction_16bit-assembler
dw ret_instruction_16bit-instruction_handler
db 'scasb',0AEh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'scasd',0AFh
dw simple_instruction_32bit-assembler
dw simple_instruction_32bit-instruction_handler
db 'scasq',0AFh
dw simple_instruction_64bit-assembler
dw simple_instruction_64bit-instruction_handler
db 'scasw',0AFh
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'setae',93h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setbe',96h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setge',9Dh
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setle',9Eh
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setna',96h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setnb',93h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setnc',93h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setne',95h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setng',9Eh
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setnl',9Dh
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setno',91h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setnp',9Bh
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setns',99h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setnz',95h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setpe',9Ah
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setpo',9Bh
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'stack',0
dw stack_directive-assembler
dw stack_directive-instruction_handler
db 'store',0
dw store_directive-assembler
dw store_directive-instruction_handler
db 'stosb',0AAh
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'stosd',0ABh
dw simple_instruction_32bit-assembler
dw simple_instruction_32bit-instruction_handler
db 'stosq',0ABh
dw simple_instruction_64bit-assembler
dw simple_instruction_64bit-instruction_handler
db 'stosw',0ABh
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'subpd',5Ch
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'subps',5Ch
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'subsd',5Ch
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'subss',5Ch
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'times',0
dw times_directive-assembler
dw times_directive-instruction_handler
db 'vmrun',0D8h
dw simple_svm_instruction-assembler
dw simple_svm_instruction-instruction_handler
db 'vmxon',6
dw vmxon_instruction-assembler
dw vmxon_instruction-instruction_handler
db 'while',0
dw while_directive-assembler
dw while_directive-instruction_handler
db 'wrmsr',30h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'xlatb',0D7h
dw simple_instruction-assembler
dw simple_instruction-instruction_handler
db 'xorpd',57h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'xorps',57h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
instructions_6:
db 'andnpd',55h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'andnps',55h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'cmovae',43h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovbe',46h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovge',4Dh
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovle',4Eh
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovna',46h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovnb',43h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovnc',43h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovne',45h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovng',4Eh
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovnl',4Dh
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovno',41h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovnp',4Bh
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovns',49h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovnz',45h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovpe',4Ah
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovpo',4Bh
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'comisd',2Fh
dw comisd_instruction-assembler
dw comisd_instruction-instruction_handler
db 'comiss',2Fh
dw comiss_instruction-assembler
dw comiss_instruction-instruction_handler
db 'fcmovb',0C0h
dw fcmov_instruction-assembler
dw fcmov_instruction-instruction_handler
db 'fcmove',0C8h
dw fcmov_instruction-assembler
dw fcmov_instruction-instruction_handler
db 'fcmovu',0D8h
dw fcmov_instruction-assembler
dw fcmov_instruction-instruction_handler
db 'fcomip',0F0h
dw fcomip_instruction-assembler
dw fcomip_instruction-instruction_handler
db 'fcompp',0
dw fcompp_instruction-assembler
dw fcompp_instruction-instruction_handler
db 'fdivrp',6
dw faddp_instruction-assembler
dw faddp_instruction-instruction_handler
db 'ffreep',0
dw ffreep_instruction-assembler
dw ffreep_instruction-instruction_handler
db 'ficomp',3
dw fi_instruction-assembler
dw fi_instruction-instruction_handler
db 'fidivr',7
dw fi_instruction-assembler
dw fi_instruction-instruction_handler
db 'fisttp',1
dw fild_instruction-assembler
dw fild_instruction-instruction_handler
db 'fisubr',5
dw fi_instruction-assembler
dw fi_instruction-instruction_handler
db 'fldenv',4
dw fldenv_instruction-assembler
dw fldenv_instruction-instruction_handler
db 'fldl2e',101010b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fldl2t',101001b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fldlg2',101100b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fldln2',101101b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fnclex',0E2h
dw fninit_instruction-assembler
dw fninit_instruction-instruction_handler
db 'fndisi',0E1h
dw fninit_instruction-assembler
dw fninit_instruction-instruction_handler
db 'fninit',0E3h
dw fninit_instruction-assembler
dw fninit_instruction-instruction_handler
db 'fnsave',6
dw fnsave_instruction-assembler
dw fnsave_instruction-instruction_handler
db 'fnstcw',7
dw fldcw_instruction-assembler
dw fldcw_instruction-instruction_handler
db 'fnstsw',0
dw fnstsw_instruction-assembler
dw fnstsw_instruction-instruction_handler
db 'format',0
dw format_directive-assembler
dw format_directive-instruction_handler
db 'fpatan',110011b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fprem1',110101b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'frstor',4
dw fnsave_instruction-assembler
dw fnsave_instruction-instruction_handler
db 'frstpm',0E5h
dw fninit_instruction-assembler
dw fninit_instruction-instruction_handler
db 'fsaved',6
dw fsave_instruction_32bit-assembler
dw fsave_instruction_32bit-instruction_handler
db 'fsavew',6
dw fsave_instruction_16bit-assembler
dw fsave_instruction_16bit-instruction_handler
db 'fscale',111101b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fsetpm',0E4h
dw fninit_instruction-assembler
dw fninit_instruction-instruction_handler
db 'fstenv',6
dw fstenv_instruction-assembler
dw fstenv_instruction-instruction_handler
db 'fsubrp',4
dw faddp_instruction-assembler
dw faddp_instruction-instruction_handler
db 'fucomi',0E8h
dw fcomi_instruction-assembler
dw fcomi_instruction-instruction_handler
db 'fucomp',5
dw ffree_instruction-assembler
dw ffree_instruction-instruction_handler
db 'fxsave',0
dw fxsave_instruction-assembler
dw fxsave_instruction-instruction_handler
db 'getsec',37h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'haddpd',07Ch
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'haddps',07Ch
dw cvtpd2dq_instruction-assembler
dw cvtpd2dq_instruction-instruction_handler
db 'hsubpd',07Dh
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'hsubps',07Dh
dw cvtpd2dq_instruction-assembler
dw cvtpd2dq_instruction-instruction_handler
db 'invept',80h
dw vmx_inv_instruction-assembler
dw vmx_inv_instruction-instruction_handler
db 'invlpg',0
dw invlpg_instruction-assembler
dw invlpg_instruction-instruction_handler
db 'lfence',0E8h
dw fence_instruction-assembler
dw fence_instruction-instruction_handler
db 'looped',0E1h
dw loop_instruction_32bit-assembler
dw loop_instruction_32bit-instruction_handler
db 'loopeq',0E1h
dw loop_instruction_64bit-assembler
dw loop_instruction_64bit-instruction_handler
db 'loopew',0E1h
dw loop_instruction_16bit-assembler
dw loop_instruction_16bit-instruction_handler
db 'loopne',0E0h
dw loop_instruction-assembler
dw loop_instruction-instruction_handler
db 'loopnz',0E0h
dw loop_instruction-assembler
dw loop_instruction-instruction_handler
db 'loopzd',0E1h
dw loop_instruction_32bit-assembler
dw loop_instruction_32bit-instruction_handler
db 'loopzq',0E1h
dw loop_instruction_64bit-assembler
dw loop_instruction_64bit-instruction_handler
db 'loopzw',0E1h
dw loop_instruction_16bit-assembler
dw loop_instruction_16bit-instruction_handler
db 'mfence',0F0h
dw fence_instruction-assembler
dw fence_instruction-instruction_handler
db 'movapd',28h
dw movpd_instruction-assembler
dw movpd_instruction-instruction_handler
db 'movaps',28h
dw movps_instruction-assembler
dw movps_instruction-instruction_handler
db 'movdqa',66h
dw movdq_instruction-assembler
dw movdq_instruction-instruction_handler
db 'movdqu',0F3h
dw movdq_instruction-assembler
dw movdq_instruction-instruction_handler
db 'movhpd',16h
dw movlpd_instruction-assembler
dw movlpd_instruction-instruction_handler
db 'movhps',16h
dw movlps_instruction-assembler
dw movlps_instruction-instruction_handler
db 'movlpd',12h
dw movlpd_instruction-assembler
dw movlpd_instruction-instruction_handler
db 'movlps',12h
dw movlps_instruction-assembler
dw movlps_instruction-instruction_handler
db 'movnti',0C3h
dw movnti_instruction-assembler
dw movnti_instruction-instruction_handler
db 'movntq',0E7h
dw movntq_instruction-assembler
dw movntq_instruction-instruction_handler
db 'movsxd',63h
dw movsxd_instruction-assembler
dw movsxd_instruction-instruction_handler
db 'movupd',10h
dw movpd_instruction-assembler
dw movpd_instruction-instruction_handler
db 'movups',10h
dw movps_instruction-assembler
dw movps_instruction-instruction_handler
db 'paddsb',0ECh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'paddsw',0EDh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pextrb',14h
dw pextrb_instruction-assembler
dw pextrb_instruction-instruction_handler
db 'pextrd',16h
dw pextrd_instruction-assembler
dw pextrd_instruction-instruction_handler
db 'pextrq',16h
dw pextrq_instruction-assembler
dw pextrq_instruction-instruction_handler
db 'pextrw',15h
dw pextrw_instruction-assembler
dw pextrw_instruction-instruction_handler
db 'pfnacc',8Ah
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfsubr',0AAh
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'phaddd',2
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'phaddw',1
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'phsubd',6
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'phsubw',5
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'pinsrb',20h
dw pinsrb_instruction-assembler
dw pinsrb_instruction-instruction_handler
db 'pinsrd',22h
dw pinsrd_instruction-assembler
dw pinsrd_instruction-instruction_handler
db 'pinsrq',22h
dw pinsrq_instruction-assembler
dw pinsrq_instruction-instruction_handler
db 'pinsrw',0C4h
dw pinsrw_instruction-assembler
dw pinsrw_instruction-instruction_handler
db 'pmaxsb',3Ch
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pmaxsd',3Dh
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pmaxsw',0EEh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pmaxub',0DEh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pmaxud',3Fh
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pmaxuw',3Eh
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pminsb',38h
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pminsd',39h
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pminsw',0EAh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pminub',0DAh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pminud',3Bh
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pminuw',3Ah
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pmuldq',28h
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pmulhw',0E5h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pmulld',40h
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pmullw',0D5h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'popcnt',0B8h
dw popcnt_instruction-assembler
dw popcnt_instruction-instruction_handler
db 'psadbw',0F6h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pshufb',0
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'pshufd',66h
dw pshufd_instruction-assembler
dw pshufd_instruction-instruction_handler
db 'pshufw',0
dw pshufw_instruction-assembler
dw pshufw_instruction-instruction_handler
db 'psignb',8
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'psignd',0Ah
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'psignw',9
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'pslldq',111b
dw ps_dq_instruction-assembler
dw ps_dq_instruction-instruction_handler
db 'psrldq',011b
dw ps_dq_instruction-assembler
dw ps_dq_instruction-instruction_handler
db 'psubsb',0E8h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'psubsw',0E9h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pswapd',0BBh
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'public',0
dw public_directive-assembler
dw public_directive-instruction_handler
db 'pushad',60h
dw simple_instruction_32bit_except64-assembler
dw simple_instruction_32bit_except64-instruction_handler
db 'pushaw',60h
dw simple_instruction_16bit_except64-assembler
dw simple_instruction_16bit_except64-instruction_handler
db 'pushfd',9Ch
dw simple_instruction_32bit_except64-assembler
dw simple_instruction_32bit_except64-instruction_handler
db 'pushfq',9Ch
dw simple_instruction_only64-assembler
dw simple_instruction_only64-instruction_handler
db 'pushfw',9Ch
dw simple_instruction_16bit-assembler
dw simple_instruction_16bit-instruction_handler
db 'rdmsrq',32h
dw simple_extended_instruction_64bit-assembler
dw simple_extended_instruction_64bit-instruction_handler
db 'rdtscp',1
dw swapgs_instruction-assembler
dw swapgs_instruction-instruction_handler
db 'repeat',0
dw repeat_directive-assembler
dw repeat_directive-instruction_handler
db 'setalc',0D6h
dw simple_instruction_except64-assembler
dw simple_instruction_except64-instruction_handler
db 'setnae',92h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setnbe',97h
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setnge',9Ch
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'setnle',9Fh
dw set_instruction-assembler
dw set_instruction-instruction_handler
db 'sfence',0F8h
dw fence_instruction-assembler
dw fence_instruction-instruction_handler
db 'shufpd',0C6h
dw sse_pd_instruction_imm8-assembler
dw sse_pd_instruction_imm8-instruction_handler
db 'shufps',0C6h
dw sse_ps_instruction_imm8-assembler
dw sse_ps_instruction_imm8-instruction_handler
db 'skinit',0
dw skinit_instruction-assembler
dw skinit_instruction-instruction_handler
db 'sqrtpd',51h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'sqrtps',51h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'sqrtsd',51h
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'sqrtss',51h
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'swapgs',0
dw swapgs_instruction-assembler
dw swapgs_instruction-instruction_handler
db 'sysret',07h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'vmcall',0C1h
dw simple_vmx_instruction-assembler
dw simple_vmx_instruction-instruction_handler
db 'vmload',0DAh
dw simple_svm_instruction-assembler
dw simple_svm_instruction-instruction_handler
db 'vmread',0
dw vmread_instruction-assembler
dw vmread_instruction-instruction_handler
db 'vmsave',0DBh
dw simple_svm_instruction-assembler
dw simple_svm_instruction-instruction_handler
db 'vmxoff',0C4h
dw simple_vmx_instruction-assembler
dw simple_vmx_instruction-instruction_handler
db 'wbinvd',9
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'wrmsrq',30h
dw simple_extended_instruction_64bit-assembler
dw simple_extended_instruction_64bit-instruction_handler
instructions_7:
db 'blendpd',0Dh
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'blendps',0Ch
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'clflush',111b
dw fxsave_instruction-assembler
dw fxsave_instruction-instruction_handler
db 'cmovnae',42h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovnbe',47h
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovnge',4Ch
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmovnle',4Fh
dw cmov_instruction-assembler
dw cmov_instruction-instruction_handler
db 'cmpeqpd',0
dw cmp_pd_instruction-assembler
dw cmp_pd_instruction-instruction_handler
db 'cmpeqps',0
dw cmp_ps_instruction-assembler
dw cmp_ps_instruction-instruction_handler
db 'cmpeqsd',0
dw cmp_sd_instruction-assembler
dw cmp_sd_instruction-instruction_handler
db 'cmpeqss',0
dw cmp_ss_instruction-assembler
dw cmp_ss_instruction-instruction_handler
db 'cmplepd',2
dw cmp_pd_instruction-assembler
dw cmp_pd_instruction-instruction_handler
db 'cmpleps',2
dw cmp_ps_instruction-assembler
dw cmp_ps_instruction-instruction_handler
db 'cmplesd',2
dw cmp_sd_instruction-assembler
dw cmp_sd_instruction-instruction_handler
db 'cmpless',2
dw cmp_ss_instruction-assembler
dw cmp_ss_instruction-instruction_handler
db 'cmpltpd',1
dw cmp_pd_instruction-assembler
dw cmp_pd_instruction-instruction_handler
db 'cmpltps',1
dw cmp_ps_instruction-assembler
dw cmp_ps_instruction-instruction_handler
db 'cmpltsd',1
dw cmp_sd_instruction-assembler
dw cmp_sd_instruction-instruction_handler
db 'cmpltss',1
dw cmp_ss_instruction-assembler
dw cmp_ss_instruction-instruction_handler
db 'cmpxchg',0B0h
dw basic_486_instruction-assembler
dw basic_486_instruction-instruction_handler
db 'display',0
dw display_directive-assembler
dw display_directive-instruction_handler
db 'fcmovbe',0D0h
dw fcmov_instruction-assembler
dw fcmov_instruction-instruction_handler
db 'fcmovnb',0C0h
dw fcomi_instruction-assembler
dw fcomi_instruction-instruction_handler
db 'fcmovne',0C8h
dw fcomi_instruction-assembler
dw fcomi_instruction-instruction_handler
db 'fcmovnu',0D8h
dw fcomi_instruction-assembler
dw fcomi_instruction-instruction_handler
db 'fdecstp',110110b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fincstp',110111b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fldenvd',4
dw fldenv_instruction_32bit-assembler
dw fldenv_instruction_32bit-instruction_handler
db 'fldenvw',4
dw fldenv_instruction_32bit-assembler
dw fldenv_instruction_32bit-instruction_handler
db 'fnsaved',6
dw fnsave_instruction_32bit-assembler
dw fnsave_instruction_32bit-instruction_handler
db 'fnsavew',6
dw fnsave_instruction_16bit-assembler
dw fnsave_instruction_16bit-instruction_handler
db 'fnstenv',6
dw fldenv_instruction-assembler
dw fldenv_instruction-instruction_handler
db 'frndint',111100b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'frstord',4
dw fnsave_instruction_32bit-assembler
dw fnsave_instruction_32bit-instruction_handler
db 'frstorw',4
dw fnsave_instruction_16bit-assembler
dw fnsave_instruction_16bit-instruction_handler
db 'fsincos',111011b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fstenvd',6
dw fstenv_instruction_32bit-assembler
dw fstenv_instruction_32bit-instruction_handler
db 'fstenvw',6
dw fstenv_instruction_16bit-assembler
dw fstenv_instruction_16bit-instruction_handler
db 'fucomip',0E8h
dw fcomip_instruction-assembler
dw fcomip_instruction-instruction_handler
db 'fucompp',0
dw fucompp_instruction-assembler
dw fucompp_instruction-instruction_handler
db 'fxrstor',1
dw fxsave_instruction-assembler
dw fxsave_instruction-instruction_handler
db 'fxtract',110100b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'fyl2xp1',111001b
dw simple_fpu_instruction-assembler
dw simple_fpu_instruction-instruction_handler
db 'insertq',0
dw insertq_instruction-assembler
dw insertq_instruction-instruction_handler
db 'invlpga',0DFh
dw invlpga_instruction-assembler
dw invlpga_instruction-instruction_handler
db 'invvpid',81h
dw vmx_inv_instruction-assembler
dw vmx_inv_instruction-instruction_handler
db 'ldmxcsr',10b
dw fxsave_instruction-assembler
dw fxsave_instruction-instruction_handler
db 'loopned',0E0h
dw loop_instruction_32bit-assembler
dw loop_instruction_32bit-instruction_handler
db 'loopneq',0E0h
dw loop_instruction_64bit-assembler
dw loop_instruction_64bit-instruction_handler
db 'loopnew',0E0h
dw loop_instruction_16bit-assembler
dw loop_instruction_16bit-instruction_handler
db 'loopnzd',0E0h
dw loop_instruction_32bit-assembler
dw loop_instruction_32bit-instruction_handler
db 'loopnzq',0E0h
dw loop_instruction_64bit-assembler
dw loop_instruction_64bit-instruction_handler
db 'loopnzw',0E0h
dw loop_instruction_16bit-assembler
dw loop_instruction_16bit-instruction_handler
db 'monitor',0C8h
dw monitor_instruction-assembler
dw monitor_instruction-instruction_handler
db 'movddup',12h
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'movdq2q',0
dw movdq2q_instruction-assembler
dw movdq2q_instruction-instruction_handler
db 'movhlps',12h
dw movhlps_instruction-assembler
dw movhlps_instruction-instruction_handler
db 'movlhps',16h
dw movhlps_instruction-assembler
dw movhlps_instruction-instruction_handler
db 'movntdq',0E7h
dw movntdq_instruction-assembler
dw movntdq_instruction-instruction_handler
db 'movntpd',2Bh
dw movntdq_instruction-assembler
dw movntdq_instruction-instruction_handler
db 'movntps',2Bh
dw movntps_instruction-assembler
dw movntps_instruction-instruction_handler
db 'movntsd',2Bh
dw movntsd_instruction-assembler
dw movntsd_instruction-instruction_handler
db 'movntss',2Bh
dw movntss_instruction-assembler
dw movntss_instruction-instruction_handler
db 'movq2dq',0
dw movq2dq_instruction-assembler
dw movq2dq_instruction-instruction_handler
db 'mpsadbw',42h
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'paddusb',0DCh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'paddusw',0DDh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'palignr',0
dw palignr_instruction-assembler
dw palignr_instruction-instruction_handler
db 'pavgusb',0BFh
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pblendw',0Eh
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'pcmpeqb',74h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pcmpeqd',76h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pcmpeqq',29h
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pcmpeqw',75h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pcmpgtb',64h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pcmpgtd',66h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pcmpgtq',37h
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'pcmpgtw',65h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pfcmpeq',0B0h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfcmpge',90h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfcmpgt',0A0h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfpnacc',8Eh
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfrsqrt',97h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'phaddsw',3
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'phsubsw',7
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'pmaddwd',0F5h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pmulhrw',0B7h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pmulhuw',0E4h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pmuludq',0F4h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pshufhw',0F3h
dw pshufd_instruction-assembler
dw pshufd_instruction-instruction_handler
db 'pshuflw',0F2h
dw pshufd_instruction-assembler
dw pshufd_instruction-instruction_handler
db 'psubusb',0D8h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'psubusw',0D9h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'roundpd',9
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'roundps',8
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'roundsd',0Bh
dw sse4_sd_instruction_3a_imm8-assembler
dw sse4_sd_instruction_3a_imm8-instruction_handler
db 'roundss',0Ah
dw sse4_ss_instruction_3a_imm8-assembler
dw sse4_ss_instruction_3a_imm8-instruction_handler
db 'rsqrtps',52h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'rsqrtss',52h
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'section',0
dw section_directive-assembler
dw section_directive-instruction_handler
db 'segment',0
dw segment_directive-assembler
dw segment_directive-instruction_handler
db 'stmxcsr',11b
dw fxsave_instruction-assembler
dw fxsave_instruction-instruction_handler
db 'syscall',05h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'sysexit',35h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'sysretq',07h
dw simple_extended_instruction_64bit-assembler
dw simple_extended_instruction_64bit-instruction_handler
db 'ucomisd',2Eh
dw comisd_instruction-assembler
dw comisd_instruction-instruction_handler
db 'ucomiss',2Eh
dw comiss_instruction-assembler
dw comiss_instruction-instruction_handler
db 'virtual',0
dw virtual_directive-assembler
dw virtual_directive-instruction_handler
db 'vmclear',6
dw vmclear_instruction-assembler
dw vmclear_instruction-instruction_handler
db 'vmmcall',0D9h
dw simple_vmx_instruction-assembler
dw simple_vmx_instruction-instruction_handler
db 'vmptrld',6
dw vmx_instruction-assembler
dw vmx_instruction-instruction_handler
db 'vmptrst',7
dw vmx_instruction-assembler
dw vmx_instruction-instruction_handler
db 'vmwrite',0
dw vmwrite_instruction-assembler
dw vmwrite_instruction-instruction_handler
instructions_8:
db 'addsubpd',0D0h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'addsubps',0D0h
dw cvtpd2dq_instruction-assembler
dw cvtpd2dq_instruction-instruction_handler
db 'blendvpd',15h
dw sse4_instruction_38_xmm0-assembler
dw sse4_instruction_38_xmm0-instruction_handler
db 'blendvps',14h
dw sse4_instruction_38_xmm0-assembler
dw sse4_instruction_38_xmm0-instruction_handler
db 'cmpneqpd',4
dw cmp_pd_instruction-assembler
dw cmp_pd_instruction-instruction_handler
db 'cmpneqps',4
dw cmp_ps_instruction-assembler
dw cmp_ps_instruction-instruction_handler
db 'cmpneqsd',4
dw cmp_sd_instruction-assembler
dw cmp_sd_instruction-instruction_handler
db 'cmpneqss',4
dw cmp_ss_instruction-assembler
dw cmp_ss_instruction-instruction_handler
db 'cmpnlepd',6
dw cmp_pd_instruction-assembler
dw cmp_pd_instruction-instruction_handler
db 'cmpnleps',6
dw cmp_ps_instruction-assembler
dw cmp_ps_instruction-instruction_handler
db 'cmpnlesd',6
dw cmp_sd_instruction-assembler
dw cmp_sd_instruction-instruction_handler
db 'cmpnless',6
dw cmp_ss_instruction-assembler
dw cmp_ss_instruction-instruction_handler
db 'cmpnltpd',5
dw cmp_pd_instruction-assembler
dw cmp_pd_instruction-instruction_handler
db 'cmpnltps',5
dw cmp_ps_instruction-assembler
dw cmp_ps_instruction-instruction_handler
db 'cmpnltsd',5
dw cmp_sd_instruction-assembler
dw cmp_sd_instruction-instruction_handler
db 'cmpnltss',5
dw cmp_ss_instruction-assembler
dw cmp_ss_instruction-instruction_handler
db 'cmpordpd',7
dw cmp_pd_instruction-assembler
dw cmp_pd_instruction-instruction_handler
db 'cmpordps',7
dw cmp_ps_instruction-assembler
dw cmp_ps_instruction-instruction_handler
db 'cmpordsd',7
dw cmp_sd_instruction-assembler
dw cmp_sd_instruction-instruction_handler
db 'cmpordss',7
dw cmp_ss_instruction-assembler
dw cmp_ss_instruction-instruction_handler
db 'cvtdq2pd',0E6h
dw cvtdq2pd_instruction-assembler
dw cvtdq2pd_instruction-instruction_handler
db 'cvtdq2ps',5Bh
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'cvtpd2dq',0E6h
dw cvtpd2dq_instruction-assembler
dw cvtpd2dq_instruction-instruction_handler
db 'cvtpd2pi',2Dh
dw cvtpd2pi_instruction-assembler
dw cvtpd2pi_instruction-instruction_handler
db 'cvtpd2ps',5Ah
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'cvtpi2pd',2Ah
dw cvtpi2pd_instruction-assembler
dw cvtpi2pd_instruction-instruction_handler
db 'cvtpi2ps',2Ah
dw cvtpi2ps_instruction-assembler
dw cvtpi2ps_instruction-instruction_handler
db 'cvtps2dq',5Bh
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'cvtps2pd',5Ah
dw cvtps2pd_instruction-assembler
dw cvtps2pd_instruction-instruction_handler
db 'cvtps2pi',2Dh
dw cvtps2pi_instruction-assembler
dw cvtps2pi_instruction-instruction_handler
db 'cvtsd2si',2Dh
dw cvtsd2si_instruction-assembler
dw cvtsd2si_instruction-instruction_handler
db 'cvtsd2ss',5Ah
dw sse_sd_instruction-assembler
dw sse_sd_instruction-instruction_handler
db 'cvtsi2sd',2Ah
dw cvtsi2sd_instruction-assembler
dw cvtsi2sd_instruction-instruction_handler
db 'cvtsi2ss',2Ah
dw cvtsi2ss_instruction-assembler
dw cvtsi2ss_instruction-instruction_handler
db 'cvtss2sd',5Ah
dw sse_ss_instruction-assembler
dw sse_ss_instruction-instruction_handler
db 'cvtss2si',2Dh
dw cvtss2si_instruction-assembler
dw cvtss2si_instruction-instruction_handler
db 'fcmovnbe',0D0h
dw fcomi_instruction-assembler
dw fcomi_instruction-instruction_handler
db 'fnstenvd',6
dw fldenv_instruction_32bit-assembler
dw fldenv_instruction_32bit-instruction_handler
db 'fnstenvw',6
dw fldenv_instruction_16bit-assembler
dw fldenv_instruction_16bit-instruction_handler
db 'insertps',0
dw insertps_instruction-assembler
dw insertps_instruction-instruction_handler
db 'maskmovq',0
dw maskmovq_instruction-assembler
dw maskmovq_instruction-instruction_handler
db 'movmskpd',0
dw movmskpd_instruction-assembler
dw movmskpd_instruction-instruction_handler
db 'movmskps',0
dw movmskps_instruction-assembler
dw movmskps_instruction-instruction_handler
db 'movntdqa',0
dw movntdqa_instruction-assembler
dw movntdqa_instruction-instruction_handler
db 'movshdup',16h
dw cvtdq2pd_instruction-assembler
dw cvtdq2pd_instruction-instruction_handler
db 'movsldup',12h
dw cvtdq2pd_instruction-assembler
dw cvtdq2pd_instruction-instruction_handler
db 'packssdw',6Bh
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'packsswb',63h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'packusdw',2Bh
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'packuswb',67h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'pblendvb',10h
dw sse4_instruction_38_xmm0-assembler
dw sse4_instruction_38_xmm0-instruction_handler
db 'pfrcpit1',0A6h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfrcpit2',0B6h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pfrsqit1',0A7h
dw amd3dnow_instruction-assembler
dw amd3dnow_instruction-instruction_handler
db 'pmovmskb',0D7h
dw pmovmskb_instruction-assembler
dw pmovmskb_instruction-instruction_handler
db 'pmovsxbd',21h
dw pmovsxbd_instruction-assembler
dw pmovsxbd_instruction-instruction_handler
db 'pmovsxbq',22h
dw pmovsxbq_instruction-assembler
dw pmovsxbq_instruction-instruction_handler
db 'pmovsxbw',20h
dw pmovsxbw_instruction-assembler
dw pmovsxbw_instruction-instruction_handler
db 'pmovsxdq',25h
dw pmovsxdq_instruction-assembler
dw pmovsxdq_instruction-instruction_handler
db 'pmovsxwd',23h
dw pmovsxwd_instruction-assembler
dw pmovsxwd_instruction-instruction_handler
db 'pmovsxwq',24h
dw pmovsxwq_instruction-assembler
dw pmovsxwq_instruction-instruction_handler
db 'pmovzxbd',31h
dw pmovsxbd_instruction-assembler
dw pmovsxbd_instruction-instruction_handler
db 'pmovzxbq',32h
dw pmovsxbq_instruction-assembler
dw pmovsxbq_instruction-instruction_handler
db 'pmovzxbw',30h
dw pmovsxbw_instruction-assembler
dw pmovsxbw_instruction-instruction_handler
db 'pmovzxdq',35h
dw pmovsxdq_instruction-assembler
dw pmovsxdq_instruction-instruction_handler
db 'pmovzxwd',33h
dw pmovsxwd_instruction-assembler
dw pmovsxwd_instruction-instruction_handler
db 'pmovzxwq',34h
dw pmovsxwq_instruction-assembler
dw pmovsxwq_instruction-instruction_handler
db 'pmulhrsw',0Bh
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'prefetch',0
dw amd_prefetch_instruction-assembler
dw amd_prefetch_instruction-instruction_handler
db 'sysenter',34h
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'sysexitq',35h
dw simple_extended_instruction_64bit-assembler
dw simple_extended_instruction_64bit-instruction_handler
db 'unpckhpd',15h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'unpckhps',15h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'unpcklpd',14h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'unpcklps',14h
dw sse_ps_instruction-assembler
dw sse_ps_instruction-instruction_handler
db 'vmlaunch',0C2h
dw simple_vmx_instruction-assembler
dw simple_vmx_instruction-instruction_handler
db 'vmresume',0C3h
dw simple_vmx_instruction-assembler
dw simple_vmx_instruction-instruction_handler
instructions_9:
db 'cmpxchg8b',8
dw cmpxchgx_instruction-assembler
dw cmpxchgx_instruction-instruction_handler
db 'cvttpd2dq',0E6h
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'cvttpd2pi',2Ch
dw cvtpd2pi_instruction-assembler
dw cvtpd2pi_instruction-instruction_handler
db 'cvttps2dq',5Bh
dw cvtdq2pd_instruction-assembler
dw cvtdq2pd_instruction-instruction_handler
db 'cvttps2pi',2Ch
dw cvtps2pi_instruction-assembler
dw cvtps2pi_instruction-instruction_handler
db 'cvttsd2si',2Ch
dw cvtsd2si_instruction-assembler
dw cvtsd2si_instruction-instruction_handler
db 'cvttss2si',2Ch
dw cvtss2si_instruction-assembler
dw cvtss2si_instruction-instruction_handler
db 'extractps',0
dw extractps_instruction-assembler
dw extractps_instruction-instruction_handler
db 'pcmpestri',61h
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'pcmpestrm',60h
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'pcmpistri',63h
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'pcmpistrm',62h
dw sse4_instruction_3a_imm8-assembler
dw sse4_instruction_3a_imm8-instruction_handler
db 'pmaddubsw',4
dw ssse3_instruction-assembler
dw ssse3_instruction-instruction_handler
db 'prefetchw',1
dw amd_prefetch_instruction-assembler
dw amd_prefetch_instruction-instruction_handler
db 'punpckhbw',68h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'punpckhdq',6Ah
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'punpckhwd',69h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'punpcklbw',60h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'punpckldq',62h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
db 'punpcklwd',61h
dw basic_mmx_instruction-assembler
dw basic_mmx_instruction-instruction_handler
instructions_10:
db 'cmpunordpd',3
dw cmp_pd_instruction-assembler
dw cmp_pd_instruction-instruction_handler
db 'cmpunordps',3
dw cmp_ps_instruction-assembler
dw cmp_ps_instruction-instruction_handler
db 'cmpunordsd',3
dw cmp_sd_instruction-assembler
dw cmp_sd_instruction-instruction_handler
db 'cmpunordss',3
dw cmp_ss_instruction-assembler
dw cmp_ss_instruction-instruction_handler
db 'cmpxchg16b',16
dw cmpxchgx_instruction-assembler
dw cmpxchgx_instruction-instruction_handler
db 'loadall286',5
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'loadall386',7
dw simple_extended_instruction-assembler
dw simple_extended_instruction-instruction_handler
db 'maskmovdqu',0
dw maskmovdqu_instruction-assembler
dw maskmovdqu_instruction-instruction_handler
db 'phminposuw',41h
dw sse4_instruction_38-assembler
dw sse4_instruction_38-instruction_handler
db 'prefetcht0',1
dw prefetch_instruction-assembler
dw prefetch_instruction-instruction_handler
db 'prefetcht1',2
dw prefetch_instruction-assembler
dw prefetch_instruction-instruction_handler
db 'prefetcht2',3
dw prefetch_instruction-assembler
dw prefetch_instruction-instruction_handler
db 'punpckhqdq',6Dh
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
db 'punpcklqdq',6Ch
dw sse_pd_instruction-assembler
dw sse_pd_instruction-instruction_handler
instructions_11:
db 'prefetchnta',0
dw prefetch_instruction-assembler
dw prefetch_instruction-instruction_handler
instructions_end:
 
data_directives:
1992,37 → 1997,37
 
data_directives_2:
db 'db',1
dw data_bytes-assembler
dw data_bytes-instruction_handler
db 'dd',4
dw data_dwords-assembler
dw data_dwords-instruction_handler
db 'df',6
dw data_pwords-assembler
dw data_pwords-instruction_handler
db 'dp',6
dw data_pwords-assembler
dw data_pwords-instruction_handler
db 'dq',8
dw data_qwords-assembler
dw data_qwords-instruction_handler
db 'dt',10
dw data_twords-assembler
dw data_twords-instruction_handler
db 'du',2
dw data_unicode-assembler
dw data_unicode-instruction_handler
db 'dw',2
dw data_words-assembler
dw data_words-instruction_handler
db 'rb',1
dw reserve_bytes-assembler
dw reserve_bytes-instruction_handler
db 'rd',4
dw reserve_dwords-assembler
dw reserve_dwords-instruction_handler
db 'rf',6
dw reserve_pwords-assembler
dw reserve_pwords-instruction_handler
db 'rp',6
dw reserve_pwords-assembler
dw reserve_pwords-instruction_handler
db 'rq',8
dw reserve_qwords-assembler
dw reserve_qwords-instruction_handler
db 'rt',10
dw reserve_twords-assembler
dw reserve_twords-instruction_handler
db 'rw',2
dw reserve_words-assembler
dw reserve_words-instruction_handler
data_directives_3:
data_directives_4:
db 'file',1
dw data_file-assembler
dw data_file-instruction_handler
data_directives_end:
/programs/develop/fasm/trunk/version.inc
33,7 → 33,7
; cannot simply be copied and put under another distribution licence
; (including the GNU Public Licence).
 
VERSION_STRING equ "1.68"
VERSION_STRING equ "1.69.06"
 
VERSION_MAJOR = 1
VERSION_MINOR = 68
/programs/develop/fasm/trunk/x86_64.inc
44,8 → 44,8
simple_extended_instruction_64bit:
cmp [code_type],64
jne illegal_instruction
mov al,48h
stos byte [edi]
mov byte [edi],48h
inc edi
simple_extended_instruction:
mov ah,al
mov al,0Fh
472,8 → 472,8
mov [base_code],0A2h
store_mov_address32:
call store_instruction_code
push instruction_assembled
jmp store_address_32bit_value
call store_address_32bit_value
jmp instruction_assembled
mov_mem_address16_al:
call store_segment_prefix_if_necessary
call address_16bit_prefix
492,8 → 492,8
mov [base_code],0A2h
store_mov_address64:
call store_instruction_code
push instruction_assembled
jmp store_address_64bit_value
call store_address_64bit_value
jmp instruction_assembled
mov_mem_ax:
test ch,22h
jnz mov_mem_address16_ax
3284,6 → 3284,7
cmp [code_type],64
jne invalid_operand_size
call get_address_qword_value
call loop_counter_size
call calculate_jump_offset
mov ecx,edx
cdq
4893,6 → 4894,7
cmp [immediate_size],-1
jne sse_ok
call take_additional_xmm0
mov [immediate_size],0
sse_ok:
jmp instruction_ready
sse_xmmreg_xmmreg:
4913,13 → 4915,14
cmp [immediate_size],-1
jne sse_nomem_ok
call take_additional_xmm0
mov [immediate_size],0
sse_nomem_ok:
jmp nomem_instruction_ready
take_additional_xmm0:
cmp byte [esi],','
jne additional_xmm0_ok
inc esi
lods byte [esi]
cmp al,','
jne invalid_operand
lods byte [esi]
cmp al,10h
jne invalid_operand
lods byte [esi]
4928,6 → 4931,7
jne invalid_operand_size
test al,al
jnz invalid_operand
additional_xmm0_ok:
ret
 
ps_dq_instruction:
5483,12 → 5487,11
mov [postbyte_register],al
pop ebx
mov al,bh
cmp al,4
je mmx_nomem_imm8
cmp al,8
je extractps_store
cmp al,4
jne invalid_operand_size
extractps_store:
call operand_autodetect
call operand_64bit
jmp mmx_nomem_imm8
insertps_instruction:
mov [opcode_prefix],66h
5874,6 → 5877,10
jmp instruction_ready
monitor_instruction:
mov [postbyte_register],al
cmp byte [esi],0
je monitor_instruction_store
cmp byte [esi],0Fh
je monitor_instruction_store
lods byte [esi]
call get_size_operator
cmp al,10h
6074,6 → 6081,7
cmp al,','
jne invalid_operand
mov [operand_size],0
call operand_64bit
lods byte [esi]
call get_size_operator
cmp al,10h
6105,6 → 6113,57
popcnt_instruction:
mov [opcode_prefix],0F3h
jmp bs_instruction
movbe_instruction:
mov [supplemental_code],al
mov [extended_code],38h
mov [base_code],0Fh
lods byte [esi]
call get_size_operator
cmp al,'['
je movbe_mem
cmp al,10h
jne invalid_operand
lods byte [esi]
call convert_register
mov [postbyte_register],al
lods byte [esi]
cmp al,','
jne invalid_operand
lods byte [esi]
call get_size_operator
; cmp al,10h
; je movbe_reg_reg
cmp al,'['
jne invalid_argument
call get_address
mov al,[operand_size]
call operand_autodetect
jmp instruction_ready
; movbe_reg_reg:
; lods byte [esi]
; call convert_register
; mov bl,al
; mov al,ah
; call operand_autodetect
; jmp nomem_instruction_ready
movbe_mem:
inc [supplemental_code]
call get_address
push edx ebx ecx
lods byte [esi]
cmp al,','
jne invalid_operand
lods byte [esi]
call get_size_operator
cmp al,10h
jne invalid_operand
lods byte [esi]
call convert_register
mov [postbyte_register],al
pop ecx ebx edx
mov al,[operand_size]
call operand_autodetect
jmp instruction_ready
 
simple_vmx_instruction:
mov ah,al
6705,15 → 6764,6
cmp [code_type],64
jne invalid_address_size
address_prefix_ok:
test bh,1000b
jz base_code_ok
or [rex_prefix],41h
base_code_ok:
test bl,1000b
jz index_code_ok
or [rex_prefix],42h
index_code_ok:
call store_instruction_code
cmp bl,44h
je swap_base_with_index
cmp bl,84h
6727,6 → 6777,15
cmp bl,84h
je invalid_address
base_register_ok:
test bh,1000b
jz base_code_ok
or [rex_prefix],41h
base_code_ok:
test bl,1000b
jz index_code_ok
or [rex_prefix],42h
index_code_ok:
call store_instruction_code
or cl,cl
jz only_base_register
base_and_index: