74 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| aliases: 
 | |
| up: 
 | |
| tags:
 | |
|   - s/informatique
 | |
| ---
 | |
| 
 | |
| 
 | |
| 
 | |
| # Assembleur
 | |
| ## opérations de l'ALU
 | |
| 
 | |
| | Hex | Bin  | ALU operation         |
 | |
| | --- | ---- | --------------------- |
 | |
| | 0   | 0000 | A                     |
 | |
| | 1   | 0001 | B                     |
 | |
| | 2   | 0010 | A+B                   |
 | |
| | 3   | 0011 | A-B                   |
 | |
| | 4   | 0100 | A XOR B               |
 | |
| | 5   | 0101 | A AND B               |
 | |
| | 6   | 0110 | A+1                   |
 | |
| | 7   | 0111 | A-1                   |
 | |
| | 8   | 1000 | ¬A                    |
 | |
| | 9   | 1001 | ¬B                    |
 | |
| | A   | 1010 | ¬(A+B)                |
 | |
| | B   | 1011 | ¬(A-B)                |
 | |
| | C   | 1100 | ¬(A XOR B) = A NXOR B |
 | |
| | D   | 1101 | ¬(A AND B) = A NAND B |
 | |
| | E   | 1110 | ¬(A+1) = -A-2         |
 | |
| | F   | 1111 | ¬(A-1) = -A           |
 | |
| ## branches
 | |
| - `100·  ···· JMP to #A`
 | |
| - `101·  ···· JMP to #B`
 | |
| - `110·  ···· JMP to #RAM[A]`
 | |
| - `111·  ···· JMP to #addr`
 | |
| 
 | |
| - ! `1···  0·00 JMP`
 | |
| - ! `1···  0·01 JMP if A=0`
 | |
| - ! `1···  0·10 JMP if A=B`
 | |
| - ! `1···  0·11 JMP if overflow`
 | |
| - ! `1···  1·00`
 | |
| - ! `1···  1·01 JMP if A≠0`
 | |
| - ! `1···  1·10 JMP if A≠B`
 | |
| - ! `1···  1·11 JMP if overflow`
 | |
| 
 | |
| 
 | |
| # Programmes
 | |
| 
 | |
| ## Multiplication
 | |
| ```
 | |
| 3000
 | |
| 700D
 | |
| 3001
 | |
| 700B
 | |
| 3002
 | |
| 7000
 | |
| 3000
 | |
| 5000
 | |
| 3002
 | |
| 4000
 | |
| 1200
 | |
| 3002
 | |
| 2100
 | |
| 3001
 | |
| 4000
 | |
| 1700
 | |
| 3001
 | |
| 2100
 | |
| 0000
 | |
| 4000
 | |
| E906
 | |
| 3002
 | |
| FFFF
 | |
| ``` |