Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler
Выпуск № 103
от 04.04.2005, 16:50
Администратор: | Калашников О.А. |
В номере: | Вопросов: 8, Ответов: 17 |
Вопрос № 18958: Ув эксперты! Скачал MASM 6.12,установил,во -первых,не открываются hlp-файлы,пишет,что это DOS`овский файл.Пробовал и в DOS`e - ерунда.Собственно,если бы открылся hlp-файл,может быть и вопрос не нужно было бы задавать,а так придется.Пытаюсь коппил...
Вопрос № 18962: Здрасти! Подскажите плиз, как записать строку 'aaaa' в файл 'report.txt' ...
Вопрос № 18972: Здравствуйте. Вчера был получен от вас ответ на мой вопрос № 18921. Спасибо. Я сделал максимум возможного по уровню моего знания ассемблера. Но остаются неслько ошибок при компиляции. Может кто-то поможет. Спасибо. Вот список ошибок: Assembli...
Вопрос № 18975: Здравствуйте, господа эксперты! Кто в Fasm под Win32 подскажите, можно ли там всякие кнопки и тп. окна выводить в OVERLAPPEDWINDOW, или только (как в EXAMPLES) использовать DialogBox? Спасибо!...
Вопрос № 18980: Здравствуйте! Вопрос, наверное не по теме... В 28 выпуски рассылки Ассемблер? это... есть ссылка на рассылку 'незкоуровневое программирование для дZенствующих':). Мне нужен архив рассылки, на сайте смотрел, но там вроде нет. Может кто - нить на н...
Вопрос № 18990: Здравствуйте,уважаемые эксперты!!! У меня такой вопрос. Вот у нас есть в ОС файл (DOS конечно же) есть command.com,где мы вводим команды, параметры и он их выполняет, и мне кажется что он напоминает мне бейсик где мы тоже вводим какой нибудь ...
Вопрос № 18991: Здравствуйте! В дополнение к вопросу 18891 (в частности единственному пока ответу Bob Johnson). Постояноо очищать клипбоард - это тоже выход, но надо применять запрет на чтение/запись в клипбоард выборочно (т.е. для определенных приложений). ...
Вопрос № 18996: Здравствуйте!!! Спасибо вам за внимание. Я по поводу пароля на exe и com файл. Можете привисти пару примеров....
Вопрос № 18958 |
Ув эксперты! Скачал MASM 6.12,установил,во -первых,не открываются hlp-файлы,пишет,что это DOS`овский файл.Пробовал и в DOS`e - ерунда.Собственно,если бы открылся hlp-файл,может быть и вопрос не нужно было бы задавать,а так придется.Пытаюсь коппилировать asm-файл (досовский) - компиляет нормально,а линкер пишет 'The system cannot execute the specified program'.Имеется ввиду obj - файл.Что за муть? Копмпиляю и линкую так: cl !!!.asm link !!!.obj |
Отправлен: 29.03.2005, 18:30 Вопрос задал: Ling (статус: Посетитель) Всего ответов отправлено: 2 |
Отвечает: Вiктор Здравствуйте, Ling! насчёт hlp-файлов: у них особый формат. Поищите чем бы их открыть из программ, поставляемых в пакете масм (может PBW, может ещё что...) Попробуйте через PBW->справка->выбор файла справки или что-то в этом духе. вы уверены что 'The system cannot execute the specified program' - именно сообщение линкера? обычно линкер ругается по-другому. Может система не может запустить линкер? попробуйте запустить линкер без параметров, прописать полный путь к линкеру. запускается ли он у вас вообще? может линкеру ключи надо ? (не помню уже...) если не поможет - спростие ещё раз, опишите подробнее ваши действия и ещё от меня лично: я бы не советовал использовать знаки типа восклицательного знака в именах файлов. может они и нормальные, но на мой взгляд всё-таки английские буквы надёжнее. |
Ответ отправил: Вiктор (статус: 3-ий класс) Отправлен: 29.03.2005, 21:41 |
Отвечает: Котиев Зураб Здравствуйте, Ling! hlp файлы открываются утилитой Qh которая валяется в каталоге bin .Установи правильно переменную окружения path и все по идее должно работать.Или кинь на крайняк все файлы в один каталог |
Ответ отправил: Котиев Зураб (статус: 3-ий класс) Отправлен: 30.03.2005, 10:04 |
Вопрос № 18962 |
Здрасти! Подскажите плиз, как записать строку 'aaaa' в файл 'report.txt' Приложение: |
Отправлен: 29.03.2005, 20:26 Вопрос задал: Guran (статус: Посетитель) Всего ответов отправлено: 2 |
Отвечает: Евгений Иванов Здравствуйте, Guran! в CX длина записываемых данных. DS:DX - буфер BX - номерок файла. |
Ответ отправил: Евгений Иванов (статус: Профессор) Отправлен: 29.03.2005, 21:31 |
Отвечает: Voituk Alexander Здравствуйте, Guran! в общем ты все правильно делаешь я тебе допишу в твой текст CSEG segment assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h Begin: mov dx,offset File_name mov ax,3D02h int 21h mov Handle,ax ;////////////////////////////////// lea dx,string ;это и есть буфер ;mov si,offset string ;Здесь надо получать длину строки? ЭТО НЕ НАДО ;А делать буфер для записи? mov bx,Handle mov cx,4 ;это и есть длина mov ah,40h ;Кол-во запис-х байт? int 21h mov ah,3Eh mov bx,handle int 21h ;//////////////////// int 20h ;а это выход из проги :) Handle dw 0 File_name db 'report.txt',0 string db 'aaaa',0 CSEG ends end Begin |
Ответ отправил: Voituk Alexander (статус: 6-ой класс) Отправлен: 30.03.2005, 14:44 |
Вопрос № 18972 |
Здравствуйте. Вчера был получен от вас ответ на мой вопрос № 18921. Спасибо. Я сделал максимум возможного по уровню моего знания ассемблера. Но остаются неслько ошибок при компиляции. Может кто-то поможет. Спасибо. Вот список ошибок: Assembling file: zad51.asm *Warning* zad51.asm(24) ":" operator ignored **Error** zad51.asm(24) Operand types do not match *Warning* zad51.asm(79) ":" operator ignored **Error** zad51.asm(79) Operand types do not match *Warning* zad51.asm(88) ":" operator ignored Error messages: 2 Warning messages: 3 Passes: 1 Remaining memory: 451k Приложение: |
Отправлен: 29.03.2005, 21:53 Вопрос задал: MMM72 (статус: Посетитель) Всего ответов отправлено: 2 |
Отвечает: mvp Здравствуйте, MMM72! 24, 79: вы сравниваете слово с байтом. Нужно писать cmp byte ptr es:[di], al 88: это предупреждение (warning), которое может и не быть ошибкой, т. е. можно запустить программу с warning'ами. Не знаю, что компилятору не понравилось в строчке mov ax, [es:bx], но я предпочитаю подобные конструкции писать в виде es:[bx], а не [es:bx]. Можно например попытаться написать mov ax, word ptr es:[bx] |
Ответ отправил: mvp (статус: 2-ой класс) Отправлен: 29.03.2005, 22:48 |
Отвечает: Евгений Иванов Здравствуйте, MMM72! cmp [byte ptr es:di],al cmp es:[di],al cmp [es:di],al cmp [es:di],byte ptr al cmp byte ptr [es:di],al удачи! |
Ответ отправил: Евгений Иванов (статус: Профессор) Отправлен: 30.03.2005, 05:46 |
Вопрос № 18975 |
Здравствуйте, господа эксперты! Кто в Fasm под Win32 подскажите, можно ли там всякие кнопки и тп. окна выводить в OVERLAPPEDWINDOW, или только (как в EXAMPLES) использовать DialogBox? Спасибо! |
Отправлен: 30.03.2005, 01:00 Вопрос задал: limon23 (статус: Посетитель) Всего ответов отправлено: 3 |
Отвечает: Котиев Зураб Здравствуйте, limon23! о ассемблера здесь ничего не зависит просто используй CreateWindowEx |
Ответ отправил: Котиев Зураб (статус: 3-ий класс) Отправлен: 30.03.2005, 09:13 |
Отвечает: Евгений Иванов Здравствуйте, limon23! в окнах можно создавать любые другие дочерние окна. и FASM здесь ни при чём. Удачи! |
Ответ отправил: Евгений Иванов (статус: Профессор) Отправлен: 30.03.2005, 17:39 |
Отвечает: Bob Johnson Здравствуйте, limon23! Просто попробуй функцию CreateWindowEx :) * EMan2.0: ---===*** Debug mode ***===--- |
Ответ отправил: Bob Johnson (статус: Академик) Отправлен: 01.04.2005, 22:44 |
Вопрос № 18980 |
Здравствуйте! Вопрос, наверное не по теме... В 28 выпуски рассылки Ассемблер? это... есть ссылка на рассылку 'незкоуровневое программирование для дZенствующих':). Мне нужен архив рассылки, на сайте смотрел, но там вроде нет. Может кто - нить на неё подписывался если вышелте что есть буду багодарен. Заранее спасибо. |
Отправлен: 30.03.2005, 01:56 Вопрос задал: Rivisor (статус: Посетитель) Всего ответов отправлено: 1 |
Отвечает: Котиев Зураб Здравствуйте, Rivisor! тебе сюды http://www.wasm.ru/publist.php?list=22 |
Ответ отправил: Котиев Зураб (статус: 3-ий класс) Отправлен: 30.03.2005, 09:11 Оценка за ответ: 5 Комментарий оценки: СПАСИБО |
Вопрос № 18990 |
Здравствуйте,уважаемые эксперты!!! У меня такой вопрос. Вот у нас есть в ОС файл (DOS конечно же) есть command.com,где мы вводим команды, параметры и он их выполняет, и мне кажется что он напоминает мне бейсик где мы тоже вводим какой нибудь оператор и при компиляции он выполняется. Так вот можно ли сделать свой компилятор как вот я объяснил? Если да то привидите пример. А если нет то скажите почему и желательно покажите простенький компилятор(код лучше будет). Спасибо всем кто ответит!!!! |
Отправлен: 30.03.2005, 12:01 Вопрос задал: newinfo2005 (статус: 1-ый класс) Всего ответов отправлено: 4 |
Отвечает: DSota Здравствуйте, newinfo2005! Для ДОС была такая программа - GW-basic.exe. Только это не компилятор - а интерпретатор команд - то есть вводишь команду - он ее сразу выполняет. Ее и сейчас поддерживают на http://www.xs4all.nl/~hwiegman/gwbasic.html http://www.geocities.com/KindlyRat/GWBASIC.html. А интерпретатор - он многими описан, есть много примеров программ- компиляторов на C... На ассемблере правда, не встречал... |
Ответ отправил: DSota (статус: Студент) Отправлен: 30.03.2005, 13:24 Оценка за ответ: 5 Комментарий оценки: Спасибо!!! |
Отвечает: Voituk Alexander Здравствуйте, newinfo2005! Ну, во-первых ты немного ошибаешься. Command.com и Васик - это не компиляторы. Это интерпретаторы. А это нечто другое. И написать свой интерпретатор намного проще. Была даже 100 лет назад книга оп программированию на С (к сожалению не помню названия) так там был пример интерпретатора Васик. А компилятор - это очень сложная штука. Его за 5 минут не напишешь, даже простенький. Написанию компиляторов посвящены целые книги. А тем более на ассемблере. Ты просто погрязнешь в коде. |
Ответ отправил: Voituk Alexander (статус: 6-ой класс) Отправлен: 30.03.2005, 13:51 Оценка за ответ: 5 Комментарий оценки: Тоже спасибо!!! |
Отвечает: Котиев Зураб Здравствуйте, newinfo2005! вот книга про которую говорил Voituk Alexander http://djs9.agava.net/bookz/comp/shildtgerb01.rar если хошь код компилятора хотя он явно не простой то тебе сюда http://flatassembler.net там один из лучших ассемблеров то бишь fasm . можешь заглянуть сюда http://webster.cs.ucr.edu/ |
Ответ отправил: Котиев Зураб (статус: 3-ий класс) Отправлен: 30.03.2005, 16:02 Оценка за ответ: 4 Комментарий оценки: Я проверил всё - это ,но про книгу про которую говорил Voituk Alexander открывается под неизвестной программой , а другие редакторы не понимают.Зашёл на сайт http://flatassembler.net асм не идёт, хотя есть у меня на диске такой. |
Отвечает: Виктория Путина Здравствуйте, newinfo2005! я не буду приводить программу компилатора fasm для доса это можно скачать в инете свободно (кстати сам себя компилирует) там довольно интересные решения по поводу компиляции мне понравилось по крайней мере , а скачать можно напиши в поиске fasm есть много адресов где его можно взять также существуют версии соткрытыми кодами для windows успеха |
Ответ отправила: Виктория Путина (статус: 6-ой класс) Отправлен: 31.03.2005, 09:42 Оценка за ответ: 5 Комментарий оценки: Тоже не плохо! |
Вопрос № 18991 |
Здравствуйте! В дополнение к вопросу 18891 (в частности единственному пока ответу Bob Johnson). Постояноо очищать клипбоард - это тоже выход, но надо применять запрет на чтение/запись в клипбоард выборочно (т.е. для определенных приложений). А здесь это уже не прокатит. Что еще можно посоветовать? Кстати, задача из темы "хуки". Заранее благодарен, EraSer |
Отправлен: 30.03.2005, 12:27 Вопрос задал: EraSer (статус: Посетитель) Всего ответов отправлено: 1 |
Отвечает: Bob Johnson Здравствуйте, EraSer! А приложения эти уже запущены или ты из запускаешь сам? Они запущены от имени какого пользователя (с какими правами) и под каким пользователем планируется работа твоей программы? Есть еще такой вариант - ты открываешь требуемый процесс, находишь в его адресном пространстве функцию OpenClipboard и патчишь ее так, чтобы она ничего не делала (просто возвращала результат, что буфер обмена открыть не удалось). Но делать это надо для каждого требуемого процесса, и не все процессы ты сможешь открыть. * EMan2.0: ---===*** Debug mode ***===--- |
Ответ отправил: Bob Johnson (статус: Академик) Отправлен: 01.04.2005, 22:43 |
Вопрос № 18996 |
Здравствуйте!!! Спасибо вам за внимание. Я по поводу пароля на exe и com файл. Можете привисти пару примеров. |
Отправлен: 30.03.2005, 14:15 Вопрос задал: Kairat (статус: Посетитель) Всего ответов отправлено: 2 |
Отвечает: Master135 Здравствуйте, Kairat! Пароль запрашивай в коммандной строке или сразу при запуске программы. Сохранять можешь в файле, можешь просто в программе-в любом случае его легко будет подобрать дизассемблировав программу, а вот если попробовать какой-то из алгоритмов шифрования(в нете их множество да и самому можно что-то придумать) то подобрать пароль будет заметно сложнее. |
Ответ отправил: Master135 (статус: 2-ой класс) Отправлен: 30.03.2005, 19:56 |
Отвечает: Стас Здравствуйте, Kairat! C EXE будет сложнее, объясню с COM файлами. 1. Убеждаешься, что твоя прога поместится в COM файл, т.е. COM+твоя < (64K-стек) Открывашь COM файл на запись. Берешь с начала COM файла столько байт, сколько занимает твоя прога, и пишешь их в конец файла. А начала COM файла заменяшь своей прогой. После выполнения твоя прога должна вернуть все на место. Например так: mov cs:[0ffh],0aah ; команда movsb которая перебросит конец файла в начало push cs; pop ds; push cs; pop ds; mov di,0ffh; push di ;это куда мы попадем после RET inc di ;Это куда нужно скопировать байты mov si,место где лежат переброшенные байты (можно подсчитать так: длина COM файла-длина твоей проги+100h); mov cx,длина твоей проги; cld; на всяк случай ret По моему ничего не забыл(надо бы отладчиком пройтись...), может кто поправит или добавит что либо? Если что не понятно пиши. |
Ответ отправил: Стас (статус: Практикант) Отправлен: 31.03.2005, 01:01 |
© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.faq |
Отписаться |
В избранное | ||