Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 585
от 27.10.2006, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 359, Экспертов: 33
В номере:Вопросов: 4, Ответов: 6


Вопрос № 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, их не предлагать.
Отправлен: 21.10.2006, 22:35
Вопрос задал: Patriotix-N (статус: 2-ой класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Виктория Путина
Здравствуйте, 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!
Если что не ясно, могу объяснить подробнее.
---------
Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!
Ответ отправил: Луковкин Николай Иванович (статус: 3-ий класс)
Ответ отправлен: 23.10.2006, 15:52


Вопрос № 59.759
Это снова я!!!

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.
Отправлен: 22.10.2006, 17:26
Вопрос задал: Кудашкин Владимир Викторович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Pinkbyte
Здравствуйте, Кудашкин Владимир Викторович!

Вам придется выделить где-нибудь два участка памяти(достаточно больших) и рекурсивно вызывать процедуру для ВСЕХ найденных каталогов. То есть алгоритм такой:

1. Ищем все что подвернется в C:(или любой другой корневой папке, на ваше усмотрение)
2. Имена найденных файлов записываем в первый блок
3. Если мы находим каталог - вызвать поиск файла в ЭТОМ каталоге и записать его во второй блок памяти... Повторить шаги 2 и 3 пока не будут просканированы все каталоги
---------
Нейтральность - высшее достижение сознания
Ответ отправил: Pinkbyte (статус: 3-ий класс)
Ответ отправлен: 22.10.2006, 19:16
Оценка за ответ: 4
Комментарий оценки:
Кратковато...


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное