|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.12.2006, 14:21 | #1 |
Пользователь
Регистрация: 15.12.2006
Сообщений: 17
|
Помогите разобраться с кодом!
Т.к. на ассемблере пишут программы почти в машинном коде, надеюсь мне сдесь помогут разобраться. Суть: У меня на работе есть радиостанция, к ней подключен комп, в компе есть спец. программа в 1-нном экз. под DOS, которая писалась давно либо на С, либо на ассемблере. Я с пульта станции набираю восьмеричный код, например 6747 и записываю ее в память компьютера. Потом, когда я нажимаю на пульте кнопку "пуск", этакомманда приходит с компа на пульт для исполнения. Проблема вот в чем, после того, как я записал эти команды в программе создаются 2-а файла. Один *.txt, другой *.bin. *.txt создается для того, чтобы я смог посмотреть, что я там позаписывал. А *.bin, для работы программы. Я раскрываю файл *.bin и вижу, что комманда 6747 в *.bin записана, как 67470044. Так же и все остальное. Ввожу время 250000 (это не существующее время 25ч.00м.00с) , а в *.bin мои 250000 записаны, как 45000006. Вот мне нужно понять, почему прога записывает мои цыфры именно так?
ЗАранее спасибо! |
15.12.2006, 20:14 | #2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
а как программа пишет в файл нельзя посмотреть?
а как ты просматриваешь файл? через какую прогу? |
20.12.2006, 08:23 | #3 |
Форумчанин
Регистрация: 30.11.2006
Сообщений: 128
|
Как посмотреть работу программы? Debug.exe!
nosce te ipsumj...
|
21.12.2006, 14:34 | #4 |
Регистрация: 16.11.2006
Сообщений: 2
|
2Sid
1. Для анализа необходимо увидеть минимум по два примера команд и времени (разных), а лучше фрагмент какого-нибудь *.bin-а. 2. Может быть, твоя прога пишет прошивку микроконтроллера или ППЗУ(ОЗУ) пульта? В этом случае 6747 – значение, а 0044 – адрес (или предписание)? Как правило, проги для прошивки МК выдают 16-ричные файлы прошивки (*.hex). У тебя же 8-ричная 6747 перекидывается в 67470044, значит код, по-идее, тоже 8-ричный (хотя возможны варианты). Возможно, прогу писали для этого конкретно пульта (а не самодельный ли он?). 3. Время 25ч.00м.00с – это промежуток времени для выполнения какого-то действия? Пробовал крутить енту цифирь по-разному: а) 25ч.00м.00с = 25*3600 = 90 000 сек = 257620 (8) б) 250000 = 250000 сек =750220 (8) (на всяк случай) 45000006 (4500, 64500) не похоже ни на а) ни на б) даже в 16-ричном представлении. Возможно, что это время пропорционально количеству тактов кварца, впаянного в пульт, – опять же, если пульт не пользуется для определения времени отдельными часами (как, например, комп). |
22.12.2006, 20:14 | #5 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
короче с системами счисления глюки
|
13.04.2010, 17:53 | #6 |
Форумчанин
Регистрация: 02.04.2010
Сообщений: 104
|
Прога досовская 16 битка , а запись в файле 32 битная Windows сотворила.Вот старшие два байта и записали что было в памяти.
А со временем куча разных форматов, попробуй время писать меньше 12 часов. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться с кодом WINApi | Zaraki | Общие вопросы C/C++ | 13 | 23.03.2008 21:39 |
помогите разобраться с кодом | samosval | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 27.12.2007 00:20 |
Просьба разобраться с кодом на С++ | deazer | Помощь студентам | 1 | 08.11.2007 07:55 |
Помогите разобраться с кодом С++ | Noor | Помощь студентам | 20 | 10.10.2007 17:42 |