В программировании не новичок, но все это было на С++, делфях и тд.. На АСМ никогда не программил. Встал вопрос (причем срочно) в нем разобраться. Скачал учебник. но материала много, много непонятного и лишнего. А в данный момент мне интересно, как выглядит исходник программки Hello World для ДОСа Скачал MASM и TASM В первом есть пример консольного приложения, но оно только под Винду запускается. Пример из ТАСМа тоже только под видной. Поставил виртуальную машину, Вин98, создал загрузочную дискету, с ней и сижу. Закидываю на виртуальный флов проги и запускаю ( Для начала мне бы простой исходник проги: введите _ваше имя_, "добрый день _ваше имя_" С этого и плясать буду. Материала много, не знаю где копать, не успеваю. Спасибо. Тем временем пользуюсь поиском. В конечном итоге мне надо будет написать "загрузочник", который будет проверять параметры SMART контроллера и выводить сообщения на экран, дальше передавать управление стандартному загрузчику. Спасибо..
http://www.pronau.org.ua/storage/index.php?dir=books/Computer/Programming/Assembler/ Там Абель и Зубков. По мнению большинства - лучшие книги для начинающих.
Спасбио. В одной книжке нашел: TITLE Hello World Program (hello.asm) ; ›U‡ OO„‡II‡ OUO·‡E‡AU OIO‚‡ "Hello, world!" .MODEL small .STACK 100h .DATA message DB "Hello, world!",0dh,0ah,'$' .CODE main PROC MOV AX,@data MOV DS,AX MOV AH,9 MOV DX,offset message INT 21h MOV AX,4C00h INT 21h main ENDP END main Запускаю все это дело так ml /c file_name.asm link file_name.obj на masm Последний дает fatal error LNK1123: failure during convertion to COFF: file invalid or corrupt
Спасибо. Ищу. А если мне надо чтобы еще до доса стартовала? Например если хочу свой загрузочник написать, то что посоветовал q_q подойдет?
имхо лучший ассемблер для ДОС - TASM. Он самый мощный по языковым средствам и уступил другим только из-за остановки развития. Документация по нему на русском имеется. Минус - неудобности с писанием под винду и незнание процессоров выше 586 со всеми вытекающими инструкциями.
Надо чтобы до загрузки ОС стартовала? Если чисто влезть в MBR - то для ДОСа такое прокатит, но для Винды ИМХО нет, она кажись каждый раз восстанавливает его (ХР вроде, поправьте если я неправ).. А так - действительно, рекомендация - это TASM!
Скажу по секрету, загрузочные вирусы прекрасно работают как под виндой (включая хр), так и под пингвином. ЗЫ это пример
Уточню вопрос: каким ассемблером воспользоваться чтобы моя программа смогла запускаться до старта ОС ПОд дос научился ассемблировать, но для вывода текста там используются функции ДОСа, которого у меня и не будет..
Elusory Jo Поправляю Не восстанавливает. Ни линуксовый граб, ни фрибсдшный загрузчик не трогает(эт по собственному опыту), как и другие, в принципе. test555 Посмотри fasm -- flatassembler.net Вот краткое описание на русском http://ru.wikipedia.org/wiki/Fasm
До DOS можно использовать функции BIOS и для чтения/записи диска и для ввода/вывода на консоль (клава и экран). И если нужно все это далать до загрузки DOS, то именно функции BIOS и нужно использовать. Дисассемблируй MBR и посмотри как там это делается. Можно изменить сам MBR (правда не знаю как посмотрят на все это антивирусы XP и Висты) и загружать свой код с диска, выполнять его, а потом продолжить нормальную загрузку ОС. Я прикрепил файл с Лабораторной работой по теме MBR (там два файла исходник оригинальной MBR и модификация)
Спасибо всем. Видимо до конца рабочей недели я не успею разобраться со всем, включая то как считать параметры SMART ( в книжке написано как и в какие регистры поместить, но это для меня китайская грамота щас), как записать и считать несколько данных с диска и др.. Пока ограничусь написанием утилиты под win xp/2000 Видимо еще прийдется мне возвращяться к изучению асма.