mirror of
				https://github.com/simon987/Much-Assembly-Required.git
				synced 2025-11-03 17:46:53 +00:00 
			
		
		
		
	fixing some typos
							parent
							
								
									2ce34ce20c
								
							
						
					
					
						commit
						4308568093
					
				
							
								
								
									
										6
									
								
								CPU.md
									
									
									
									
									
								
							
							
								
								
								
								
								
								
									
										
										
									
									
								
							
						
						
									
										6
									
								
								CPU.md
									
									
									
									
									
								
							@ -13,7 +13,7 @@ Work in progress
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Random-access memory
 | 
					## Random-access memory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
From a storage point of view, the cpu memory spaces are organized as identical arrays of 16-bit words. The cpu has access to its full address space: 65,6536 (0x10000) words of memory (total 128KB). By default, the stack base is at address 0xFFFF and grows towards lower addresses.  
 | 
					From a storage point of view, the CPU memory spaces are organized as identical arrays of 16-bit words. The CPU has access to its full address space: 65536 (0x10000) words of memory (total 128KB). By default, the stack base is at address 0xFFFF and grows towards lower addresses.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## General purpose registers
 | 
					## General purpose registers
 | 
				
			||||||
@ -37,10 +37,10 @@ The FLAGS register holds the **status** - information about the last executed in
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
| Flag | Description |
 | 
					| Flag | Description |
 | 
				
			||||||
|:--------- |:----------- |
 | 
					|:--------- |:----------- |
 | 
				
			||||||
| **CF** (Carry flag) | Relevent for *unsigned* operations. Indicates that there was a carry out of the most significant (leftmost) bit   |
 | 
					| **CF** (Carry flag) | Relevant for *unsigned* operations. Indicates that there was a carry out of the most significant (leftmost) bit   |
 | 
				
			||||||
| **ZF** (Zero flag) | Indicates that the result of an operation is 0 |
 | 
					| **ZF** (Zero flag) | Indicates that the result of an operation is 0 |
 | 
				
			||||||
| **SF** (Sign flag) | Indicates that the most significant (leftmost) bit of the result of an operation is set |
 | 
					| **SF** (Sign flag) | Indicates that the most significant (leftmost) bit of the result of an operation is set |
 | 
				
			||||||
| **OF** (Overflow flag) | Relevent for *signed* operations. Indicates that the sign of the result of an signed operation is wrong (See exemples below) |
 | 
					| **OF** (Overflow flag) | Relevant for *signed* operations. Indicates that the sign of the result of an signed operation is wrong (See examples below) |
 | 
				
			||||||
| **BF** (Break flag) | Tells the CPU to stop the execution. This flag is set with the **BRK** instruction. |
 | 
					| **BF** (Break flag) | Tells the CPU to stop the execution. This flag is set with the **BRK** instruction. |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Carry Flag
 | 
					### Carry Flag
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user