Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1038 → Rev 1039

/programs/develop/fasm/trunk/assemble.inc
1,6 → 1,6
 
; flat assembler core
; Copyright (c) 1999-2007, Tomasz Grysztar.
; Copyright (c) 1999-2009, Tomasz Grysztar.
; All rights reserved.
 
assembler:
357,6 → 357,7
; mov [operand_prefix],0
; mov [rex_prefix],0
mov dword [operand_size],0
mov [opcode_prefix],0
mov [immediate_size],0
movzx ebx,word [esi]
mov al,[esi+2]
1587,8 → 1588,41
stos dword [edi]
mov ax,[esi+8]
add ax,3FFFh
cmp ax,8000h
jo value_out_of_range
cmp ax,7FFFh
jge value_out_of_range
cmp ax,0
jg tword_exp_ok
mov cx,ax
neg cx
inc cx
cmp cx,64
jae value_out_of_range
cmp cx,32
ja large_shift
mov eax,[esi]
mov edx,[esi+4]
mov ebx,edx
shr edx,cl
shrd eax,ebx,cl
jmp tword_mantissa_shift_done
large_shift:
sub cx,32
xor edx,edx
mov eax,[esi+4]
shr eax,cl
tword_mantissa_shift_done:
jnc store_shifted_mantissa
add eax,1
adc edx,0
store_shifted_mantissa:
mov [edi-8],eax
mov [edi-4],edx
xor ax,ax
test edx,1 shl 31
jz tword_exp_ok
inc ax
tword_exp_ok:
mov bl,[esi+11]
shl bx,15
or ax,bx
1989,3 → 2023,10
nops_stosw_ok:
rep stos dword [edi]
jmp reserved_data
err_directive:
mov al,[esi]
cmp al,0Fh
je invoked_error
or al,al
jz invoked_error
jmp extra_characters_on_line