| bits 32 |
| |
| ;jmp strict near foo |
| ;jmp near foo |
| ;jmp strict short foo |
| ;jmp short foo |
| ;jmp foo |
| ; |
| ;jz strict near foo |
| ;jz near foo |
| ;jz strict short foo |
| ;jz short foo |
| ;jz foo |
| ; |
| ;foo: |
| |
| add eax, 4 |
| add eax, strict 4 ; NASM generates dword, yasm generates byte |
| add eax, byte 4 |
| add eax, strict byte 4 |
| add eax, dword 4 ; optimized to byte |
| add eax, strict dword 4 |
| add eax, 400 |
| add eax, strict 400 |
| add eax, byte 400 ; generates warning |
| add eax, strict byte 400 ; generates warning |
| add eax, dword 400 ; optimized to byte |
| add eax, strict dword 400 |
| |
| add ebx, 4 |
| add ebx, strict 4 ; NASM generates dword, yasm generates byte |
| add ebx, byte 4 |
| add ebx, strict byte 4 |
| add ebx, dword 4 ; optimized to byte |
| add ebx, strict dword 4 |
| add ebx, 400 |
| add ebx, strict 400 |
| add ebx, byte 400 ; generates warning |
| add ebx, strict byte 400 ; generates warning |
| add ebx, dword 400 ; optimized to byte |
| add ebx, strict dword 400 |
| |
| add [eax], byte 4 ; same as byte [eax], 4 |
| add [eax], strict byte 4 ; same as byte [eax], 4 |
| add [eax], dword 4 ; generates dword [eax], byte 4 |
| add [eax], strict dword 4 ; generates dword [eax], dword 4 |
| |
| add dword [eax], 4 |
| add dword [eax], strict 4 ; NASM generates dword, yasm generates byte |
| add dword [eax], byte 4 |
| add dword [eax], strict byte 4 |
| add dword [eax], dword 4 ; optimized to byte |
| add dword [eax], strict dword 4 |
| add dword [eax], 400 |
| add dword [eax], strict 400 |
| add dword [eax], byte 400 ; generates warning |
| add dword [eax], strict byte 400; generates warning |
| add dword [eax], dword 400 ; optimized to byte |
| add dword [eax], strict dword 400 |
| |
| push 4 |
| push strict 4 ; NASM generates dword, yasm generates byte |
| push byte 4 |
| push strict byte 4 |
| push dword 4 ; optimized to byte |
| push strict dword 4 |
| push 400 |
| push strict 400 |
| push byte 400 ; generates warning |
| push strict byte 400 ; generates warning |
| push dword 400 |
| push strict dword 400 |
| |
| imul eax, 4 |
| imul eax, strict 4 ; NASM generates dword, yasm generates byte |
| imul eax, byte 4 |
| imul eax, strict byte 4 |
| imul eax, dword 4 ; optimized to byte |
| imul eax, strict dword 4 |
| imul eax, 400 |
| imul eax, strict 400 |
| imul eax, byte 400 ; generates warning |
| imul eax, strict byte 400 ; generates warning |
| imul eax, dword 400 |
| imul eax, strict dword 400 |
| |
| %ifndef __NASM_VERSION_ID__ |
| bits 64 |
| add rax, 4 |
| add rax, strict 4 ; NASM generates dword, yasm generates byte |
| add rax, byte 4 |
| add rax, strict byte 4 |
| add rax, dword 4 |
| add rax, strict dword 4 |
| add rax, 400 |
| add rax, strict 400 |
| add rax, byte 400 ; generates warning |
| add rax, strict byte 400 ; generates warning |
| add rax, dword 400 |
| add rax, strict dword 400 |
| |
| add rbx, 4 |
| add rbx, strict 4 ; NASM generates dword, yasm generates byte |
| add rbx, byte 4 |
| add rbx, strict byte 4 |
| add rbx, dword 4 |
| add rbx, strict dword 4 |
| add rbx, 400 |
| add rbx, strict 400 |
| add rbx, byte 400 ; generates warning |
| add rbx, strict byte 400 ; generates warning |
| add rbx, dword 400 |
| add rbx, strict dword 400 |
| |
| add [rax], byte 4 ; same as byte [rax], 4 |
| add [rax], strict byte 4 ; same as byte [rax], 4 |
| add [rax], word 4 ; same as word [rax], 4 |
| add [rax], strict word 4 ; same as word [rax], strict word 4 |
| |
| add dword [rax], 4 |
| add dword [rax], strict 4 |
| add dword [rax], byte 4 |
| add dword [rax], strict byte 4 |
| add dword [rax], dword 4 |
| add dword [rax], strict dword 4 |
| add dword [rax], 400 |
| add dword [rax], strict 400 |
| add dword [rax], byte 400 ; generates warning |
| add dword [rax], strict byte 400; generates warning |
| add dword [rax], dword 400 |
| add dword [rax], strict dword 400 |
| |
| add qword [rax], 4 |
| add qword [rax], strict 4 |
| add qword [rax], byte 4 |
| add qword [rax], strict byte 4 |
| add qword [rax], dword 4 |
| add qword [rax], strict dword 4 |
| add qword [rax], 400 |
| add qword [rax], strict 400 |
| add qword [rax], byte 400 ; generates warning |
| add qword [rax], strict byte 400; generates warning |
| add qword [rax], dword 400 |
| add qword [rax], strict dword 400 |
| |
| push 4 |
| push strict 4 ; NASM generates dword, yasm generates byte |
| push byte 4 |
| push strict byte 4 |
| push dword 4 ; optimized to byte |
| push strict dword 4 |
| ;push qword 4 ; illegal |
| ;push strict qword 4 ; illegal |
| push 400 |
| push strict 400 |
| push byte 400 ; generates warning |
| push strict byte 400 ; generates warning |
| push dword 400 |
| push strict dword 400 |
| ;push qword 400 ; illegal |
| ;push strict qword 400 ; illegal |
| |
| %endif |