home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OBJASM.ZIP / OUSIZE.C < prev    next >
C/C++ Source or Header  |  1990-12-11  |  3KB  |  98 lines

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include "o.h"
  4.  
  5. /*
  6. ** Local Variables
  7. */
  8.  
  9. int size_to_type( size )
  10.     int     size;
  11. {
  12.     int     result;
  13.  
  14.     switch( size ) {
  15.         case  1: result = BYTE_PTR;     break;
  16.         case  2: result = WORD_PTR;     break;
  17.         case  4: result = DWORD_PTR;    break;
  18.         case  6: result = FWORD_PTR;    break;
  19.         case  8: result = QWORD_PTR;    break;
  20.         case 10: result = TBYTE_PTR;    break;
  21.         default: result = UNKNOWN;      break;
  22.     }
  23.     return( result );
  24. }
  25.  
  26. int reg_size_to_type( reg_size )
  27.     int reg_size;
  28. {
  29.     int     result;
  30.  
  31.     switch( reg_size ) {
  32.         case 0:     result = BYTE_PTR;      break;
  33.         case 1:     result = WORD_PTR;      break;
  34.         case 2:     result = DWORD_PTR;     break;
  35.         case 3:     result = FWORD_PTR;     break;
  36.         default:    result = UNKNOWN;       break;
  37.     }
  38.  
  39.     return( result );
  40. }
  41.  
  42. int type_to_size( type )
  43.     int     type;
  44. {
  45.     int     result;
  46.  
  47.     switch( type ) {
  48.         case  BYTE_PTR:     result =  1;    break;
  49.         case  WORD_PTR:     result =  2;    break;
  50.         case  DWORD_PTR:    result =  4;    break;
  51.         case  FWORD_PTR:    result =  6;    break;
  52.         case  QWORD_PTR:    result =  8;    break;
  53.         case  TBYTE_PTR:    result = 10;    break;
  54.         default:            result =  0;    break;
  55.     }
  56.     return( result );
  57. }
  58.  
  59. char *type_to_text( type )
  60.     int     type;
  61. {
  62.     char    *result;
  63.  
  64.     switch( type ) {
  65.         case BYTE_PTR:      result = "byte ptr ";   break;
  66.         case WORD_PTR:      result = "word ptr ";   break;
  67.         case DWORD_PTR:     result = "dword ptr ";  break;
  68.         case FWORD_PTR:     result = "fword ptr ";  break;
  69.         case QWORD_PTR:     result = "qword ptr ";  break;
  70.         case TBYTE_PTR:     result = "tbyte ptr ";  break;
  71.         default:            result = "";            break;
  72.     }
  73.  
  74.     return( result );
  75. }
  76.  
  77.  
  78. char *size_to_opcode( size, times )
  79.     int     size;
  80.     int     *times;
  81. {
  82.     char    *result;
  83.  
  84.     *times = 1;
  85.  
  86.     switch( size ) {
  87.         case 0:     result = "*ERROR*"; *times = 0; break;
  88.         case 1:     result = "db";                  break;
  89.         case 2:     result = "dw";                  break;
  90.         case 4:     result = "dd";                  break;
  91.         case 6:     result = "df";                  break;
  92.         case 8:     result = "dq";                  break;
  93.         case 10:    result = "dt";                  break;
  94.         default:    result = "db";  *times = size;  break;
  95.     }
  96.     return( result );
  97. }
  98.