42 lines
		
	
	
		
			972 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			972 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#define POP_N_INSTINIT \
							 | 
						||
| 
								 | 
							
								      print_instruction((*_PREG), ON_NATIVE); \
							 | 
						||
| 
								 | 
							
								      BLOCKADDRESS = (CELL)(*_PREG); \
							 | 
						||
| 
								 | 
							
								      register CELL d0; \
							 | 
						||
| 
								 | 
							
								      d0 = (*_PREG)->u.os.s; \
							 | 
						||
| 
								 | 
							
								      SP = (CELL *) (((char *) SP) + d0); \
							 | 
						||
| 
								 | 
							
								      d0 = SP[0]; \
							 | 
						||
| 
								 | 
							
								      if (d0) { \
							 | 
						||
| 
								 | 
							
									(*_SREG) = (CELL *) (SP[1]); \
							 | 
						||
| 
								 | 
							
									SP += 2; \
							 | 
						||
| 
								 | 
							
									(*_PREG) = NEXTOP((*_PREG), s); \
							 | 
						||
| 
								 | 
							
									GONext(); \
							 | 
						||
| 
								 | 
							
								      } \
							 | 
						||
| 
								 | 
							
								      else { \
							 | 
						||
| 
								 | 
							
									(*_SREG) = (CELL *) (SP[1]); \
							 | 
						||
| 
								 | 
							
									SP += 2; \
							 | 
						||
| 
								 | 
							
									(*_PREG) = NEXTOP((*_PREG), s); \
							 | 
						||
| 
								 | 
							
									GONextW(); \
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
									  
							 | 
						||
| 
								 | 
							
								#define POP_N_END \
							 | 
						||
| 
								 | 
							
								      BLOCK = (CELL)POP_N_END;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define POP_INSTINIT \
							 | 
						||
| 
								 | 
							
								      print_instruction((*_PREG), ON_NATIVE); \
							 | 
						||
| 
								 | 
							
								      BLOCKADDRESS = (CELL)(*_PREG); \
							 | 
						||
| 
								 | 
							
								      register CELL d0; \
							 | 
						||
| 
								 | 
							
								      d0 = SP[0]; \
							 | 
						||
| 
								 | 
							
								      (*_SREG) = (CELL *) (SP[1]); \
							 | 
						||
| 
								 | 
							
								      SP += 2; \
							 | 
						||
| 
								 | 
							
								      if (d0) { \
							 | 
						||
| 
								 | 
							
									(*_PREG) = NEXTOP((*_PREG), e); \
							 | 
						||
| 
								 | 
							
									GONext(); \
							 | 
						||
| 
								 | 
							
								      } \
							 | 
						||
| 
								 | 
							
								      else { \
							 | 
						||
| 
								 | 
							
									(*_PREG) = NEXTOP((*_PREG), e); \
							 | 
						||
| 
								 | 
							
									GONextW(); \
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define POP_END \
							 | 
						||
| 
								 | 
							
								      BLOCK = (CELL)POP_END;
							 |