mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 09:52:44 +00:00 
			
		
		
		
	UserspaceEmulator: Add the NOT instruction (with bonus: NOP!)
This commit is contained in:
		
							parent
							
								
									5ecbfd8451
								
							
						
					
					
						commit
						dba6f9b24b
					
				
					 1 changed files with 19 additions and 4 deletions
				
			
		|  | @ -1272,10 +1272,25 @@ void SoftCPU::NEG_RM8(const X86::Instruction& insn) | ||||||
|     insn.modrm().write8(*this, insn, op_sub<u8>(*this, 0, insn.modrm().read8(*this, insn))); |     insn.modrm().write8(*this, insn, op_sub<u8>(*this, 0, insn.modrm().read8(*this, insn))); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void SoftCPU::NOP(const X86::Instruction&) { TODO(); } | void SoftCPU::NOP(const X86::Instruction&) | ||||||
| void SoftCPU::NOT_RM16(const X86::Instruction&) { TODO(); } | { | ||||||
| void SoftCPU::NOT_RM32(const X86::Instruction&) { TODO(); } | } | ||||||
| void SoftCPU::NOT_RM8(const X86::Instruction&) { TODO(); } | 
 | ||||||
|  | void SoftCPU::NOT_RM16(const X86::Instruction& insn) | ||||||
|  | { | ||||||
|  |     insn.modrm().write16(*this, insn, ~insn.modrm().read16(*this, insn)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SoftCPU::NOT_RM32(const X86::Instruction& insn) | ||||||
|  | { | ||||||
|  |     insn.modrm().write32(*this, insn, ~insn.modrm().read32(*this, insn)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void SoftCPU::NOT_RM8(const X86::Instruction& insn) | ||||||
|  | { | ||||||
|  |     insn.modrm().write8(*this, insn, ~insn.modrm().read8(*this, insn)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void SoftCPU::OUTSB(const X86::Instruction&) { TODO(); } | void SoftCPU::OUTSB(const X86::Instruction&) { TODO(); } | ||||||
| void SoftCPU::OUTSD(const X86::Instruction&) { TODO(); } | void SoftCPU::OUTSD(const X86::Instruction&) { TODO(); } | ||||||
| void SoftCPU::OUTSW(const X86::Instruction&) { TODO(); } | void SoftCPU::OUTSW(const X86::Instruction&) { TODO(); } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling