Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Дизасемблювання TPU, TPP, TPW модулів, написаних на Паскалі

Тип роботи: 
Курсова робота
К-сть сторінок: 
82
Мова: 
Українська
Оцінка: 

type/const definitions for namelist unit }

 
interface
type
 
  tbyteset = set of byte;
 
{$IFDEF UNIT60}
  type_def_ptr = ^type_def_rec;
  type_def_rec = record
    type_type : byte;
    other_byte : byte;
    size : word;
    base_type : word;
    case integer of
    1 : ( element_ofs,element_unit,index_ofs,index_unit: word );
    2 : ( hash_ofs, first_ofs :word;
  {3}     parent_ofs, parent_unit, vmt_size :word;
  {3}     handle,w10,self_type_ofs : word );
    7 : ( base_ofs,base_unit:word );
    6 : ( return_ofs,return_unit,num_args:word );
    8 : ( target_ofs,target_unit:word );
   15 : ( lower,upper : longint;
          type_ofs,type_unit:word
        );
   -1 : ( who_knows : array[3..8] of word
        );
  end;
{$ELSE}
  { BP 7.0 }
  type_def_ptr = ^type_def_rec;
  type_def_rec = record
    type_type : byte;
    other_byte : byte;
    size : word;
    owner : word;
    base_type : word;
    case integer of
    1 : ( element_ofs,element_unit,index_ofs,index_unit: word );
    2 : ( hash_ofs, first_ofs :word;
  {3}     parent_ofs, parent_unit, vmt_size :word;
  {3}     handle,w10,self_type_ofs,previous_object_def : word );
    7 : ( base_ofs,base_unit:word );
    6 : ( return_ofs,return_unit,num_args:word );
    8 : ( target_ofs,target_unit:word );
   15 : ( lower,upper : longint;
          type_ofs,type_unit:word
        );
   -1 : ( who_knows : array[3..8] of word
        );
  end;
{$ENDIF}
 
  type_info_ptr = ^type_info_rec;
  type_info_rec = record
    type_def_ofs,type_unit : word;
  end;
 
  var_flags = set of (const_flag,      { initialized data }
                      local,           { on the stack     }
                      referenced,      { var parameter    }
                      field,           { field of a record or object }
                      absolute,        { declared absolute something else }
                      argument,        { an argument to the func/proc }
                      const_arg,       { constant argument }
                      v128);
 
  var_info_ptr = ^var_info_rec;
  var_info_rec = record
    flags : var_flags;
    offset,  { within the appropriate section }
    in_unit, { either unit number if absolute, or data block number }
{$IFNDEF UNIT60}
    next_field, { next fields in record etc. }
{$ENDIF}
    type_def_ofs,type_unit : word;
  end;
 
  const_info_ptr = ^const_info_rec;
  const_info_rec = record
    type_def_ofs,type_unit : word;
    case integer of
    -1: (allval:byte);
    0:  (intval:longint);
    1:  (realval:real);
    2:  (stringval:string);
    3:  (extendval:extended);
    4:  (boolval:boolean);
    5:  (charval:char);
    6:  (ptrval:pointer);
    7:  (setval:tbyteset);
    end;
 
  arg_ptr = ^arg_rec;
  arg_rec = record
    type_def_ofs,type_unit : word;
    flags : var_flags;
  end;
 
  func_type_ptr = ^func_type_rec;
  func_type_rec = record
    type_def_ofs,type_unit,num_args : word;
  end;
 
  code_flags = set of (far_entry,inline_code,interrupt,external_code,method,construct,
                       destruct,assembler);
{$IFDEF UNIT60}
  obj_flags  = set of (exported,windows_frame,from_dll,by_name,
                       dynamic,local_code,f40,f80);
{$ELSE}
  obj_flags  = set of (exported,windows_frame,dynamic,not_from_dll,
                       f10,f20,f40,f80);
{$ENDIF}
  func_info_ptr = ^func_info_rec;
  func_info_rec = record
    code_type:code_flags;
    obj_type :obj_flags;
    entry_ofs,parent_ofs,local_hash,vmt_entry,
{$IFNDEF UNIT60}
    w4,w5,w6,
    next_method:word;
Фото Капча