mirror of
				https://github.com/netwide-assembler/nasm.git
				synced 2025-10-10 00:25:06 -04:00 
			
		
		
		
	Check a few more corner cases, including $ and $$, as well as parsing in the assembler (dd) and the preprocessor (%assign). Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
		
			
				
	
	
		
			38 lines
		
	
	
		
			398 B
		
	
	
	
		
			NASM
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			398 B
		
	
	
	
		
			NASM
		
	
	
	
	
	
| 	[dollarhex off]
 | |
| 
 | |
| 	section $$$bar
 | |
| 	global $foo, $$foo, $$$foo, $3
 | |
| _start:
 | |
| 	mov eax,$$foo
 | |
| $foo:
 | |
| 	nop
 | |
| $$foo:
 | |
| 	nop
 | |
| 	nop
 | |
| $$$foo:
 | |
| 	nop
 | |
| 	nop
 | |
| 	nop
 | |
| $3:
 | |
| 	nop
 | |
| 	nop
 | |
| 	nop
 | |
| 	nop
 | |
| 
 | |
| %macro diff 1
 | |
|   %assign bar %1
 | |
| 	mov eax, %1
 | |
| 	mov ecx, bar
 | |
| %endmacro
 | |
| 
 | |
| 	diff $3 - $
 | |
| 	diff $3 - $
 | |
| 	diff $3 - $$
 | |
| 	diff $3 - $$
 | |
| 	diff $foo - $
 | |
| 	diff $foo - $$
 | |
| 	diff $$foo - $foo
 | |
| 	diff $$$foo - $$foo
 | |
| 	diff $$$foo - $foo
 | |
| 	diff $$$foo - foo
 |