AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.01.2004, 09:29   #1  
Ruff
Гость
 
n/a
К сожалению, не нашел точного определения "dead code" в руководстве. Может, кто-нибудь подскажет?

Поэтому решил посмотреть на указанный пример с "низкоуровневой" точки зрения. Вспоминается студенческий курсовой по проектированию трансляторов. Ниже приведен грубый перевод указанных фрагментов кода на Ассемблер, как его сделал бы компилятор. Смешно, конечно, проводить такие аналогии, но кое-что интересное в этом можно заметить.

1-Й вариант:
Код:
          TST AX, AX
          JZ  L01
// начало блока if
          MOV RESULT, AX
          RET
// конец блока if
          JMP	L02	// эта команда НИКОГДА не выполнится !!!
L01:	
// начало блока else
          INC	BX
          MOV RESULT, BX	
          RET
// конец блока else
L02:
 ...
2-Й вариант
Код:
          TST AX, AX
          JZ  L01
// начало блока if
          MOV RESULT, AX
          RET
// конец блока if
L01:	
          INC BX
          MOV RESULT, BX	
          RET
Хотя, вцелом, согласен с Юрием насчет строгости и интуитивности...
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:19.