mirror of
				https://github.com/simon987/Much-Assembly-Required.git
				synced 2025-11-03 17:46:53 +00:00 
			
		
		
		
	Add part about SETcc instruction family
							parent
							
								
									5d97d8c3c6
								
							
						
					
					
						commit
						c50edcbeac
					
				@ -40,3 +40,25 @@ If either the destination or source require a 16-bit immediate value as part of
 | 
				
			|||||||
| Word 0 | Word 1 | Word 2 |
 | 
					| Word 0 | Word 1 | Word 2 |
 | 
				
			||||||
| --- | --- | --- |
 | 
					| --- | --- | --- |
 | 
				
			||||||
| Basic Instruction | *Source operand* | *Destination operand* |
 | 
					| Basic Instruction | *Source operand* | *Destination operand* |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Abstract instructions
 | 
				
			||||||
 | 
					As there is a limited amount of opcodes some (abstract) instructions can have an encoding different from the regular format.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### SETcc
 | 
				
			||||||
 | 
					The [`SETcc`](http://www.ousob.com/ng/iapx86/ng22d84.php) instruction family is implemented with the single opcode `0x32`. It uses the *Source operand* word to encode its family opcode.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					| instruction | family opcode |
 | 
				
			||||||
 | 
					| SETA | 0x01 |
 | 
				
			||||||
 | 
					| SETAE | 0x02 |
 | 
				
			||||||
 | 
					| SETBE | 0x03 |
 | 
				
			||||||
 | 
					| SETB | 0x04 |
 | 
				
			||||||
 | 
					| SETE | 0x05 |
 | 
				
			||||||
 | 
					| SETNE | 0x06 |
 | 
				
			||||||
 | 
					| SETG | 0x07 |
 | 
				
			||||||
 | 
					| SETGE | 0x08 |
 | 
				
			||||||
 | 
					| SETLE | 0x09 |
 | 
				
			||||||
 | 
					| SETL | 0x0A |
 | 
				
			||||||
 | 
					| SETO | 0x0B |
 | 
				
			||||||
 | 
					| SETNO | 0x0C |
 | 
				
			||||||
 | 
					| SETS | 0x0D |
 | 
				
			||||||
 | 
					| SETNS | 0x0E |
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user