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

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


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

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

Выпуск № 693
от 29.01.2004, 19:50

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


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

VOVAN
Статус: Доверительный
Общий рейтинг: 108.46
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 117.81
URL: Тест
[Подробней >>]
SedHg
Статус: Доверительный
Общий рейтинг: 115
[Подробней >>]
 
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 136.61
URL: Super Assembler Software
Телефон: Пчёлка +7 905 6601206
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.51
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 116.5
[Подробней >>]
 
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 145.93
URL: Программирование
[Подробней >>]
never_again
Статус: Опытный
Общий рейтинг: 124.64
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 112.18
[Подробней >>]


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

Вопрос № 4860. Здравствуйте! Подскажите,пожалуйста,можно ли установить скачаные с Вашего сайта программы (Masm 6.12... (ответов: 3)
Вопрос № 4861. Здравствуйте, господа эксперты! Как выполняется вычитание двоичных чисел - меня интересует операция ... (ответов: 3)
Вопрос № 4862. Это- разъяснение.Эксперт VOVAN,вероятно,не понял вопроса, При попытке установить все скаченные у Вас... (ответов: 2)
Вопрос № 4863. Господа, видел как-то в программе пересылку данных по SMTP по 1 байту - в цикле 1000 раз вызывалась ... (ответов: 1)
Вопрос № 4864. дравствуйте! Не подскажете что такое восстановление DS после выполнения некоторых функций? Например:... (ответов: 5)
Вопрос № 4865. Добрый день! К вопросу №4857. Странно что не поняли вопроса.... SedHg пишет : "Вам что л... (ответов: 2)
Вопрос № 4867. Hi. Возникла проблема... При использовании в Pascal процедуры, которая создает файл, написанной на ... (ответов: 1)
Вопрос № 4868. Уважаемые эксперты! Не подскажите ли где можно достать структуру DOC-файла Office 97. Нужно сделать ... (ответов: 2)
Вопрос № 4870. Привет, знатоки!Вопрос.Как дополнительно к ХР установить DOS... (ответов: 3)
Вопрос № 4871. Здравствуйте, уважаемые эксперты! Вопрос конечно не по асме, но обращаюсь к вам так как вы наверняк... (ответов: 1)
Вопрос № 4872. Здравствуйте! Очень благодарен всем ответившим мне.Но никак не могу приступить к изучению рассылки ... (ответов: 4)

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


 Вопрос № 4860

Здравствуйте!
Подскажите,пожалуйста,можно ли установить скачаные с Вашего сайта программы
(Masm 6.12 и другие) в XP .У меня не получилось.
И всвязи с этим второй вопрос:скачал с домашнего сайта MASM 8,
установил,есть ли русский help к нему или какие-то инструкции,чтобы начать
изучение ассемблера.
Спасибо.Михаил.



Вопрос отправлен: 23.01.2004, 09:34
Отправитель: Михаил

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

Отвечает VOVAN

Здравствуйте, Михаил!
распакуй, зайди туда, куда распаковал типа
c:xxxmasm6.12disc1
запускай setup
там всё по стандарту:
install microsoft macro assembler>>>
dos&windows NT>>>
yes>>>no>>>no>>>yes>>>no>>>no>>>
пишешь, куда это всё пихать>>>
NO CHANGES>>>
installing...>>>
Ctrl+C
всё, ассемблер успешно установлен.
файл ml.exe в директории bin
чтобы узнать, как его использовать, возьми любой архив рассылки и посмотри самое начало!

Ответ отправлен: 23.01.2004, 18:12
Отправитель: VOVAN


Отвечает _vt

Приветствую Вас, Михаил!
1)Отлично всё устанавливается. Может ты распаковал не всё?
2)> есть ли русский help к нему
Нету и никогда не будет. Учи английский.
> или какие-то инструкции,чтобы начать изучение ассемблера.
Начинай с книги Зубкова и книги О.Калашникова.(скачать можно там же, откуда Masm 6)
--- E-Man 1.5+ : Life begins at 1000 MHz!


Ответ отправлен: 24.01.2004, 00:18
Отправитель: _vt


Отвечает SedHg

Здравствуйте, Михаил!
Относительно второго вопроса, русского хелпа к MASM'у нет.
Надеюсь ты скачал Hutch'евский MASM. Если нет, то скачивай
его с WASM.RU. На этом же сайте лежат туториалы Iczelion'а.
В них ты найдешь достаточно подробное описание как программировать под винды с помощью MASM. Если возникнут вопросы, пиши, отвечу.


Ответ отправлен: 24.01.2004, 00:39
Отправитель: SedHg


 Вопрос № 4861

Здравствуйте, господа эксперты!
Как выполняется вычитание двоичных чисел - меня интересует операция заема?



Вопрос отправлен: 23.01.2004, 17:39
Отправитель: Александр

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

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

Здравствуйте, Александр!
Вычитается ещё и заём, то есть, флаг C.
Это нужно для обеспечения вычитания больших чисел.
Бывай!

* EMan: -=- Любовь существует! =-=


Ответ отправлен: 23.01.2004, 21:06
Отправитель: Евгений Иванов


Отвечает vitya

Приветствую Вас, Александр!
Она выполняется в двоичном коде, там заем не нужен. Там только суммирование.

Ответ отправлен: 23.01.2004, 17:47
Отправитель: vitya


Отвечает Ayl

Добрый день, Александр!
Вычитание двоичных чисел осуществляется с помощью представления вычитаемого в дополнительном коде. И последующего сложения. Операция заема при этом формируется автоматически.


Ответ отправлен: 25.01.2004, 15:42
Отправитель: Ayl


 Вопрос № 4862

Это- разъяснение.Эксперт VOVAN,вероятно,не понял вопроса,
При попытке установить все скаченные у Вас программы(разархивированные)
после нажатия на setup (masm) или exe(отладчик) мелькает командная строка
и на этом всё заканчивается.Изменения режима совместимости не помогает
Работают они вообще в windows XP?
MASM 8 установился нормально,но не знаю,как с ним работать(рассылка
описывает MASM 6..)



Вопрос отправлен: 23.01.2004, 22:08
Отправитель: Михаил

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

Отвечает SedHg

Здравствуйте, Михаил!
Отладчик без параметров, переданных ему через командную, строку не запустится, хотя смотря какой %).


Ответ отправлен: 24.01.2004, 00:42
Отправитель: SedHg


Отвечает VOVAN

Доброе время суток, Михаил!
Да, я сначала подумал, что вас интересует сам процесс инстала.
у меня ХР. masm я запускаю двумя способами: из командной строки или из Far'a
Из ком.строки:
копируете исходник (файл с расширением .asm) в папку, где лежит ml.exe или masm.exe c link.exe
пуск---выполнить----cmd enter
откроется сеанс msdos
пишете cd disc:путь_к_папке_где_лежит_исход_с_компилем
enter
вы перейдёте к папке, где это всё свалено
после этого пишете
ml.exe имя_исхода.asm /AT
если нет ошибок, то вы получите соm-файл


Ответ отправлен: 24.01.2004, 19:56
Отправитель: VOVAN


 Вопрос № 4863

Господа, видел как-то в программе пересылку данных по SMTP по 1 байту - в цикле 1000 раз вызывалась send, hSocket, edi, 1, 0.
Я подумал, если передать сразу 1000 байт -
send, hSocket, edi, 1000, 0 - будет быстрее, но автор, вероятно, предпочёл надёжность (в случае разрыва связи больше байт передаст). Но, вроде как, данные передаются дейтаграммами, и один полезный байт должен дополняться "пустышками". Так зачем передавать лишние данные и тормозить в программе? Наверное, оптимально передавать данные кратно размеру дейтаграммы, только размер я не знаю :( Интересно узнать ваше мнение по поводу оптимальной передачи данных по SMTP. Спасибо за ответ.



Вопрос отправлен: 23.01.2004, 23:00
Отправитель: Александр

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

Отвечает Bob Johnson

Здравствуйте, Александр!
Данные передаютс датаграммами только для протокола UDP. SMTP сервер же требует соединения по протоколу TCP, датаграммы к которому неприменимы. В ТСР данные передаются пакетами, но windows socket осуществляет их некоторую буферизацию, так что если ты быстро вызовешь функцию send несколько раз, то это будет то же самое, как если бы ты вызвал ее один раз но с блоком большей длины.
В данной ситуации я думаю, что автор этой программы не умеет обрабатывать переполнение буфера wsa (т.е. если ты захочешь передать 10 мб через неблокирующий сокет, то ты за один вызов send поместишь во внутренний буфер wsa только определенное количество байт из этих 10 мб (но не все!), а потом тебе надо будет вызывать функцию send еще раз с того места, которое не поместилось в буфер после первого вызова). Если же обрабатывать переполнение буфера правильно, то передавать можно сразу целыми блоками.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 25.01.2004, 21:16
Отправитель: Bob Johnson


 Вопрос № 4864

дравствуйте!
Не подскажете что такое восстановление DS после выполнения некоторых
функций? Например:
"Вернемся. Если есть желание поэкспериментировать, то попробуйте перед
вызовом 21h-ого прерывания загрузить в DS какое-нибудь число.
Например, так:"
...
mov dx,offset My_string
mov ax,10h
mov ds,ax
mov ah,9
int 21h
...
"Вы увидите, что программа выведет не нашу строку, а какой-то "мусор"
на экран, хотя в DX мы и загружаем адрес нашей строки, но сегмент другой.
Только не забудьте восстановить DS после выполнения данной функции:"
mov ax,cs
mov ds,ax
PS.: приведенный выше текст из "Калашников.ru - Ассемблер? Это
просто!.. (Выпуск № 004)"
И еще один маленький вопросик, :)
IA-32 Intel Architecture включает в себя только
Pentium 4, Xeon и Pentium M, и всё? А Pentium 3,
celeron уже нет?
Заранее спасибо.



Вопрос отправлен: 24.01.2004, 12:26
Отправитель: aleX

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

Отвечает _vt

Здравствуйте, aleX!
2) Вообще-то, к ia-32 относятся все процессоры Intel, AMD, Cyrix и др., начиная с 80386, и даже 286, иногда называется "16-разрядным процессором архитектуры ia-32", (это не я, это intel придумала :-)).
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


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


Отвечает Bob Johnson

Здравствуйте, aleX!
IA32 - это все 32-х разрядные процессоры intel (т.е. 386, 486 ... P4).

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 25.01.2004, 21:16
Отправитель: Bob Johnson


Отвечает vitya

Приветствую Вас, aleX!
если неосстановить DS то программа не будет работать.
IA32 - начинается с i386 и заканчивается, на сегодня Pentium4

Ответ отправлен: 24.01.2004, 12:45
Отправитель: vitya


Отвечает never_again

Добрый день, aleX!
DS это регистр который указывает на сегмент данных. При его изменении (для достижения каких-либо программных целей) необходимо его восстановить. Иначе будет потеряна связь программы с её данными и течение программы будет непредсказуемым...

Ответ отправлен: 24.01.2004, 14:33
Отправитель: never_again


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

Добрый день, aleX!
IA-32 включает в себя всё, начиная с 386.
===
а регистры восстанавливай или нет - это зависит от твоих потребностей!
Бывай!
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 24.01.2004, 19:40
Отправитель: Евгений Иванов


 Вопрос № 4865

Добрый день!
К вопросу №4857.
Странно что не поняли вопроса....
SedHg пишет : "Вам что лень самому посмотреть во что это компилируется ..."
Я вижу что вы знаете как как дизассемблировать ядро linux и в каком месте в полученном листинге будет находиться код драйвера, исходник которого я пытаюсь переписать на асме. (тем более ядро одновременно содержит драйвера нескольких карт).
_vt пишет :'По приведенному куску ничего сказать нельзя - он неполный!'
Что Вам не хватает для понимания этого куска. Участки инициализирующие переменные (как я понял) мною показаны. Вызываемые функции, которые не входят в набор стандартных иклудов для gcc 2.94 тоже приведены. Чего еще нужно ? Может ссылка на этот исходник? Пожалуйста usrsrclinux-x.x.xxdriversvideoS3triofb.c
Да и вообще это рубрика "Ассемблер"...
А куда Вы предлогаете обратиться, если мне нужно переписать этот код на асм?



Вопрос отправлен: 24.01.2004, 13:50
Отправитель: Alexej

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

Отвечает _vt

Добрый день, Alexej!
Ну, смотрим исходник:
#define mem_out8(val, addr) out_8((void *)(addr), val)
address = 0xc6000000;
size = 64*1024*1024;
s3trio_base = ioremap(address, size);
!! mem_out8(0x4c, s3trio_base+0x1008000 + 0x03D4);
!! mem_in8(s3trio_base+0x1008000 + 0x03D4);

!! mem_out8(0x00, s3trio_base+0x1008000 + 0x03D5);

Что такое ioremap - я не знаю... Что такое mem_in8 - тоже не знаю, хотя могу догадываться. Интуитивно, могу предположить, что mem_out выводит число 0х4с по адресу s3_base+[offset], а mem_in - наоборот.
> Может ссылка на этот исходник? Пожалуйста usrsrclinux-x.x.xxdriversvideoS3triofb.c
Я к счастью, не могу открыть этот файл по этой "ссылке"... :-)
> Я вижу что вы знаете как как дизассемблировать ядро linux и в каком месте в полученном листинге будет находиться код драйвера
Компилируй этот файл с созданием ассемблерного листинга (обычно, опция -s компилятора) - там и посмотришь.
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


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


Отвечает SedHg

Приветствую Вас, Alexej!
Я,видимо,не понял вопрос, т.к. ещё до Вашего уровня не дорос - переделывать дрова под Линух %).
Кстати в Вашем первом вопросе про ассемблер слова даже небыло :(.
Так что извините, но помочь я Вам не могу :((.

Ответ отправлен: 24.01.2004, 21:38
Отправитель: SedHg


 Вопрос № 4867

Hi. Возникла проблема...
При использовании в Pascal процедуры, которая создает файл, написанной на ASM возвращается ошибка (CF=1 AX=2) и ничего не создается. Где ошибка?


Приложение:


Вопрос отправлен: 24.01.2004, 17:59
Отправитель: Aleksey (wpost2002@mail.ru)

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

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

Добрый день, Aleksey!
Используй функцию 3Ch для создания файла!!
Удачи!

* EMan: -=- Любовь существует! =-=


Ответ отправлен: 24.01.2004, 19:49
Отправитель: Евгений Иванов


 Вопрос № 4868

Уважаемые эксперты! Не подскажите ли где можно достать структуру DOC-файла Office 97. Нужно сделать программку для снятия (или хотя бы отображения) пароля на запись. Пароль этот хранится в самом документе, нужно только знать как вычислить его адрес. Все ссылки, котрые я сам нашёл оказались "дохлыми". Поделитесь, а?



Вопрос отправлен: 24.01.2004, 20:06
Отправитель: Roman

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

Отвечает SedHg

Доброе время суток, Roman!
Насколько мне известно пароль "размазан" по всему документу,
следовательно, найти его практически невозможно. Если тебе нужно открыть запароленный документ используй брут форсе.


Ответ отправлен: 24.01.2004, 21:33
Отправитель: SedHg


Отвечает ASMодей

Приветствую Вас, Roman!
Поделиться можно, да только адреса нет.

Ответ отправлен: 27.01.2004, 07:19
Отправитель: ASMодей


 Вопрос № 4870

Привет, знатоки!Вопрос.Как дополнительно к ХР установить DOS



Вопрос отправлен: 25.01.2004, 11:47
Отправитель: RUSLAN

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

Отвечает never_again

Доброе время суток, RUSLAN!
сначала ставь ДОС, а потом поверх ДОСа ставь ХР. ХР сама должна определить, что у тебя есть вторая операционка и при старте компа будешь видеть меню с возможностью выбора какой-либо из систем.

Ответ отправлен: 25.01.2004, 13:59
Отправитель: never_again


Отвечает ASMодей

Доброе время суток, RUSLAN!
Можно использовать VMWare или VirtualPC.

Ответ отправлен: 27.01.2004, 07:22
Отправитель: ASMодей


Отвечает _vt

Здравствуйте, RUSLAN!
Microsoft Virtual PC - то, что тебе надо.
--- E-Man 1.5+ : Sorry for terrible english. My native language is C++


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


 Вопрос № 4871

Здравствуйте, уважаемые эксперты!

Вопрос конечно не по асме, но обращаюсь к вам так как вы наверняка
знаете это лучше других :)
Можете ли вы мне сказать, как записать файл-образ флопи диска
(1,44МБ), на USB стик или компакт диск?
И можно ли вообще сделать какбы флопи диск из USB стика или компакт диска?
благодарю.



Вопрос отправлен: 25.01.2004, 11:48
Отправитель: Alex

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

Отвечает Bob Johnson

Здравствуйте, Alex!
Из компакт диска можно - см. создание image. Это можно сделать прямо в nero.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 25.01.2004, 21:17
Отправитель: Bob Johnson


 Вопрос № 4872

Здравствуйте!
Очень благодарен всем ответившим мне.Но никак не могу приступить к
изучению рассылки Калашникова.Не получается самое простое:
Установил MASM6.11. В командной строке набираю(после копирования
в директорию BIN файла ,напр. prog01.asm,):
c:masm611in ml.exe prog01.asm AT
получаю:ошибка А1000 не найден файл АТ
Что-то сделал не так?
Спасибо .Михаил.



Вопрос отправлен: 25.01.2004, 19:43
Отправитель: Михаил

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

Отвечает Bob Johnson

Здравствуйте, Михаил!
Надо /AT

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 25.01.2004, 20:57
Отправитель: Bob Johnson


Отвечает SedHg

Здравствуйте, Михаил!
ML.EXE PROG.ASM /AT
Нужна косая черта


Ответ отправлен: 26.01.2004, 03:33
Отправитель: SedHg


Отвечает Ayl

Приветствую Вас, Михаил!
Перед AT надо поставить знак "слеш" ("/") для указания, что это параметр, а не имя файла


Ответ отправлен: 26.01.2004, 11:51
Отправитель: Ayl


Отвечает VOVAN

Доброе время суток, Михаил!
скорее всего ты не поставил слэш перед АТ

Ответ отправлен: 26.01.2004, 16:01
Отправитель: VOVAN



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (24)
C / C++ (17)
Perl (3)
Builder / Delphi (17)
Pascal (18)
Basic / VBA (6)
Java / JavaScript (4)
PHP (13)
Криптография (5)
WinAPI (10)
Радиоэлектроника (4)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (57)
"Железо" (33)
Поиск информации (18)
Администратору
Windows NT/2000/XP (32)
Linux / Unix (11)
Юристу
Гражданское право (17)
Семейное право (11)
Трудовое право (13)
КоАП (12)

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




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


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


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное