Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 706 → Rev 707

/programs/develop/fasm/trunk/x86_64.inc
5022,9 → 5022,13
call store_nomem_instruction
jmp instruction_assembled
 
sse_ps_instruction_imm8:
mov [immediate_size],8
sse_ps_instruction:
mov [mmx_size],16
jmp sse_instruction
sse_pd_instruction_imm8:
mov [immediate_size],8
sse_pd_instruction:
mov [mmx_size],16
mov [operand_prefix],66h
5086,8 → 5090,12
cmp [operand_size],al
jne invalid_operand_size
sse_mem_size_ok:
cmp [extended_code],0C6h
cmp [immediate_size],8
je mmx_imm8
cmp [immediate_size],-1
jne sse_ok
call take_additional_xmm0
sse_ok:
call store_instruction
jmp instruction_assembled
sse_xmmreg_xmmreg:
5103,10 → 5111,29
cmp ah,16
jne invalid_operand_size
mov bl,al
cmp [extended_code],0C6h
cmp [immediate_size],8
je mmx_nomem_imm8
cmp [immediate_size],-1
jne sse_nomem_ok
call take_additional_xmm0
sse_nomem_ok:
call store_nomem_instruction
jmp instruction_assembled
take_additional_xmm0:
lods byte [esi]
cmp al,','
jne invalid_operand
lods byte [esi]
cmp al,10h
jne invalid_operand
lods byte [esi]
call convert_mmx_register
cmp ah,16
jne invalid_operand_size
test al,al
jnz invalid_operand
ret
 
ps_dq_instruction:
mov [postbyte_register],al
mov [operand_prefix],66h
5585,6 → 5612,26
stos byte [edi]
jmp instruction_assembled
 
sse4_instruction_38_xmm0:
mov [immediate_size],-1
jmp sse4_instruction_38
sse4_instruction_38_imm8:
mov [immediate_size],8
sse4_instruction_38:
mov [operand_prefix],66h
mov [base_code],0Fh
mov [supplemental_code],al
mov al,38h
jmp sse_instruction
sse4_instruction_3a_imm8:
mov [immediate_size],8
sse4_instruction_3a:
mov [operand_prefix],66h
mov [base_code],0Fh
mov [supplemental_code],al
mov al,3Ah
jmp sse_instruction
 
fxsave_instruction:
mov [extended_code],0AEh
mov [base_code],0Fh
6063,7 → 6110,13
mov [address_high],edx
cdq
cmp edx,[address_high]
jne value_out_of_range
je address_high_ok
cmp [error_line],0
jne address_high_ok
mov ebx,[current_line]
mov [error_line],ebx
mov [error],value_out_of_range
address_high_ok:
mov edx,eax
ror ecx,16
mov cl,[value_type]