Home | History | Annotate | Download | only in tests
      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