Вопрос № 59731: Ассемблер не имеет собственного интерфейса. В МАСМЕ есть что-то похожее(MASM32 Editor), но мне не понравилось. Подскажите пожалуйста, ссылки на бесплатные текстовые редакторы с подсветкой синтаксиса(лучше не только ассемблера) и желательно компиляцие...Вопрос № 59734: Здравствуйте ! Мне нужно чтобы до загрузки винды выполнялась программа, записанная на дискете. Не подскажете как это сделать ?...Вопрос
№ 59759: Это снова я!!!
1)Зачем сообщение для вывода мы не пишем перед прерыванием int 20h(всё-таки ВЫХОД)?
2)Почему CSEG ends пишется не после end Start(ведь CSEG segment до Start:)?
3)Не работает,вернее работает,но не так,как нужн...Вопрос № 59793: Уважаемые эксперты, здравствуйте!
При использовании функций 4Eh и 4Fh, при указании пути, допустим:
FilePathName db 'C:Rusdoc*.txt',0; Происходит поиск лишь в текущем
каталоге, есть ли возможность поиска на всём диске, включая все вложе...
Вопрос № 59.731
Ассемблер не имеет собственного интерфейса. В МАСМЕ есть что-то похожее(MASM32 Editor), но мне не понравилось. Подскажите пожалуйста, ссылки на бесплатные текстовые редакторы с подсветкой синтаксиса(лучше не только ассемблера) и желательно компиляцией. Как для ТАСМА так и для МАСМА. Знаю Editex, SWB, MASMBuilder, ASM_Ed.exe, их не предлагать.
Отвечает: Виктория Путина
Здравствуйте, Patriotix-N!
ну чтож могу посоветовать только fasm отличный ассемблер с эдитором и компилятором под винду кстати досовские програмки компилируются и работают прекрасно сайтик вот он flatassembler.net успеха
--------- Все сама
Ответ отправила: Виктория Путина (статус: 9-ый класс)
Ответ отправлен: 21.10.2006, 23:05 Оценка за ответ: 5 Комментарий оценки: Спасибо. Попробую.
Отвечает: Вiктор
Здравствуйте, Patriotix-N!
Я знаю такие бесплатные текстовые редакторы с подсветкой синтаксиса: koedit, goldenpen, notepad++, radasm.
radasm так и не посмотрел, а из остальных мне понравился notepad++ (а koedit вообще какой-то глючный, или это версия такая попалась...).
Адреса не указываю, не помню, но думаю вы их легко найдёте.
--------- Флаг вам в руки! (sti, stc, etc)
Ответ отправил: Вiктор (статус: 7-ой класс)
Ответ отправлен: 22.10.2006, 00:44 Оценка за ответ: 5 Комментарий оценки: notepad++ в инете видел, но так и не посмотрел. Зато теперь обязательно скачаю.
Отвечает: Луковкин Николай Иванович
Здравствуйте, Patriotix-N!
Советую установить для работы текстового редактора (при написании программ на асме), оболочку FAR (классная вещь!) или редактор Dos Navigator.
Но лучще первый вариант! Если возникнут проблемы с установкой компилятора в текстовый редактор, обязательно помогу!
--------- Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!
Ответ отправил: Луковкин Николай Иванович (статус: 3-ий класс)
Ответ отправлен: 23.10.2006, 16:02 Оценка за ответ: 5
Вопрос № 59.734
Здравствуйте ! Мне нужно чтобы до загрузки винды выполнялась программа, записанная на дискете. Не подскажете как это сделать ?
Отправлен: 21.10.2006, 23:08
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Луковкин Николай Иванович
Здравствуйте, Whiteman!
Если Вам необходимо это сделать для своих целей (без написания программы на асме), необходимо:
- Во время загрузки ПК, зайти в BIOS (надеюсь знаете как это делать?) и в главе Advanced BIOS Features, сделать следующие настройки:
First Boot Device [Floppy]
Second Boot Device [HDD-0]
Third Boot Device [Desabled]
Тогда в процессе загрузки у Вас ПК сначала обратиться к дискете, а потом к винчестеру.
Если же Вы решили OS устанавливать на ПК с дискеты, то Second Boot Device тоже необходимо переделать на Desabled!
Если что не ясно, могу объяснить подробнее.
--------- Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!
1)Зачем сообщение для вывода мы не пишем перед прерыванием int 20h(всё-таки ВЫХОД)?
2)Почему CSEG ends пишется не после end Start(ведь CSEG segment до Start:)?
3)Не работает,вернее работает,но не так,как нужно(один чёрный экран!), прога,которая выводит в верхний левый угол экрана веселую рожицу на синем фоне:
CSEG segment
org 100h
Start:
mov ax,0B800h
mov es,ax
mov di,0
mov ah,31
mov al,1
mov es:[di],ax
mov ah,10h
int 16h
int 20h
CSEG ends
end Start
Пользуюсь я MASM'ом 6.12!
4)А как из .com файла сделать .exe ,потому что OllyDbg компилятор у меня не обнаруживает .com!
5)В прошлый раз задал вопрос по MASM 5.1(Вы не ответили:( ) Для ассемблирования набираю masm.exe имя_файлa.asm, но выдаётся вот эта фигня:
Object filename [Название.obj]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
Что не пишу(а я не знаю ,что писать:)),появляется:
error A2062:Missing or unreachable CS
47152 + 446396 Bytes symbol space free
Как линковать(MASM 5.1) тоже не расскажете?
6)На счёт вопроса:"Как узнать,есть ли в файле,объём которого я хочу узнать,символы Unicode?" был дан ответ:"Если первое слово в текстовом файле содержит 0xFEFF, то он содержит символы в UNICODE"
А как проверить программно(что написать)?
7)My_string db 'Строка!$'
Здесь db-регистр?
8)В ASCII таблице 256 символов(от 0 до 255) и каждому символу выделяется по 1 байту(от 0 до 255 значений).Вышло случайно,что значение в скобках ОДНО И ТОЖЕ?
9)Какоe IDE использовать,и простите за LamerOffский вопрос:
Какой .bat файл надо создать и как вообще он создаётся?
Отправлен: 22.10.2006, 10:47
Вопрос задал: Xtreme (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Pinkbyte
Здравствуйте, Xtreme!
1) не понял, о каком сообщении для вывода идет речь
2) Потому что Start - так называемая главная метка, а end Главная метка должно быть В САМОМ КОНЦЕ программы(основа структуры ассемблерной программы)
3) Если у вас WinXP - этот вопрос уже рассматривался. Необходимо установить текущую видеостраницу(подробнее см. поиск по вопросам в этой рассылке)
4) формат EXE-файла для MASM 6.0
.code
Start:
mov ax,@data
mov ds,ax ; инициализация сегмента данных(делать ОБЯЗАТЕЛЬНО!)
;код программы
mov ax,4C00h
int 21h ; ТАК осуществляется выход из EXE файла
.data
;ваши данные
.stack 1024 ; задается сегмент стека размером 1024 байт
end Start ; конец программы
5) Используйте MASM 6.0 и выше, в старом MASM ОЧЕНЬ СТРОГИЙ синтаксис, в новом же все гораздо проще(см вышеприведенную программу). Вдобавок новый MASM не задает таких вопросов а подставляет все параметры автоматически
6) не сталкивался с данным вопросом, но проверить Unicode это строка или нет(насколько я знаю) лучше так
mov ax,OFFSET unicode_str
cmp ax,0FFh
jb yes ; да, это Юникод
; остальной код
7) db - это НЕ регистр. Это тип данных, размером 1 байт. В данной ситуации это значит, что на КАЖДЫЙ символ строки будет выделен 1 байт(ASCII-строка)
8) нет, так и было задумано создателями таблицы
9) насчет IDE не знаю... я пишу проги на асме в Far managere - меня устраивает. Bat-файл - это текстовый файл(его называют пакетным), создается в том же Блокноте. Туда пишутся команды запуска различных программ, чтобы одним вызовом bat файла выполнять несколько программ последовательно... Bat-файлы имеют собственный дополнительный синтаксис как то - условные операторы, безусловные переходы и т.д. В случае ассемблирования самый простой батник asm.bat будет выглядеть следующим образом:
masm.exe %1.asm
link.exe /AT %1.asm
Запускается это так - asm.bat 1
В случае отсутствия ошибок в процессе выполнения будет получен exe-файл вашей программы. Однако в MASM 6 есть замечательная и что самое главное не ГЛЮЧНАЯ(как в старом MASM) утилита ml.exe. C помощью нее создание com-файла будет выглядеть так:
ml.exe /AT 1.asm
Подробности смотрите в Рассылке Калашникова(кстати там советуют использовать именно MASM 6!)
--------- Нейтральность - высшее достижение сознания
Ответ отправил: Pinkbyte (статус: 3-ий класс)
Ответ отправлен: 22.10.2006, 16:35
Вопрос № 59.793
Уважаемые эксперты, здравствуйте!
При использовании функций 4Eh и 4Fh, при указании пути, допустим:
FilePathName db 'C:Rusdoc*.txt',0; Происходит поиск лишь в текущем
каталоге, есть ли возможность поиска на всём диске, включая все вложенные
подкаталоги(папки)??...
С уважением CrancV.
Отвечает: Pinkbyte
Здравствуйте, Кудашкин Владимир Викторович!
Вам придется выделить где-нибудь два участка памяти(достаточно больших) и рекурсивно вызывать процедуру для ВСЕХ найденных каталогов. То есть алгоритм такой:
1. Ищем все что подвернется в C:(или любой другой корневой папке, на ваше усмотрение)
2. Имена найденных файлов записываем в первый блок
3. Если мы находим каталог - вызвать поиск файла в ЭТОМ каталоге и записать его во второй блок памяти... Повторить шаги 2 и 3 пока не будут просканированы все каталоги
--------- Нейтральность - высшее достижение сознания
Ответ отправил: Pinkbyte (статус: 3-ий класс)
Ответ отправлен: 22.10.2006, 19:16 Оценка за ответ: 4 Комментарий оценки: Кратковато...