A Disassembler Written in Perl
by Tony Zhang

Example 1:

(a)

$One_Byte_LUT[ 94 ] = "xchg  %eax, %esp";
$One_Byte_LUT[ 95 ] = "xchg  %eax, %ebp";
$One_Byte_LUT[ 96 ] = "xchg  %eax, %esi";
$One_Byte_LUT[ 97 ] = "xchg  %eax, %edi".


(b)

$Three_Bit_Lut{ b:0 } = "add  %Ev, %Iv";
$Three_Bit_Lut{ b:1 } = "or  %Ev, %Iv";
$Three_Bit_Lut{ b:2 } = "adc  %Ev, %Iv";
$Three_Bit_Lut{ b:3 } = "sbb  %Ev, %Iv".

Example 2:

(a)

  ($i=$lnTemp; $i<$lnTemp + $DisasmnDispl; $i++) {	
    $lsResult = sprintf ("%02x", &ImageByte( $sMemRead, $i, 1 ) ) . $lsResult;
}

(b) 

$lsResult = sprintf ("%x", &ImageByte( $sMemRead, $lnTemp, $DisasmnDispl )   




