mirror of
				https://github.com/netwide-assembler/nasm.git
				synced 2025-10-10 00:25:06 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
| ;
 | |
| ; Test of explicitly and implicitly sized operands
 | |
| ;
 | |
| 	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:
 | |
| 
 | |
| 
 |