Rev 1189 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1189 | Rev 1242 | ||
---|---|---|---|
Line 5967... | Line 5967... | ||
5967 | jnz invalid_operand_size |
5967 | jnz invalid_operand_size |
5968 | cmp al,'(' |
5968 | cmp al,'(' |
5969 | jne invalid_operand |
5969 | jne invalid_operand |
5970 | xor bl,bl |
5970 | xor bl,bl |
5971 | call store_nomem_instruction |
5971 | xchg bl,[postbyte_register] |
- | 5972 | call store_nomem_instruction |
|
5972 | call get_byte_value |
5973 | call get_byte_value |
5973 | stosb |
5974 | stosb |
5974 | call append_imm8 |
5975 | call append_imm8 |
5975 | jmp instruction_assembled |
5976 | jmp instruction_assembled |
5976 | extrq_xmmreg_xmmreg: |
5977 | extrq_xmmreg_xmmreg: |
Line 6987... | Line 6988... | ||
6987 | mov eax,[address_high] |
6988 | mov eax,[address_high] |
6988 | stos dword [edi] |
6989 | stos dword [edi] |
6989 | ret |
6990 | ret |
6990 | address_immediate_sib: |
6991 | address_immediate_sib: |
6991 | test ch,not 44h |
6992 | test ch,44h |
- | 6993 | jnz address_immediate_sib_32bit |
|
- | 6994 | test ch,not 88h |
|
6992 | jnz invalid_address_size |
6995 | jnz invalid_address_size |
6993 | test ecx,0FF0000h |
6996 | xor eax,eax |
6994 | jnz address_immediate_sib_nosignextend |
6997 | bt edx,31 |
6995 | test edx,80000000h |
- | |
6996 | jz address_immediate_sib_prefix_ok |
6998 | sbb eax,0 |
6997 | address_immediate_sib_nosignextend: |
6999 | cmp eax,[address_high] |
6998 | call address_32bit_prefix |
7000 | jne value_out_of_range |
6999 | address_immediate_sib_prefix_ok: |
7001 | address_immediate_sib_store: |
7000 | call store_instruction_code |
7002 | call store_instruction_code |
7001 | mov al,100b |
7003 | mov al,100b |
7002 | mov ah,100101b |
7004 | mov ah,100101b |
7003 | mov cl,[postbyte_register] |
7005 | mov cl,[postbyte_register] |
7004 | shl cl,3 |
7006 | shl cl,3 |
7005 | or al,cl |
7007 | or al,cl |
7006 | stos word [edi] |
7008 | stos word [edi] |
7007 | jmp store_address_32bit_value |
7009 | jmp store_address_32bit_value |
7008 | address_eip_based: |
7010 | address_immediate_sib_32bit: |
- | 7011 | test ecx,0FF0000h |
|
- | 7012 | jnz address_immediate_sib_nosignextend |
|
- | 7013 | test edx,80000000h |
|
- | 7014 | jz address_immediate_sib_store |
|
- | 7015 | address_immediate_sib_nosignextend: |
|
- | 7016 | call address_32bit_prefix |
|
- | 7017 | jmp address_immediate_sib_store |
|
- | 7018 | address_eip_based: |
|
7009 | mov al,67h |
7019 | mov al,67h |
7010 | stos byte [edi] |
7020 | stos byte [edi] |
7011 | address_rip_based: |
7021 | address_rip_based: |
7012 | cmp [code_type],64 |
7022 | cmp [code_type],64 |
7013 | jne invalid_address |
7023 | jne invalid_address |