108 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| asmprog:
 | |
| 	comment ?
 | |
| 	statement
 | |
| 	asmprog ; asmprog
 | |
| 	asmprog comment ? \n asmprog
 | |
| 
 | |
| letter:
 | |
| 	[._a-zA-Z]
 | |
| 
 | |
| digit:
 | |
| 	[0-9]
 | |
| 
 | |
| identifier:
 | |
| 	letter (letter | digit)*
 | |
| 	digit [bf]
 | |
| 
 | |
| string:
 | |
| 	'C-like string sequence'
 | |
| 	"C-like string sequence"
 | |
| 
 | |
| number:
 | |
| 	C-like number
 | |
| 
 | |
| comment:
 | |
| 	! .*
 | |
| 
 | |
| statement:
 | |
| 	label-definition statement
 | |
| 	empty
 | |
| 	assignment
 | |
| 	instruction
 | |
| 	pseudo-instruction
 | |
| 
 | |
| label-definition:
 | |
| 	identifier :
 | |
| 	digit :
 | |
| 
 | |
| assignment:
 | |
| 	identifier = expression
 | |
| 
 | |
| instruction:
 | |
| 	iX86-instruction
 | |
| 
 | |
| pseudo-instruction:
 | |
| 	.extern identifier (, identifier)*
 | |
| 	.define identifier (, identifier)*
 | |
| 	.data1 expression (, expression)*
 | |
| 	.data2 expression (, expression)*
 | |
| 	.data4 expression (, expression)*
 | |
| 	.ascii string
 | |
| 	.asciz string
 | |
| 	.align expression
 | |
| 	.space expression
 | |
| 	.comm identifier , expression
 | |
| 	.sect identifier
 | |
| 	.base expression
 | |
| 	.assert expression
 | |
| 	.symb XXX
 | |
| 	.line XXX
 | |
| 	.file XXX
 | |
| 	.nolist
 | |
| 	.list
 | |
| 	iX86-pseudo
 | |
| 
 | |
| expression:
 | |
| 	C-like expression with [ and ] for grouping
 | |
| 
 | |
| iX86-instruction:
 | |
| 	prefix
 | |
| 	prefix iX86-instruction
 | |
| 	identifier
 | |
| 	identifier iX86operand
 | |
| 	identifier iX86operand , iX86operand
 | |
| 	identifier iX86operand : iX86operand
 | |
| 
 | |
| prefix:
 | |
| 	o16
 | |
| 	o32
 | |
| 	a16
 | |
| 	a32
 | |
| 	rep
 | |
| 	repz
 | |
| 	repnz
 | |
| 	repe
 | |
| 	repne
 | |
| 	cseg | dseg | eseg | fseg | gseg | sseg
 | |
| 
 | |
| iX86operand:
 | |
| 	register
 | |
| 	( register )
 | |
| 	expression
 | |
| 	( expression )
 | |
| 	expression ( register )
 | |
| 	expression ( register * [1248] )
 | |
| 	expression ? ( register ) ( register )
 | |
| 	expression ? ( register ) ( register * [1248] )
 | |
| 
 | |
| register:
 | |
| 	al | bl | cl | dl | ah | bh | ch | dh
 | |
| 	ax | bx | cx | dx | si | di | bp | sp
 | |
| 	eax | ebx | ecx | edx | esi | edi | ebp | esp
 | |
| 	cs | ds | es | fs | gs | ss
 | |
| 	cr0 | cr1 | cr2 | cr3
 | |
| 
 | |
| iX86-pseudo:
 | |
| 	.use16
 | |
| 	.use32
 | 
