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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 751
от 18.07.2004, 19:40

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 5609
Отправлено ответов: 15210
Активность: 271.1 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Tigran K. Kalaidjian
Статус: Профессиональный
Общий рейтинг: 192.14
URL: Оптимизация ПК
[Подробней >>]
Student
Статус: Доверительный
Общий рейтинг: 155.76
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 118.14
[Подробней >>]
 
Foamplast
Статус: Профессиональный
Общий рейтинг: 138.96
URL: мой личный сайт
[Подробней >>]
Горячев Игорь
Статус: Начальный
Общий рейтинг: 116
[Подробней >>]
Стас
Статус: Опытный
Общий рейтинг: 126.7
[Подробней >>]
 
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 133.66
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
bocha
Статус: Опытный
Общий рейтинг: 133.77
[Подробней >>]
Dragoon
Статус: Доверительный
Общий рейтинг: 108.2
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 5587. Здравствуйте, уважаемые эксперты! Как сделать чтоб МАСМ32 v6 компилил *.COM файлы?... (ответов: 4)
Вопрос № 5588. Доброго времени суток, уважаемые! Подскажите, пожалуйста, сайт, где можно найти неплохой электронный... (ответов: 4)
Вопрос № 5589. Просьба выслать руководство по правильной установе MASM под Win9x, Win2000, Win XP, а также руководс... (ответов: 2)
Вопрос № 5590. ЗДРАВСТВУЙТЕ УВАЖАЕМЫЕ ЭКСПЕРТЫ !!!! НЕ МОГЛИ БЫ ВЫ ПОМОЧЬ КАКИМ ОБРАЗОМ ИЛИ ГДЕ ЭТО МОЖНО ПРОЧИТАТЬ... (ответов: 2)
Вопрос № 5591. Здравствуйте, Эксперты! Объясните пожалуйста. Создал я консольную программу, выводящую строку на экр... (ответов: 1)
Вопрос № 5592. Привет. Я начинающий. Только взялся за первый урок и вот такая ошибка: 1. На masm Assembling: 1.asm... (ответов: 1)
Вопрос № 5593. Здравствуйте, Господа Эксперты. У меня к вам есть один такой воот вопросик. Задачка моя состоит в то... (ответов: 4)
Вопрос № 5595. Доброго времени суток, уважаетые эксперты! Подскажите, пожалуйста: 1. Зачем используется команда nop... (ответов: 3)
Вопрос № 5596. Спасибо, Стас, что ответил. Но как выделить данные в отдельный сегмент данных? По-моему, com-проги и... (ответов: 1)
Вопрос № 5597. Здравствуйте дорогие эксперты. Вопрос у меня будет не совсем по ассемблеру...тут больше наверное мат... (ответов: 1)
Вопрос № 5598. Здравствуйте! Подскажите,пожалуйста, где можно взять пример вывода bmp файла на экран(под dos) или е... (ответов: 3)

Вопросов: 11, ответов: 26


 Вопрос № 5587

Здравствуйте, уважаемые эксперты!
Как сделать чтоб МАСМ32 v6 компилил *.COM файлы?



Вопрос отправлен: 12.07.2004, 12:07
Отправитель: hq

[Следующий вопрос >>] [Список вопросов]

Отвечает Tigran K. Kalaidjian

Доброе время суток, hq!
ИМХО нет.

Ответ отправлен: 12.07.2004, 19:22
Отправитель: Tigran K. Kalaidjian


Отвечает Student

Здравствуйте, hq!
ml /AT filename.asm


Ответ отправлен: 13.07.2004, 20:07
Отправитель: Student


Отвечает _vt

Доброе время суток, hq!
Да что вас прорвало их создавать? Просто скачай 16-разрядную версию линкера, в дополнение к основной. Если у тебя MASM не старше 6.11с, то ты прекрасно можешь создавать com-файлы, используя ключ /AT.
* Origin : Life begins at 1000Mhz!


Ответ отправлен: 14.07.2004, 02:39
Отправитель: _vt


Отвечает Foamplast

Доброе время суток, hq!
Воспользоваться FASM'ом.


Ответ отправлен: 13.07.2004, 02:39
Отправитель: Foamplast


 Вопрос № 5588

Доброго времени суток, уважаемые! Подскажите, пожалуйста, сайт, где можно найти неплохой электронный учебник по ASS. И литературу. Потому что, у Юрова - много, но несколько замудренно; у Калаshникоffа - понятно, но мало.



Вопрос отправлен: 12.07.2004, 13:43
Отправитель: Rinat

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Добрый день, Rinat!
А Зубков?
* Origin : Life begins at 1000Mhz!


Ответ отправлен: 14.07.2004, 02:39
Отправитель: _vt


Отвечает Горячев Игорь

Добрый день, Rinat!
Посмотри wasm.ru - там много чего интересного.

Ответ отправлен: 12.07.2004, 23:07
Отправитель: Горячев Игорь


Отвечает Student

Приветствую Вас, Rinat!
Советую --> Зубков С.В. Ассемблер для DOS, WINDOWS UNIX.

Ответ отправлен: 13.07.2004, 20:08
Отправитель: Student


Отвечает Foamplast

Доброе время суток, Rinat!
http://wasm.ru


Ответ отправлен: 13.07.2004, 02:39
Отправитель: Foamplast


 Вопрос № 5589

Просьба выслать руководство по правильной установе MASM под Win9x, Win2000, Win XP, а также руководство пользователя. Только забыл желательно под системами Win9x, Win
2000, Win XP.
Заранее благодарю!
С уважением!



Вопрос отправлен: 12.07.2004, 13:56
Отправитель: Neo

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Здравствуйте, Neo!
Лучше Вам расскажу, как FASM установить.
1. Заходите на http://flatassembler.net/ и качаете файл fasmc150.zip или fasmw150.zip.
2. Создаёте где-либо каталог "FASM".
3. Распаковываете скачанный файл в каталог "FASM".
4. Работаете.


Ответ отправлен: 13.07.2004, 02:39
Отправитель: Foamplast


Отвечает _vt

Доброе время суток, Neo!
Для этого выучи английский язык на техническом уровне (он всё равно понадобится) и следуй инструкциям установщика.
* Origin : Life begins at 1000Mhz!


Ответ отправлен: 14.07.2004, 02:39
Отправитель: _vt


 Вопрос № 5590

ЗДРАВСТВУЙТЕ УВАЖАЕМЫЕ ЭКСПЕРТЫ !!!!
НЕ МОГЛИ БЫ ВЫ ПОМОЧЬ КАКИМ ОБРАЗОМ ИЛИ ГДЕ ЭТО МОЖНО ПРОЧИТАТЬ МОЖНО УЗНАТЬ ПО КАКОМУ АДРЕСУ В БАЙОС ЧТО НАХОДТЬСЯ И КАК МОЖНО ПРОЧИТАТЬ ЭТО ОТ ТУДА ПРИ РАБОТЕ В ДОС
ЗАРАНЕЕ СПАСИБО



Вопрос отправлен: 12.07.2004, 21:11
Отправитель: ANDRE

[Следующий вопрос >>] [Список вопросов]

Отвечает Tigran K. Kalaidjian

Добрый день, ANDRE!
Читайте http://kalaidjian.narod.ru/rusfaq.rar - там подробно расписано.

Ответ отправлен: 13.07.2004, 12:08
Отправитель: Tigran K. Kalaidjian


Отвечает Стас

Приветствую Вас, ANDRE!
У тебя, что-то с клавиатурой? Или с речью?
Тебе нужна область переменных BIOS 0:40?
Или сам BIOS?

Ответ отправлен: 12.07.2004, 22:14
Отправитель: Стас


 Вопрос № 5591

Здравствуйте, Эксперты!
Объясните пожалуйста. Создал я консольную программу, выводящую строку на экран, которая при компановке использует include-файл. Т.е. у меня 2 файла - main.asm и message.asm. В main'e оператор call вызывает из message'a вывод строки. Так вот, когда я смотрю в Turbo Debugger'e что вызывается - то вместо mov ah,09 / mov dx, 102 / int 21 пишется всякая "хрень". Хотя строка выводится. Но если поставить после слова какой-нибудь знак, то в отладчике все OK. Или же, если в одном файле выводить эту строку без всяких include'ов - то тоже норма. Или все дело в include'ах? Заранее спасибо.


Приложение:


Вопрос отправлен: 12.07.2004, 22:01
Отправитель: Russ

[Следующий вопрос >>] [Список вопросов]

Отвечает Стас

Приветствую Вас, Russ!
Вероятнее всего ты видишь следующее:
300: EB0C jmp 30E
302: B409 mov ah,09
304: BA0B01 mov dx,010B
307: CD21 int 21
309: C3 ret
30A: 48 dec ax
30B: 6924E8F2 imul sp,word ptr [si],F2E8
30F: FFCD dec bp
311: 20 and byte ptr [bx+si],al
Видишь куда указывает jmp 30e? как ты выразился - "всякая хрень".
Дело все в том, что TD воспринимает строку "Hi$" как команды ассемблера, сбивается в дизассемблировании и показывает ерунду.
Выдели данные "Hi$" в сегмент данных.

Ответ отправлен: 13.07.2004, 00:30
Отправитель: Стас


 Вопрос № 5592

Привет. Я начинающий. Только взялся за первый урок и вот такая ошибка:
1. На masm
Assembling: 1.asm
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
/z2
"1.obj"
"1.exe"
NUL
LINK : warning LNK4044: unrecognized option "z2"; ignored
1.obj : warning LNK4033: converting object format from OMF to COFF
1.obj : fatal error LNK1190: invalid fixup found, type 0x0001
2. На tasm:
TASM Assembler. Version 3.2 September, 2001.
Copyright (C) 2001 Squak Valley Software
tasm: pass 1 complete.
1.asm line 0001: Label not found: (CSEG)
1.asm line 0001: label value misalligned. (CSEG)
1.asm line 0001: unrecognized instruction. (CSEG)
1.asm line 0002: Label not found: (org)
1.asm line 0002: label value misalligned. (org)
1.asm line 0002: unrecognized directive. (org)
1.asm line 0006: unrecognized instruction. (MOV)
1.asm line 0007: unrecognized instruction. (MOV)
1.asm line 0008: unrecognized instruction. (INT)
1.asm line 0010: unrecognized instruction. (INT)
1.asm line 0012: Label not found: (Message)
1.asm line 0012: label value misalligned. (Message)
1.asm line 0012: unrecognized instruction. (Message)
1.asm line 0014: Label not found: (CSEG)
1.asm line 0014: label value misalligned. (CSEG)
1.asm line 0014: unrecognized instruction. (CSEG)
1.asm line 0015: Label not found: (end)
1.asm line 0015: label value misalligned. (end)
1.asm line 0015: unrecognized instruction. (end)
line 0015: No END directive before EOF.
Объясните пожалуйста.



Вопрос отправлен: 13.07.2004, 02:20
Отправитель: Ян

[Следующий вопрос >>] [Список вопросов]

Отвечает Tigran K. Kalaidjian

Приветствую Вас, Ян!
Соизвольте, пожалуйста, отправить исходник, т.е. 1.asm, а то так ничего не понятно...

Ответ отправлен: 13.07.2004, 12:20
Отправитель: Tigran K. Kalaidjian


 Вопрос № 5593

Здравствуйте, Господа Эксперты. У меня к вам есть один такой воот вопросик. Задачка моя состоит в том, что мне необходимо работать с числами с плавающей запятьй(умножение их там, среднее их арифмет.). ПРоблема моя состоит в том, что я не знаю в каком виде мне лучше хранить эти числа. Ввод их с клавы ограничивается лишь enter'om. Так что количество их не ограниченно.
Только вот желательно бы ничего такого заумного не предлагать, ибо сама автор вопроса явл. начинающим в изучении assembler'a и таким уж АСОМ не явл..
Заранее благодарю.



Вопрос отправлен: 13.07.2004, 03:33
Отправитель: Tiana (ptaniya@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Стас

Здравствуйте, Tiana!
Думаю, лучше всего с числами с плавающей запятой работать через сопроцессор. Соовественно использовать 80 битные числа.
Не понятно, что значит количество их не ограниченно.
Если это действительно так, прийдется выделять память по мере необходимости. Если они хранятся в файле то можно обрабатывать их блоками. А если они вводятся с клавиатуры, то их точно не будет много.
Если пишется чтото вроде 54/32=1.6875, то вообще нужно не более 3-5 переменных.
Конкретнее описывате задачу.

Ответ отправлен: 13.07.2004, 13:31
Отправитель: Стас


Отвечает Евгений Иванов

Приветствую Вас, Tiana!
Как у вас там, жарко?
а хранить числа нужно в их формате, 80 бит который, 10 байт.
Бывай.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 13.07.2004, 22:02
Отправитель: Евгений Иванов


Отвечает Tigran K. Kalaidjian

Доброе время суток, Tiana!
Для таких целей хорошо использовать математический сопроцессор. Коротенько можно прочитать в FAQ:
http://kalaidjian.narod.ru/rusfaq.rar
Подробно можно прочитать у Зубкова (там и про стандарты хранения, и про операции всё есть):
http://www.bobjohnson.nm.ru/files/zubkov.zip

Ответ отправлен: 13.07.2004, 20:02
Отправитель: Tigran K. Kalaidjian


Отвечает bocha

Приветствую Вас, Tiana!
Если Вам необходимо только умножение и среднее арифметическое, то достаточно двух 80б переменных для хранения рез-та, и одной 8б для хранения количества введенных чисел (с клавы много не наколотишь). Если все же необходимо сохранять введенные переменные, то зависит от того, куда пишем. Для Вынь я бы взял диалоговое окно с листбоксом(самый простейший вариант).

Ответ отправлен: 13.07.2004, 15:26
Отправитель: bocha


 Вопрос № 5595

Доброго времени суток, уважаетые эксперты!
Подскажите, пожалуйста:
1. Зачем используется команда nop (я очень часто встречал эту команду у компилятора Visual C++ 7)
2. Зачем используется команда hlt (в книге Зубкова, он иногда завершает этой командой программу. Это в разделе Программирование на ассемблере в среде Unix. В других раздела я не смотрел (win,dos))
В этой книге не описывается зачем эти команды используются в данной программе.



Вопрос отправлен: 13.07.2004, 22:28
Отправитель: Alexander

[Следующий вопрос >>] [Список вопросов]

Отвечает Tigran K. Kalaidjian

Доброе время суток, Alexander!
1. NOP - "пустая" команда – ничего не делает. Обычно используется для пропуска интервала времени в циклах временных задержек, для забивания области памяти (антиотладочные приёмы) или для того, чтобы запихать в память команду вместо большей по размеру. Т.е. вмето длинной команды пишется короткая, а оставшееся забивается nop' ами
2. HLT - от англ. Halt. Команда переводит микропроцессор в состояние останова. Если прерывания были заблокированы, из состояния останова микропроцессор можно вывести только выключением и включением ЭВМ. Если прерывания были разрешены, микропроцессор можно вывести из останова внешним прерыванием.

Ответ отправлен: 14.07.2004, 10:52
Отправитель: Tigran K. Kalaidjian


Отвечает Dragoon

Доброе время суток, Alexander!
NOP - No Operand - пустой операнд. Ничего не делает, чаще всего
им 'забивают' в программе ненужные байты
HLT - HaLT - переводит процессор в состояние останова


Ответ отправлен: 17.07.2004, 11:58
Отправитель: Dragoon


Отвечает _vt

Здравствуйте, Alexander!
1) В случае компилятора Visual Studio, она используется для выравнивания секций, на размер, кратный 512, вместо нулей.
2) Видимо, в никсах так принято! =)
* Origin : Life begins at 1000Mhz!


Ответ отправлен: 15.07.2004, 20:51
Отправитель: _vt


 Вопрос № 5596

Спасибо, Стас, что ответил. Но как выделить данные в отдельный сегмент данных? По-моему, com-проги используют один сегмент. Или я ошибаюсь?



Вопрос отправлен: 13.07.2004, 23:06
Отправитель: Russ

[Следующий вопрос >>] [Список вопросов]

Отвечает Стас

Здравствуйте, Russ!
Я её скомпилил в EXE...
Если это COM файл, то старайся располагать данные в конце программы, после кода, впрочем это не критично.
Когда ты будет пошагово в том же TD проходить программу все будет впорядке. Она сама "выровняется".

Ответ отправлен: 14.07.2004, 19:00
Отправитель: Стас


 Вопрос № 5597

Здравствуйте дорогие эксперты. Вопрос у меня будет не совсем по
ассемблеру...тут больше наверное математики, криптографии...
В журнале ][akep часто печатаются конкурсы, в которых читатель должен поломать
свою голову, дать правельный ответ на заданный вопрос и получить приз. В одном
номере журнала задают вопрос, в следующем номере ответ на него. Поскольку
журналы хакер очень дорогие, то покупать их получается не всегда. Но получить
ответы на вопросы всё таки интересно. Я был бы очень вам презнателен если бы
вы помогли мне идиоту разобраться с одним вопросом, ибо мне вообще в голову
ничего не приходит.=(
Вопрос я перефразирую своими словами (задавался в майском номере):
----------
Некая программа "admin monkye" являлась якобы генератором случайных паролей.
Некий админ решил сгенерировать 5 паролей (9-ти символьных) и получил
следующие результаты:
m&B5#>{U4 //первый пароль
W3K*A+u+d //второй пароль
9%w+&E5R} //четвёртый пароль
*Ja!2CAPs //пятый пароль
На первый взгляд пароли выгледят обсолютно случайными, но на самом деле это не
так. Ибо программа на самом деле генерирует пароли по определённой схеме. Дык
вот, нужно объяснить закономерность, по которой прога выдаёт пароли.
--------------
помогите, плиз, а то я уже весь измучался. Чувствую себя полным лохом.
Спасибо всем!



Вопрос отправлен: 14.07.2004, 14:03
Отправитель: soko1 (sokolhacker@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Dragoon

Здравствуйте, soko1!
Думай сам.
P.S. Закономерность довольно простая. Присмотрись повнимательней к смене символов


Ответ отправлен: 17.07.2004, 12:00
Отправитель: Dragoon


 Вопрос № 5598

Здравствуйте!
Подскажите,пожалуйста, где можно взять пример вывода
bmp файла на экран(под dos)
или если не сложно перешлите мне исходник.
С ув.
Роберт



Вопрос отправлен: 14.07.2004, 19:35
Отправитель: Robert

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Приветствую Вас, Robert!
Для этого нужно взять описание формата BMP из MSDN, приспособить его под свои нужды (под DOS =)) и выводить его на экран, предварительно переключив экран в подходящий режим. Описание формата могу прислать - пиши мне e-mail.
* Origin : Life begins at 1000Mhz!


Ответ отправлен: 15.07.2004, 20:51
Отправитель: _vt


Отвечает Dragoon

Приветствую Вас, Robert!
Я писал на Паскале. Надо только перевести на асм. Если сам не сможешь, тогда напиши, я перекатаю. Сейчас лень возиться.

Приложение:

Ответ отправлен: 17.07.2004, 12:02
Отправитель: Dragoon


Отвечает Евгений Иванов

Добрый день, Robert!
Смотри на моём сайте исходник программы PLAYGIF.
http://superforest.narod.ru/research_playgif.htm
Там вывод GIF, но запросто можно приспособить и вывод любого формата, BMP одним махом.
Удачи.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 16.07.2004, 00:09
Отправитель: Евгений Иванов



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
Assembler (25)
C / C++ (10)
Perl (4)
Builder / Delphi (14)
Pascal (22)
Basic / VBA (6)
Java / JavaScript (4)
PHP (12)
Криптография (6)
WinAPI (9)
Радиоэлектроника (8)
Пользователю
Windows 95/98/Me (38)
Windows NT/2000/XP (50)
"Железо" (34)
Поиск информации (15)
Администратору
Windows NT/2000/XP (28)
Linux / Unix (12)
Юристу
Гражданское право (10)
Семейное право (8)
Трудовое право (9)
КоАП (7)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Адрес подписки
Отписаться

В избранное