forked from KolibriOS/kolibrios
fasm version 1.67.38 (Mar 29, 2009)
[-] Fixed a bug with size of memory operand for ROUNDSS/ROUNDSD git-svn-id: svn://kolibrios.org@1062 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1ed35470d7
commit
7438822d17
@ -1014,11 +1014,8 @@ calculate_expression:
|
||||
jne operand_sizes_do_not_match
|
||||
jmp calculation_loop
|
||||
current_offset_label:
|
||||
mov al,[labels_type]
|
||||
mov [edi+12],al
|
||||
mov eax,[org_symbol]
|
||||
mov [edi+16],eax
|
||||
mov eax,[current_offset]
|
||||
make_current_offset_label:
|
||||
xor edx,edx
|
||||
sub eax,dword [org_origin]
|
||||
sbb edx,dword [org_origin+4]
|
||||
@ -1027,24 +1024,15 @@ calculate_expression:
|
||||
stos dword [edi]
|
||||
mov eax,[org_registers]
|
||||
stos dword [edi]
|
||||
mov al,[labels_type]
|
||||
mov [edi-12+12],al
|
||||
mov eax,[org_symbol]
|
||||
mov [edi-12+16],eax
|
||||
add edi,8
|
||||
jmp calculation_loop
|
||||
org_origin_label:
|
||||
mov al,[labels_type]
|
||||
mov [edi+12],al
|
||||
mov eax,[org_symbol]
|
||||
mov [edi+16],eax
|
||||
mov eax,[org_start]
|
||||
xor edx,edx
|
||||
sub eax,dword [org_origin]
|
||||
sbb edx,dword [org_origin+4]
|
||||
stos dword [edi]
|
||||
mov eax,edx
|
||||
stos dword [edi]
|
||||
mov eax,[org_registers]
|
||||
stos dword [edi]
|
||||
add edi,8
|
||||
jmp calculation_loop
|
||||
jmp make_current_offset_label
|
||||
counter_label:
|
||||
mov eax,[counter]
|
||||
make_dword_label_value:
|
||||
|
@ -1714,9 +1714,9 @@ instructions_7:
|
||||
db 'roundps',8
|
||||
dw sse4_instruction_3a_imm8-assembler
|
||||
db 'roundsd',0Bh
|
||||
dw sse4_instruction_3a_imm8-assembler
|
||||
dw sse4_sd_instruction_3a_imm8-assembler
|
||||
db 'roundss',0Ah
|
||||
dw sse4_instruction_3a_imm8-assembler
|
||||
dw sse4_ss_instruction_3a_imm8-assembler
|
||||
db 'rsqrtps',52h
|
||||
dw sse_ps_instruction-assembler
|
||||
db 'rsqrtss',52h
|
||||
|
@ -33,7 +33,7 @@
|
||||
; cannot simply be copied and put under another distribution licence
|
||||
; (including the GNU Public Licence).
|
||||
|
||||
VERSION_STRING equ "1.67.37"
|
||||
VERSION_STRING equ "1.67.38"
|
||||
|
||||
VERSION_MAJOR = 1
|
||||
VERSION_MINOR = 67
|
||||
|
@ -4821,12 +4821,12 @@ movdq2q_instruction:
|
||||
jmp nomem_instruction_ready
|
||||
|
||||
sse_ps_instruction_imm8:
|
||||
mov [immediate_size],8
|
||||
mov [immediate_size],1
|
||||
sse_ps_instruction:
|
||||
mov [mmx_size],16
|
||||
jmp sse_instruction
|
||||
sse_pd_instruction_imm8:
|
||||
mov [immediate_size],8
|
||||
mov [immediate_size],1
|
||||
sse_pd_instruction:
|
||||
mov [mmx_size],16
|
||||
mov [opcode_prefix],66h
|
||||
@ -4888,7 +4888,7 @@ sse_instruction:
|
||||
cmp [operand_size],al
|
||||
jne invalid_operand_size
|
||||
sse_mem_size_ok:
|
||||
cmp [immediate_size],8
|
||||
cmp [immediate_size],1
|
||||
je mmx_imm8
|
||||
cmp [immediate_size],-1
|
||||
jne sse_ok
|
||||
@ -4908,7 +4908,7 @@ sse_instruction:
|
||||
cmp ah,16
|
||||
jne invalid_operand_size
|
||||
mov bl,al
|
||||
cmp [immediate_size],8
|
||||
cmp [immediate_size],1
|
||||
je mmx_nomem_imm8
|
||||
cmp [immediate_size],-1
|
||||
jne sse_nomem_ok
|
||||
@ -5405,22 +5405,31 @@ sse4_instruction_38_xmm0:
|
||||
mov [immediate_size],-1
|
||||
jmp sse4_instruction_38
|
||||
sse4_instruction_38_imm8:
|
||||
mov [immediate_size],8
|
||||
mov [immediate_size],1
|
||||
sse4_instruction_38:
|
||||
mov [mmx_size],16
|
||||
mov [opcode_prefix],66h
|
||||
mov [base_code],0Fh
|
||||
mov [supplemental_code],al
|
||||
mov al,38h
|
||||
mov [mmx_size],16
|
||||
jmp sse_instruction
|
||||
sse4_ss_instruction_3a_imm8:
|
||||
mov [immediate_size],1
|
||||
mov [mmx_size],4
|
||||
jmp sse4_instruction_3a_setup
|
||||
sse4_sd_instruction_3a_imm8:
|
||||
mov [immediate_size],1
|
||||
mov [mmx_size],8
|
||||
jmp sse4_instruction_3a_setup
|
||||
sse4_instruction_3a_imm8:
|
||||
mov [immediate_size],8
|
||||
mov [immediate_size],1
|
||||
sse4_instruction_3a:
|
||||
mov [mmx_size],16
|
||||
sse4_instruction_3a_setup:
|
||||
mov [opcode_prefix],66h
|
||||
mov [base_code],0Fh
|
||||
mov [supplemental_code],al
|
||||
mov al,3Ah
|
||||
mov [mmx_size],16
|
||||
jmp sse_instruction
|
||||
extractps_instruction:
|
||||
mov [opcode_prefix],66h
|
||||
|
Loading…
Reference in New Issue
Block a user