123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /*++
- Copyright (c) 2012 Minoca Corp. All Rights Reserved
- Module Name:
- teatdata.S
- Abstract:
- This module contains instructions designed to exercise the disassembler.
- Do not try to execute any code in this module.
- Author:
- Evan Green 21-Jun-2012
- Environment:
- Test
- --*/
- ##
- ## ---------------------------------------------------------------- Definitions
- ##
- ##
- ## ----------------------------------------------------------------------- Code
- ##
- ##
- ## .text specifies that this code belongs in the executable section.
- ##
- ## .code32 specifies that this is 16-bit real mode code.
- ##
- .text
- .code32
- ##
- ## .globl allows this label to be visible to the linker. _Start is the entry
- ## point to the code, so it needs to be globally visible.
- ##
- .globl _Start
- _Start:
- mov %eax, %cr2
- mov %cr2, %eax
- lidt -0x18(%ebp)
- addl $0x15, %eax
- addb $0x51, %al
- addb $0x61, %ah
- addw $0x71, %bx
- addl %ebp, %edx
- addl 0x32(%esp), %ecx
- addl %esp, 0x40(%ecx)
- pushw %es
- popw %es
- addw %cx, %bp
- addw %bx, %bx
- addl %eax, %edx
- addb %dh, 0x30
- addl %edi, 0x1234
- addl 0x12345678, %esi
- addl %ecx, 16(%eax, %edx, 4) # EAX + EDX*4 + 16
- addl 20(%ebx, %ebp, 1), %esi
- .long 0
- .long 0
- ##
- ## --------------------------------------------------------- Internal Functions
- ##
- ##
- ## ---------------------------------------------------------------- Definitions
- ##
|