Отвлекитесь, эмбеддеры! Отвлеченные темы - обсудить проблемы тепловой смерти вселенной, или просто пиво. Этот раздел - для отдыха. |
22.05.2008, 16:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 31.08.2006
Сообщений: 1,222
Сказал спасибо: 0
Сказали Спасибо 52 раз(а) в 36 сообщении(ях)
|
Re: Опрос: что вы умеете из этого списка
Сообщение от Don_Ambrosio
|
32 килобайта кода, 16 тысяч машинных команд. Невелик объём? И сколько бы Вы дней дизассемблировали вручную по таблице команд? А сколько бы ошибок сделали? Ведь в коде команды не только мнемоника команды содержиться но и адреса операндов
А у меня дизассемлер не просто тупо заменял 16-ти разрядное слов мнемоникой команды. Он ещё разбивал программу на отдельные модули, показывал из каких точек программы идёт обращение к той или иной ячейки и т.п. Т.е. было что-то мини ИРДы
|
4 дня. Без приставки "бы" и без ошибок. Мы потом некоторые фрагменты "гоняли" на машине в пошаговом режиме. При наличии единственной ошибки (вы должны это знать) все, что после этой ошибки окажется неработоспособным и бессмысленным.
За дизассемблер, конечно, честь вам и хвала, но создавать такое для разовой работы... Может, я чего-то недопонял?
|
|
|
|
22.05.2008, 17:02
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Опрос: что вы умеете из этого списка
Сообщение от andr1791
|
Сообщение от Don_Ambrosio
|
32 килобайта кода, 16 тысяч машинных команд. Невелик объём? И сколько бы Вы дней дизассемблировали вручную по таблице команд? А сколько бы ошибок сделали? Ведь в коде команды не только мнемоника команды содержиться но и адреса операндов
А у меня дизассемлер не просто тупо заменял 16-ти разрядное слов мнемоникой команды. Он ещё разбивал программу на отдельные модули, показывал из каких точек программы идёт обращение к той или иной ячейки и т.п. Т.е. было что-то мини ИРДы
|
4 дня. Без приставки "бы" и без ошибок.
|
Посчитаем:
16 тысяч команд за 4 дня
4 тысячи команд в день
500 команд в час (при 8-ми часовом рабочем дне)
Одну команду в 7,2 сек
Пи..ёжъ. Чистой воды гон. Не может человек в темпе одна команды в 7,2 сек работать на протяжении 8 часов и не сделать не одной ошибки. Команды идут в 16-ти ричном формате и могут иметь до 3-х битовых полей:
- код команды
- адрес операнда 1
- адрес операнда 2
Надо найти глазами очередной код машинной команды. Затем вычленить из 16-ти ричного кода эти битовые поля. Затем вычислить значения адресов операндов. Затем представить всё это в символическом виде (например если адрес операнда соответствует регистру - написать этот регистр в символическом виде). И записать. И всё это за 7,2 сек? Пи..ёжъ.. Единственно когда можно работать в таком темпе не опасаясь ошибиться это когда программа состоит только из одного типа команд. А именно команды NOP. И больше никаких команд. Но таких программ не бывает. И то можно ошибиться в количестве этих самых NOP-ов
Как-то пробовал дизассемлировать в ручную. Средний темп дизассемлирования 1 команда в минуту ( хотя начинаешь где-то с темпа 1 команда за 10 сек, но часа через 2 темп очень сильно падает - устают глаза и внимание). Таким образом дизассемлирование вручную заняло бы 16000 минут == 33 рабочих дня.
И это только дизассемлирование. А надо же ещё разобраться в программе
Сообщение от andr1791
|
При наличии единственной ошибки (вы должны это знать) все, что после этой ошибки окажется неработоспособным и бессмысленным.
|
Да что Вы говорите? Не знаю такого.
Извините за прямоту, но так может говорить только полный лох, который не имеет к программированию НИКАКОГО отношения.
Программа с "не той" командой может работать годами и лишь раз в несколько лет при особой комбинации условий (которая получается раз в несколько лет) сбоить.
Да и как определить "та" команда или "не та", если есть только машинный код ЧУЖОЙ программы. Надо быть телепатом, чтобы догадаться, что хотел автор программы
|
|
|
|
22.05.2008, 18:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 31.08.2006
Сообщений: 1,222
Сказал спасибо: 0
Сказали Спасибо 52 раз(а) в 36 сообщении(ях)
|
Re: Опрос: что вы умеете из этого списка
Сообщение от Don_Ambrosio
|
Посчитаем:
16 тысяч команд за 4 дня
4 тысячи команд в день
500 команд в час (при 8-ми часовом рабочем дне)
Одну команду в 7,2 сек
Пи..ёжъ. Чистой воды гон. Не может человек в темпе одна команды в 7,2 сек работать на протяжении 8 часов и не сделать не одной ошибки. Команды идут в 16-ти ричном формате и могут иметь до 3-х битовых полей:
- код команды
- адрес операнда 1
- адрес операнда 2
Надо найти глазами очередной код машинной команды. Затем вычленить из 16-ти ричного кода эти битовые поля. Затем вычислить значения адресов операндов. Затем представить всё это в символическом виде (например если адрес операнда соответствует регистру - написать этот регистр в символическом виде). И записать. И всё это за 7,2 сек? Пи..ёжъ.. Единственно когда можно работать в таком темпе не опасаясь ошибиться это когда программа состоит только из одного типа команд. А именно команды NOP. И больше никаких команд. Но таких программ не бывает. И то можно ошибиться в количестве этих самых NOP-ов
Как-то пробовал дизассемлировать в ручную. Средний темп дизассемлирования 1 команда в минуту ( хотя начинаешь где-то с темпа 1 команда за 10 сек, но часа через 2 темп очень сильно падает - устают глаза и внимание). Таким образом дизассемлирование вручную заняло бы 16000 минут == 33 рабочих дня.
И это только дизассемлирование. А надо же ещё разобраться в программе
Сообщение от andr1791
|
При наличии единственной ошибки (вы должны это знать) все, что после этой ошибки окажется неработоспособным и бессмысленным.
|
Да что Вы говорите? Не знаю такого.
Извините за прямоту, но так может говорить только полный лох, который не имеет к программированию НИКАКОГО отношения.
Программа с "не той" командой может работать годами и лишь раз в несколько лет при особой комбинации условий (которая получается раз в несколько лет) сбоить.
Да и как определить "та" команда или "не та", если есть только машинный код ЧУЖОЙ программы. Надо быть телепатом, чтобы догадаться, что хотел автор программы
|
Дон Амброзио, хочу посоветовать вам ВНИМАТЕЛЬНО читать хотя бы те сообщения, на которые отвечаете.
1. 16тысяч КОДОВ (НЕ КОМАНД). Вы избавили меня от необходимости описывать двух- и трехбитные команды, спасибо за помощь.
2. Рабочий день в реальном мире бывает и 20 часов, проконсультируйтесь у производственников, вам это подтвердят.
3. 1 команда в минуту - это вы, уважаемый, загнули... Вы что, вообще никогда не работали с "бумажной" документацией? Глаза устают и внимание? Так это с непривычки...В 580-м ассемблере всего 250 команд, таблица на А3 помещается, листать ничего не нужно. Через пару часов штук 150 команд перемещаются в голову.
4. То и говорю. Вы сами подробно расписали битовые поля и т.п.. Запишите операнд как код или наоборот и что получится дальше? Ошибитесь и интерпретируйте двухбитную команду как трехбитную и т.п. ошибки. Кого следует считать лохом? Я охотно верю, что вы классный программист, но в данном случае вы наделали кучу ошибок из категории "элементарщины". Напоминаю: речь идет не о СОЗДАНИИ ПРОГРАММЫ (там действительно ошибка годами может "сидеть"), а о ДИЗАССЕМБЛИРОВАНИИ КОДА.
Кстати, наш тогдашний программист НАОТРЕЗ отказался заниматься этим, поковырялся часа полтора в дизассемблере и отказался - коды-то с бумажки надо было в дизассемблер вводить.
|
|
|
|
22.05.2008, 19:44
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Опрос: что вы умеете из этого списка
Сообщение от andr1791
|
Сообщение от Don_Ambrosio
|
Посчитаем:
16 тысяч команд за 4 дня
4 тысячи команд в день
500 команд в час (при 8-ми часовом рабочем дне)
Одну команду в 7,2 сек
Пи..ёжъ. Чистой воды гон. Не может человек в темпе одна команды в 7,2 сек работать на протяжении 8 часов и не сделать не одной ошибки. Команды идут в 16-ти ричном формате и могут иметь до 3-х битовых полей:
- код команды
- адрес операнда 1
- адрес операнда 2
Надо найти глазами очередной код машинной команды. Затем вычленить из 16-ти ричного кода эти битовые поля. Затем вычислить значения адресов операндов. Затем представить всё это в символическом виде (например если адрес операнда соответствует регистру - написать этот регистр в символическом виде). И записать. И всё это за 7,2 сек? Пи..ёжъ.. Единственно когда можно работать в таком темпе не опасаясь ошибиться это когда программа состоит только из одного типа команд. А именно команды NOP. И больше никаких команд. Но таких программ не бывает. И то можно ошибиться в количестве этих самых NOP-ов
Как-то пробовал дизассемлировать в ручную. Средний темп дизассемлирования 1 команда в минуту ( хотя начинаешь где-то с темпа 1 команда за 10 сек, но часа через 2 темп очень сильно падает - устают глаза и внимание). Таким образом дизассемлирование вручную заняло бы 16000 минут == 33 рабочих дня.
И это только дизассемлирование. А надо же ещё разобраться в программе
Сообщение от andr1791
|
При наличии единственной ошибки (вы должны это знать) все, что после этой ошибки окажется неработоспособным и бессмысленным.
|
Да что Вы говорите? Не знаю такого.
Извините за прямоту, но так может говорить только полный лох, который не имеет к программированию НИКАКОГО отношения.
Программа с "не той" командой может работать годами и лишь раз в несколько лет при особой комбинации условий (которая получается раз в несколько лет) сбоить.
Да и как определить "та" команда или "не та", если есть только машинный код ЧУЖОЙ программы. Надо быть телепатом, чтобы догадаться, что хотел автор программы
|
|
Сообщение от andr1791
|
1. 16тысяч КОДОВ (НЕ КОМАНД). Вы избавили меня от необходимости описывать двух- и трехбитные команды, спасибо за помощь.
|
Эта фраза вообще выше моего разумения. Не.. Отдельные слова конечно понимаю, а вот общий смысл, пардон, ускользает
Сообщение от andr1791
|
2. Рабочий день в реальном мире бывает и 20 часов, проконсультируйтесь у производственников, вам это подтвердят.
|
И какой же идиот согласиться по 20 часов в день неделями просто вручную тупо переводить машинный код в ассемблер?
Сообщение от andr1791
|
3. 1 команда в минуту - это вы, уважаемый, загнули... Вы что, вообще никогда не работали с "бумажной" документацией? Глаза устают и внимание? Так это с непривычки...В 580-м ассемблере всего 250 команд, таблица на А3 помещается, листать ничего не нужно. Через пару часов штук 150 команд перемещаются в голову.
|
Тык эти команды надо же ещё набивать в в компьютер.
Т.е. взгляд постоянно должен бегать между листом с листнигом машинного кода, листом с таблицей команд и экраном. А значит нужно время, чтобы взглядом найти нужную позицию как на листе, так и на экране, т.е. чтобы нужное место попало в фокус зрения, . Поистину адская работа. Через 2 часа такой работы у человека начинает разламываться и/или кружится голова, а в глазах появляются чёрные (или зелёные у кого как) круги. А Вы говорите "20 часов"
Сообщение от andr1791
|
4. То и говорю. Вы сами подробно расписали битовые поля и т.п.. Запишите операнд как код или наоборот и что получится дальше? Ошибитесь и интерпретируйте двухбитную команду как трехбитную и т.п. ошибки.
|
Опять фраза выше моего разумения. Отдельные слова понимаю, а общий смысл "не схватываю"
Сообщение от andr1791
|
Напоминаю: речь идет не о СОЗДАНИИ ПРОГРАММЫ (там действительно ошибка годами может "сидеть"), а о ДИЗАССЕМБЛИРОВАНИИ КОДА.
|
Вы ошибаетесь. Речь шла о доработке программы из-за того, что часть её машинного кода была потеряна. Т.е. дизассемлирование было даже не десятой частью работы.
Основная работа была в том, чтобы разобраться в том, что "уцелело" и написать (до конца разобравшись в алгоритме работы системы) то, что "не уцелело"
Сообщение от andr1791
|
Кстати, наш тогдашний программист НАОТРЕЗ отказался заниматься этим, поковырялся часа полтора в дизассемблере и отказался - коды-то с бумажки надо было в дизассемблер вводить.
|
И правильно сделал. Поступил как настоящий профессионал, который ценит свой труд. Только дурак, который вообще не ценит свой труд, будет сутками, неделями по 20 часов день сидеть с карандашиком и табличкой команд и дизассемлировать, вместо того, чтобы выполнять более высококвалифицированную работу.
|
|
|
|
22.05.2008, 21:48
|
|
Прохожий
Регистрация: 01.12.2006
Сообщений: 4
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Опрос: что вы умеете из этого списка
1 Скорее нет
2 Да, все кроме СВЧ, преимущественно измер техника.
ПО практически все.
3 Нет. Только схему с файлом связей и перечнем элементов + эскиз размещения конструктору
4 Да
5 Надежность и климатика да. Механика -нет.Системы компьютерной математики.
6 Да
7 Нет
8 Да
9 Нет
10 Нет
|
|
|
|
22.05.2008, 22:01
|
|
Заблокирован
Регистрация: 05.12.2006
Сообщений: 4,033
Сказал спасибо: 169
Сказали Спасибо 387 раз(а) в 281 сообщении(ях)
|
1..10 - неумею.
11 - Знаю Кто Умеет!
|
|
|
|
22.05.2008, 22:20
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от vo1
|
1..10 - неумею.
11 - Знаю Кто Умеет!
|
8O 8O 8O
|
|
|
|
22.05.2008, 22:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 31.08.2006
Сообщений: 1,222
Сказал спасибо: 0
Сказали Спасибо 52 раз(а) в 36 сообщении(ях)
|
Re: Опрос: что вы умеете из этого списка
[quote="Don_Ambrosio"]Эта фраза вообще выше моего разумения. Не.. Отдельные слова конечно понимаю, а вот общий смысл, пардон, ускользает
Первый код - команда, 2-й (иногда 3-й)- операнд(ы).
И какой же идиот согласиться по 20 часов в день неделями просто вручную тупо переводить машинный код в ассемблер?
Бездельник,конечно, не согласится. Понятие "производственная необходимость" вам знакомо? Кстати, за премию того размера, которую мне за эту работу выплатили, можно было и "идиотом" поработать.
Тык эти команды надо же ещё набивать в в компьютер.
ОБЪЯСНЯЮ ЕЩЕ РАЗ:
-прошивка считывалась стендом, т.е. тумблерки на шинах адреса, светодиоды на шинах данных. HEX-код данных РУЧКОЙ ЗАПИСЫВАЛСЯ В ТАБЛИЦУ НА ЛИСТЕ БУМАГИ.
Потом в 3-ю графу этой таблицы (1-я адрес, 2-я данные) РУЧКОЙ писался ассемблерный код. Причем ввод В КОМПЬЮТЕР???
Т.е. смотрим в эту таблицу, потом в таблицу команд, потом пишем результат . Насчет адской работы согласен.
Через 2 часа такой работы у человека начинает разламываться и/или кружится голова, а в глазах появляются чёрные (или зелёные у кого как) круги. А Вы говорите "20 часов"
Это от лени и нежелания работать. Впрочем, я неделю после этой работы отдыхал и восстанавливался.
Опять фраза выше моего разумения. Отдельные слова понимаю, а общий смысл "не схватываю"
Советую ВНИМАТЕЛЬНО перечитать описание процесса.
Напоминаю: речь идет не о СОЗДАНИИ ПРОГРАММЫ (там действительно ошибка годами может "сидеть"), а о ДИЗАССЕМБЛИРОВАНИИ КОДА.
Вы ошибаетесь. Речь шла о доработке программы из-за того, что часть её машинного кода была потеряна. Т.е. дизассемлирование было даже не десятой частью работы.
Основная работа была в том, чтобы разобраться в том, что "уцелело" и написать (до конца разобравшись в алгоритме работы системы) то, что "не уцелело"
Вы сейчас о чем? Мы вроде бы обсуждали возможность ДИЗАССЕМБЛИРОВАНИЯ ЗА КОРОТКИЙ СРОК?
Сообщение от andr1791
|
Кстати, наш тогдашний программист НАОТРЕЗ отказался заниматься этим, поковырялся часа полтора в дизассемблере и отказался - коды-то с бумажки надо было в дизассемблер вводить.
|
И правильно сделал. Поступил как настоящий профессионал, который ценит свой труд. Только дурак, который вообще не ценит свой труд, будет сутками, неделями по 20 часов день сидеть с карандашиком и табличкой команд и дизассемлировать, вместо того, чтобы выполнять более высококвалифицированную работу.
Вы знаете, я предпочитаю быть дураком в ваших глазах, чем раздувшимся от сознания собственной важности и незаменимости "профессионалом" в вашей интерпретации этого слова. Советую открыть толквый словарь и прочесть значение слов ПРОФЕССИОНАЛ, СПЕЦИАЛИСТ и т.д.. Уверяю вас, это не то, что вы думаете.
|
|
|
|
22.05.2008, 22:57
|
|
Вид на жительство
Регистрация: 28.02.2008
Сообщений: 437
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Опрос: что вы умеете из этого списка
Сообщение от andr1791
|
Первый код - команда, 2-й (иногда 3-й)- операнд(ы).
|
Как у Вас всё просто. А не хотите, что битовое поле может быть в слове в любом месте? А? Зависящем от кода команды.
Сообщение от andr1791
|
Бездельник,конечно, не согласится. Понятие "производственная необходимость" вам знакомо? Кстати, за премию того размера, которую мне за эту работу выплатили, можно было и "идиотом" поработать.
|
Уточняю, не "бездельник", а знающий себе цену специалист. А если б Вам хорошо заплатили Вы и в туалете бы Очки помыли зубной щёткой?
Сообщение от andr1791
|
Это от лени и нежелания работать. Впрочем, я неделю после этой работы отдыхал и восстанавливался.
|
Не встречал за свою жизнь НИ ОДНОГО человека, который бы взялся за такую работу (это же всё равно что зубной щёткой подмести огромный стадион)за какие угодно большие деньги (были прецеденты - когда это нужно было сделать - НИ ОДИН из более чем десятка инженеров не стал заниматься такой дурью)
На меня (хотя я дизассемблировал с помощью написанного мной дизассемблера, т.е. не в ручную) и то мои коллеги смотрели как на сумасшедшего, из-за того что я взялся за эту работу
Сообщение от andr1791
|
Вы сейчас о чем? Мы вроде бы обсуждали возможность ДИЗАССЕМБЛИРОВАНИЯ ЗА КОРОТКИЙ СРОК?
|
Я об этом :
Сообщение от Don_Ambrosio
|
У меня тоже были подобные случаи. Помню ....
....
Также был случай когда в РФ573 покоцалась программа. Короче считал то что сохранилось. Дизассемлировал(для чего написал свой дизассемблер). Полностью разобрался в алгоритме ( а программа была не маленькая - 32 килобайта машинного кода (ЧПУ управляло плазменной резкой)Дописал покоцанный кусок. И зашил прошивку в РФ-ку. И всё за 4 дня.. И что?
|
А Вы о чём?
Сообщение от andr1791
|
Советую открыть толквый словарь и прочесть значение слов ПРОФЕССИОНАЛ, СПЕЦИАЛИСТ и т.д.. Уверяю вас, это не то, что вы думаете.
|
Ну конечно.. Можно быть специалистом по чистке унитаза.. Просто асом.. Можно быть специалистом по подметанию улиц.. Разные специалисты есть... Просто я говорил о специалисте - инженере
|
|
|
|
22.05.2008, 22:59
|
|
Заблокирован
Регистрация: 05.12.2006
Сообщений: 4,033
Сказал спасибо: 169
Сказали Спасибо 387 раз(а) в 281 сообщении(ях)
|
8O
Что это было, сейчас?
8O
Тяжелым был день у коллег..
...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:00.
|
|