1 bits 32 2 3 ;jmp strict near foo 4 ;jmp near foo 5 ;jmp strict short foo 6 ;jmp short foo 7 ;jmp foo 8 ; 9 ;jz strict near foo 10 ;jz near foo 11 ;jz strict short foo 12 ;jz short foo 13 ;jz foo 14 ; 15 ;foo: 16 17 add eax, 4 18 add eax, strict 4 ; NASM generates dword, yasm generates byte 19 add eax, byte 4 20 add eax, strict byte 4 21 add eax, dword 4 ; optimized to byte 22 add eax, strict dword 4 23 add eax, 400 24 add eax, strict 400 25 add eax, byte 400 ; generates warning 26 add eax, strict byte 400 ; generates warning 27 add eax, dword 400 ; optimized to byte 28 add eax, strict dword 400 29 30 add ebx, 4 31 add ebx, strict 4 ; NASM generates dword, yasm generates byte 32 add ebx, byte 4 33 add ebx, strict byte 4 34 add ebx, dword 4 ; optimized to byte 35 add ebx, strict dword 4 36 add ebx, 400 37 add ebx, strict 400 38 add ebx, byte 400 ; generates warning 39 add ebx, strict byte 400 ; generates warning 40 add ebx, dword 400 ; optimized to byte 41 add ebx, strict dword 400 42 43 add [eax], byte 4 ; same as byte [eax], 4 44 add [eax], strict byte 4 ; same as byte [eax], 4 45 add [eax], dword 4 ; generates dword [eax], byte 4 46 add [eax], strict dword 4 ; generates dword [eax], dword 4 47 48 add dword [eax], 4 49 add dword [eax], strict 4 ; NASM generates dword, yasm generates byte 50 add dword [eax], byte 4 51 add dword [eax], strict byte 4 52 add dword [eax], dword 4 ; optimized to byte 53 add dword [eax], strict dword 4 54 add dword [eax], 400 55 add dword [eax], strict 400 56 add dword [eax], byte 400 ; generates warning 57 add dword [eax], strict byte 400; generates warning 58 add dword [eax], dword 400 ; optimized to byte 59 add dword [eax], strict dword 400 60 61 push 4 62 push strict 4 ; NASM generates dword, yasm generates byte 63 push byte 4 64 push strict byte 4 65 push dword 4 ; optimized to byte 66 push strict dword 4 67 push 400 68 push strict 400 69 push byte 400 ; generates warning 70 push strict byte 400 ; generates warning 71 push dword 400 72 push strict dword 400 73 74 imul eax, 4 75 imul eax, strict 4 ; NASM generates dword, yasm generates byte 76 imul eax, byte 4 77 imul eax, strict byte 4 78 imul eax, dword 4 ; optimized to byte 79 imul eax, strict dword 4 80 imul eax, 400 81 imul eax, strict 400 82 imul eax, byte 400 ; generates warning 83 imul eax, strict byte 400 ; generates warning 84 imul eax, dword 400 85 imul eax, strict dword 400 86 87 %ifndef __NASM_VERSION_ID__ 88 bits 64 89 add rax, 4 90 add rax, strict 4 ; NASM generates dword, yasm generates byte 91 add rax, byte 4 92 add rax, strict byte 4 93 add rax, dword 4 94 add rax, strict dword 4 95 add rax, 400 96 add rax, strict 400 97 add rax, byte 400 ; generates warning 98 add rax, strict byte 400 ; generates warning 99 add rax, dword 400 100 add rax, strict dword 400 101 102 add rbx, 4 103 add rbx, strict 4 ; NASM generates dword, yasm generates byte 104 add rbx, byte 4 105 add rbx, strict byte 4 106 add rbx, dword 4 107 add rbx, strict dword 4 108 add rbx, 400 109 add rbx, strict 400 110 add rbx, byte 400 ; generates warning 111 add rbx, strict byte 400 ; generates warning 112 add rbx, dword 400 113 add rbx, strict dword 400 114 115 add [rax], byte 4 ; same as byte [rax], 4 116 add [rax], strict byte 4 ; same as byte [rax], 4 117 add [rax], word 4 ; same as word [rax], 4 118 add [rax], strict word 4 ; same as word [rax], strict word 4 119 120 add dword [rax], 4 121 add dword [rax], strict 4 122 add dword [rax], byte 4 123 add dword [rax], strict byte 4 124 add dword [rax], dword 4 125 add dword [rax], strict dword 4 126 add dword [rax], 400 127 add dword [rax], strict 400 128 add dword [rax], byte 400 ; generates warning 129 add dword [rax], strict byte 400; generates warning 130 add dword [rax], dword 400 131 add dword [rax], strict dword 400 132 133 add qword [rax], 4 134 add qword [rax], strict 4 135 add qword [rax], byte 4 136 add qword [rax], strict byte 4 137 add qword [rax], dword 4 138 add qword [rax], strict dword 4 139 add qword [rax], 400 140 add qword [rax], strict 400 141 add qword [rax], byte 400 ; generates warning 142 add qword [rax], strict byte 400; generates warning 143 add qword [rax], dword 400 144 add qword [rax], strict dword 400 145 146 push 4 147 push strict 4 ; NASM generates dword, yasm generates byte 148 push byte 4 149 push strict byte 4 150 push dword 4 ; optimized to byte 151 push strict dword 4 152 ;push qword 4 ; illegal 153 ;push strict qword 4 ; illegal 154 push 400 155 push strict 400 156 push byte 400 ; generates warning 157 push strict byte 400 ; generates warning 158 push dword 400 159 push strict dword 400 160 ;push qword 400 ; illegal 161 ;push strict qword 400 ; illegal 162 163 %endif 164