/usr/share/doc/nasm/examples/expimp.asm is in nasm 2.11.05-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | ;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:
|