Rev 370 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 370 | Rev 607 | ||
---|---|---|---|
Line 5773... | Line 5773... | ||
5773 | vmread_instruction: |
5773 | vmread_instruction: |
5774 | mov [extended_code],78h |
5774 | mov [extended_code],78h |
5775 | lods byte [esi] |
5775 | lods byte [esi] |
5776 | call get_size_operator |
5776 | call get_size_operator |
5777 | cmp al,'[' |
5777 | cmp al,10h |
- | 5778 | je vmread_nomem |
|
- | 5779 | cmp al,'[' |
|
5778 | jne invalid_operand |
5780 | jne invalid_operand |
5779 | call get_address |
5781 | call get_address |
5780 | lods byte [esi] |
5782 | lods byte [esi] |
5781 | cmp al,',' |
5783 | cmp al,',' |
5782 | jne invalid_operand |
5784 | jne invalid_operand |
5783 | lods byte [esi] |
5785 | call vmread_check_size |
- | 5786 | mov [operand_size],0 |
|
- | 5787 | lods byte [esi] |
|
- | 5788 | call get_size_operator |
|
- | 5789 | cmp al,10h |
|
- | 5790 | jne invalid_operand |
|
- | 5791 | lods byte [esi] |
|
- | 5792 | call convert_register |
|
- | 5793 | mov [postbyte_register],al |
|
- | 5794 | cmp [operand_size],4 |
|
- | 5795 | jne invalid_operand_size |
|
- | 5796 | jmp vmx_size_ok |
|
- | 5797 | vmread_nomem: |
|
- | 5798 | lods byte [esi] |
|
- | 5799 | call convert_register |
|
- | 5800 | push eax |
|
- | 5801 | call vmread_check_size |
|
- | 5802 | lods byte [esi] |
|
- | 5803 | cmp al,',' |
|
- | 5804 | jne invalid_operand |
|
- | 5805 | mov [operand_size],0 |
|
- | 5806 | lods byte [esi] |
|
5784 | call get_size_operator |
5807 | call get_size_operator |
5785 | cmp al,10h |
5808 | cmp al,10h |
5786 | jne invalid_operand |
5809 | jne invalid_operand |
5787 | lods byte [esi] |
5810 | lods byte [esi] |
5788 | call convert_register |
5811 | call convert_register |
5789 | mov [postbyte_register],al |
5812 | mov [postbyte_register],al |
5790 | vmread_check_size: |
5813 | cmp [operand_size],4 |
- | 5814 | jne invalid_operand_size |
|
- | 5815 | pop ebx |
|
- | 5816 | mov [base_code],0Fh |
|
- | 5817 | call store_nomem_instruction |
|
- | 5818 | jmp instruction_assembled |
|
- | 5819 | vmread_check_size: |
|
5791 | cmp [code_type],64 |
5820 | cmp [code_type],64 |
5792 | je vmread_long |
5821 | je vmread_long |
5793 | cmp [operand_size],4 |
5822 | cmp [operand_size],4 |
5794 | je vmx_size_ok |
5823 | jne invalid_operand_size |
5795 | jmp invalid_operand_size |
- | |
5796 | vmread_long: |
5824 | ret |
- | 5825 | vmread_long: |
|
5797 | cmp [operand_size],8 |
5826 | cmp [operand_size],8 |
5798 | je vmx_size_ok |
5827 | jne invalid_operand_size |
5799 | jmp invalid_operand_size |
- | |
5800 | vmwrite_instruction: |
5828 | ret |
- | 5829 | vmwrite_instruction: |
|
5801 | mov [extended_code],79h |
5830 | mov [extended_code],79h |
5802 | lods byte [esi] |
5831 | lods byte [esi] |
5803 | call get_size_operator |
5832 | call get_size_operator |
5804 | cmp al,10h |
5833 | cmp al,10h |
5805 | jne invalid_operand |
5834 | jne invalid_operand |
5806 | lods byte [esi] |
5835 | lods byte [esi] |
5807 | call convert_register |
5836 | call convert_register |
5808 | mov [postbyte_register],al |
5837 | mov [postbyte_register],al |
5809 | lods byte [esi] |
5838 | cmp [operand_size],4 |
- | 5839 | jne invalid_operand_size |
|
- | 5840 | mov [operand_size],0 |
|
- | 5841 | lods byte [esi] |
|
5810 | cmp al,',' |
5842 | cmp al,',' |
5811 | jne invalid_operand |
5843 | jne invalid_operand |
5812 | lods byte [esi] |
5844 | lods byte [esi] |
5813 | call get_size_operator |
5845 | call get_size_operator |
5814 | cmp al,'[' |
5846 | cmp al,10h |
- | 5847 | je vmwrite_nomem |
|
- | 5848 | cmp al,'[' |
|
5815 | jne invalid_operand |
5849 | jne invalid_operand |
5816 | call get_address |
5850 | call get_address |
5817 | jmp vmread_check_size |
5851 | call vmread_check_size |
5818 | simple_svm_instruction: |
5852 | jmp vmx_size_ok |
- | 5853 | vmwrite_nomem: |
|
- | 5854 | lods byte [esi] |
|
- | 5855 | call convert_register |
|
- | 5856 | mov bl,al |
|
- | 5857 | mov [base_code],0Fh |
|
- | 5858 | call store_nomem_instruction |
|
- | 5859 | jmp instruction_assembled |
|
- | 5860 | simple_svm_instruction: |
|
5819 | push eax |
5861 | push eax |
5820 | mov [base_code],0Fh |
5862 | mov [base_code],0Fh |
5821 | mov [extended_code],1 |
5863 | mov [extended_code],1 |
5822 | lods byte [esi] |
5864 | lods byte [esi] |
5823 | call get_size_operator |
5865 | call get_size_operator |