| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- ;Testname=O0; Arguments=-O0 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
- ;Testname=O1; Arguments=-O1 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
- ;Testname=Ox; Arguments=-Ox -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
- ;Testname=error-O0; Arguments=-O0 -fbin -oexpimp.bin -DERROR; Files=stdout stderr expimp.bin
- ;Testname=error-Ox; Arguments=-Ox -fbin -oexpimp.bin -DERROR; Files=stdout stderr expimp.bin
- ;
- ; Test of explicitly and implicitly sized operands
- ;
- BITS 32
- add esi,2 ; Implicit
- add esi,123456h ; Implicit
- add esi,byte 2 ; Explicit
- add esi,dword 2 ; Explicit
- add esi,dword 123456h ; Explicit
- add esi,byte 123456h ; Explicit Truncation
- add esi,strict 2 ; Implicit Strict
- add esi,strict 123456h ; Implicit Strict
- add esi,strict byte 2 ; Explicit Strict
- add esi,strict dword 2 ; Explicit Strict
- add esi,strict dword 123456h ; Explicit Strict
- add esi,strict byte 123456h ; Explicit Strict Truncation
- add eax,2 ; Implicit
- add eax,123456h ; Implicit
- add eax,byte 2 ; Explicit
- add eax,dword 2 ; Explicit
- add eax,dword 123456h ; Explicit
- add eax,byte 123456h ; Explicit Truncation
- add eax,strict 2 ; Implicit Strict
- add eax,strict 123456h ; Implicit Strict
- add eax,strict byte 2 ; Explicit Strict
- add eax,strict dword 2 ; Explicit Strict
- add eax,strict dword 123456h ; Explicit Strict
- add eax,strict byte 123456h ; Explicit Strict Truncation
- imul dx,3 ; Implicit
- imul dx,byte 3 ; Explicit
- imul dx,word 3 ; Explicit
- imul dx,strict byte 3 ; Explicit Strict
- imul dx,strict word 3 ; Explicit Strict
- ;
- ; Same thing with branches
- ;
- start:
- jmp short start ; Explicit
- jmp near start ; Explicit
- jmp word start ; Explicit
- jmp dword start ; Explicit
- jmp short forward ; Explicit
- jmp near forward ; Explicit
- jmp word forward ; Explicit
- jmp dword forward ; Explicit
- %ifdef ERROR
- jmp short faraway ; Explicit (ERROR)
- %endif
- jmp near faraway ; Explicit
- jmp word faraway ; Explicit
- jmp dword faraway ; Explicit
- jmp start ; Implicit
- jmp forward ; Implicit
- jmp faraway ; Implicit
- jmp strict short start ; Explicit Strict
- jmp strict near start ; Explicit Strict
- jmp strict word start ; Explicit Strict
- jmp strict dword start ; Explicit Strict
- jmp strict short forward ; Explicit Strict
- jmp strict near forward ; Explicit Strict
- jmp strict word forward ; Explicit Strict
- jmp strict dword forward ; Explicit Strict
- %ifdef ERROR
- jmp strict short faraway ; Explicit (ERROR)
- %endif
- jmp strict near faraway ; Explicit Strict
- jmp strict word faraway ; Explicit Strict
- jmp strict dword faraway ; Explicit Strict
- jmp strict start ; Implicit Strict
- jmp strict forward ; Implicit Strict
- jmp strict faraway ; Implicit Strict
- forward:
- times 256 nop
- faraway:
|