| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -63,7 +63,7 @@ if (open LABELS, "<input.labels") { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						    $addr = hex $addr; | 
					 | 
					 | 
					 | 
						    $addr = hex $addr; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						    $labels{$addr} = $name; | 
					 | 
					 | 
					 | 
						    $labels{$addr} = $name; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						    if ($name =~ /^L(\d+)$/) { | 
					 | 
					 | 
					 | 
						    if ($name =~ /^L(\d+)$/) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							$labelnum = $1 + 1 if ($labelnum >= $1); | 
					 | 
					 | 
					 | 
							$labelnum = $1 + 1 if ($1 >= $labelnum); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						    } | 
					 | 
					 | 
					 | 
						    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1550,7 +1550,12 @@ sub read_operand_addr24 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    my $addr = $byte1; | 
					 | 
					 | 
					 | 
					    my $addr = $byte1; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    $addr += $byte2 << 8; | 
					 | 
					 | 
					 | 
					    $addr += $byte2 << 8; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    $addr += $byte3 << 16; | 
					 | 
					 | 
					 | 
					    $addr += $byte3 << 16; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    set_operand(sprintf("0x%.6x", $addr)); | 
					 | 
					 | 
					 | 
					    if ($branch) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        set_operand(sprintf("%s", get_label($addr))); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						add_comment(sprintf("0x%.6x", $addr)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        set_operand(sprintf("0x%.6x", $addr)); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					## ASSUMPTION: This is always the last operand!!! | 
					 | 
					 | 
					 | 
					## ASSUMPTION: This is always the last operand!!! | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |