Multi-Edit 7.0

Софт только для использования в DOS

+1

Сообщение SergeCpp » 17 июл 2014, 21:16

Интересные отличия в текстах отладчика.

Версия J:
Код: Выделить вс
   if(  var_index != -1  ) {
    switch( var_type & 0x7f )
    {
      case 1 :
      do_var_type1:
        taddr = memp( str_addr + ((var_index ) * str_record_size) + 1 ); // "+1"
        var_max = memw( taddr + 2 );
        jx = memw( taddr );
        tstr2 = memstr( taddr + 4, jx );
        break;


У меня:
Код: Выделить вс
#define MEMP_STR memp( p_strs + ( watch_index * 5 ) ) // никакого "+1"
...
  if( watch_index != WATCH_ERROR )
  {
    watch_ok = TRUE;

    switch( WATCH_IS )
    {
    case VAR_STR :
    _get_str_watch:
      var_addr  = MEMP_STR;

      str_len   = memw  ( var_addr + 2 );
      watch_int = memw  ( var_addr     );
      temp_str  = memstr( var_addr + 4, watch_int );
      break;


Подобное там в нескольких местах с этим "+1". Я вот никак не вспомню: 1) было ли "+1" в том тексте, что я получил путём ручной декомпиляции, и: 2) если было, то почему я его убрал. Так как это много где и ошибка получения неправильного адреса была бы сразу видна, то тут что-то имелось в виду. Но вот что?.. Или они в J изменили формат хранения переменных?..
Аватара пользователя
SergeCpp
Мастер Даунгрейда
 
Сообщения: 425
Зарегистрирован: 11 апр 2011, 13:49
Откуда: At Home

+1

Сообщение Nika » 17 июл 2014, 22:18

А может, то у них глюк был в самом ME.EXE и пришлось подстроить MEDEBUG под эту фичу версии 7.00... (?)
И в паблик-версии medebug 7.00j и в DownPorted версии medebug 6.10p та "+1" присутствует.
Я глазам своим поверить отказывался - но заработало в 7.00p именно без той "+1".
(Сначала поборол версию medb610p.S. Потом, когда полез в medb700p.S, уже был готов к чему-то подобному).
Зато вполне объяснимая замена str_record_size в вер.6 - да, поменялась структура.
Ну, и ещё момент, помеченный как "//{add ver6" в medb610p.S.
Вот это и были три пакстных момента, с которыми пришлось повозиться.
Остальное ерунда (ну, там, формат MAP-файла и путь к нему).

-- Добавлено --
Вот, кстати, ещё одно, что можно было бы сделать для "улучшения" версии 7.хх - подбросить туда последний MEMAC.EXE v.6.10a
и подкорректировать medebug.s (v.7.0j) так, чтобы можно было отлаживать и программы в SRC формате, а не только в S-формате.
Примерно как это в ME v.6.10p. Но там проще - там у CMAC и у MEMAC одинаковый формат MAP-файла.
Последний раз редактировалось Nika 17 июл 2014, 22:39, всего редактировалось 12 раз(а).
Nika
Мастер Даунгрейда
 
Сообщения: 628
Зарегистрирован: 17 окт 2013, 00:21

Re: Multi-Edit 7.0

Сообщение nextaty » 17 май 2015, 01:49

Срочно нужна консультация по Mult Edit по скайпу. Оплата хорошая по договорённости. Мой тел. +***** или скайп nextaty1. Дмитрий.
Последний раз редактировалось informatik 20 май 2015, 22:01, всего редактировалось 1 раз.
nextaty
Новичок
 
Сообщения: 1
Зарегистрирован: 17 май 2015, 01:44

Пред.

Вернуться в Программы для DOS

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron