Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вставка bin в программу
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
RomeoB
Имею программу написанную на АСМе. Имею bin файл с набором данных. Как можно вставить это файл или данные этого файла в код программы? Пробовал преобразовывать bin в hex, но hex имеет форматирование IntelHEX а не чисты hex, поэтому не помогло. Пользуюсь старым компилятором АСМа...
Палыч
Цитата(RomeoB @ Aug 5 2009, 10:52) *
Имею bin файл с набором данных. Как можно вставить это файл или данные этого файла в код программы?
Я для целей преобразования из bin-формата в "обычный" текстовый формат использовал редактор WinHex. Правда, делал это для программ на языке С. Возможно, и Вы (немного подредактировав полученный файл любым текстовым редактором) с помощью этой программы-редактора сделаете это и для ассемблерной программы.

P.S.Мможет быть - погорячился, присоветовав Вам редактор WinHex. Он позволяет (версия 12.5-SR1) получить данные в одном из двух форматов:
для С программ - строки в виде: 0x4D, 0x5A, 0x50, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0x00, 0x00,
и для программ на Pascal'е: $4D, $5A, $50, $00, $02, $00, $00, $00, $04, $00, $0F, $00, $FF, $FF, $00, $00,
Как там в ассемблере задаются шестнадцатиричные данные? Подойдёт один из этих форматов?
RomeoB
Благодарю, как раз то что нужно smile.gif)
Палыч
Если решите воспользоваться этим редактором для преобразования из bin-формата в текстовый формат, то делается это не очевидным способом:
1. Загрузите в редактор WinHex Ваш bin-файл.
2. С помощью контекстного меню отметьте блоком тот участок файла, который Вы решите преобразовать. Наверное, у Вас - это весь файл. Контекстное меню вызывается правой кнопкой мыши на поле с содержимым Вашего файла.
3. На отмеченном блоке вызовите контекстное меню. И далее Edit -> Copy Block -> Pascal Source (или C Source). Преобразованные данные будут помещены в буфер обмена (Clipboard).
4. Редактором (тем, что Вы используете для редактирования программ) вставте из буфера обмена строки с данными в то место Вашей программы, куда это нужно.
ReAl
Цитата(RomeoB @ Aug 5 2009, 10:52) *
Имею программу написанную на АСМе. Имею bin файл с набором данных. Как можно вставить это файл или данные этого файла в код программы?

srecord - неоднократно упоминавшийся

Код
srec_cat foo.bin -Binary -O foo.asm -ASM

Код
        DB      9,192,14,192,13,192,12,192,11,192,10,192,9,192,8,192,47,192
        DB      6,192,17,36,31,190,207,233,205,191,2,208,100,192,239,207
        DB      128,232,136,185,143,227,132,187,24,186,130,225,135,187,20


Или так
Код
srec_cat foo.bin -Binary -O foo.asm -ASM -D_ST

Код
        .byte   9,192,14,192,13,192,12,192,11,192,10,192,9,192,8,192,47,192
        .byte   6,192,17,36,31,190,207,233,205,191,2,208,100,192,239,207
        .byte   128,232,136,185,143,227,132,187,24,186,130,225,135,187,20


А также HEX, S-record, C, Basic и ещё всякое-разное.
SysRq
А как же .incbin "filename"?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.