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

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


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

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

Выпуск № 778
от 06.11.2004, 17:00

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


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

Evils_Interrupt
Статус: Доверительный
Общий рейтинг: 126.8
[Подробней >>]
PavPS
Статус: Опытный
Общий рейтинг: 110.27
[Подробней >>]
bocha
Статус: Профессиональный
Общий рейтинг: 120.31
[Подробней >>]
 
Василевский Александр
Статус: Опытный
Общий рейтинг: 116.36
[Подробней >>]
Стас
Статус: Профессиональный
Общий рейтинг: 123.03
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 109.1
[Подробней >>]
 
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 132.07
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 118.29
[Подробней >>]
andre
Статус: Доверительный
Общий рейтинг: 145.71
[Подробней >>]


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

Вопрос № 5934. Здравствуйте, эксперты! Облазил инет, но не смог найти алгоритм или формулу для след. задачи: Преобразуйте матрицу n*m в вектор-столбец n*1, элементы которого представляют собой среднее взвешенное i строки матрицы по элементам i+1 строки. Код не нуже... (ответов: 1)
Вопрос № 5935. Привет всем! Какую библиотеку нада подключить, чтобы использовать функцию NtQuerySystemInformation? Заранее благодарен за ответы 1!... (ответов: 2)
Вопрос № 5937. Как проверить установлен или нет определенный бит байта?... (ответов: 5)
Вопрос № 5938. Дорогие эксперты не забывайте про начинающих. Если можно сылки на дорументацию на русском языке по Ассемблеру и WinApi сокетами Зарание благодарен Максим !... (ответов: 2)
Вопрос № 5940. Как узнать с какого адреса была вызвана та или иная API ф-я.?... (ответов: 1)
Вопрос № 5941. Здравствуйте. Помогите пожалуйста. Мне дали курсовую по assembleru стандартное безусловное форматирование дискеты. Если у вас что нибудь есть по этой теме пришлите пожалуйста. Заранее спасибо.... (ответов: 2)
Вопрос № 5942. Привет участникам рассылки! Спасибо всем за ответы на вопрос №5935. Функция NtQuerySystemInformation оказалась в библиотеке ntdll.dll, в kernel32 - она просто импортируется и никак не хочет подгружаться в Win32. Она должна работать и в W2k_ только ... (ответов: 1)
Вопрос № 5943. Здравстуйте Все. Не мог ли кто ни будь подсказать как сохранить изменения в SoftISE.У меня версия 4.0.Аглицкого не знаю и в Assemblerе только начинаю.Программу подкорректировал-работает при запущеном отладчике,а измнения не сохраняет.Что делать? Зара... (ответов: 1)
Вопрос № 5944. Здравствуйте уважаемые програмисты. Я совсем недавно начал изучать асм и сталкнулся с такой проблемой: мне нужно прибавить к содержимому регистра DX десятичное число и вывести результат на экран. Подскажите нужные операторы илиеще чего. Мой код приве... (ответов: 2)
Вопрос № 5945. Здравствуйте! Уважаемые эксперты дайте пожалуста сылки на информацию для начинающих по Ассемблеру ... (ответов: 1)
Вопрос № 5946. Здраствуйте тов. Эксперты! Подскажите каким образом можно запустить поочередно несколько файлов (запускается одна прогррамма, заканчивается и запускается друга программа или по выбору (что то вроде меню, под досом)), у меня получается запустить тольк... (ответов: 2)
Вопрос № 5947. дорогие эксперты подскажите пожалуйста как быть, 1)поставил masm ver.6 ОС winXP,1.7Ghz 2)набрал простенькую программу по выводу строки на экран из рассылки 3) набираю в ком. строке "ml.exe 1.asm /AT" windows выдает ошибку "ml.e... (ответов: 2)
Вопрос № 5948. здравствуйте эксперты вопрос у меня следующий каким образом если пишется ассемблер то он компилирует сам себя к примеру тот же fasm где можно найти соответствующую лит-ру спасибо... (ответов: 2)
Вопрос № 5949. Здравствуйте, вопрос простенький, надеюсь не заберет много времени - как разобрать 32 битное число на 2 16 битных. Мерси боку!... (ответов: 2)

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


 Вопрос № 5934

Здравствуйте, эксперты!
Облазил инет, но не смог найти алгоритм или формулу для след. задачи:
Преобразуйте матрицу n*m в вектор-столбец n*1, элементы которого представляют собой среднее взвешенное i строки матрицы по элементам i+1 строки.
Код не нужен, скажите, пожалуйста как вычислить это ср.взвешенное!!!
И еще не понятно, как получить n*1 столбец, если для последней строки нельзя вычислить "среднее взвешенное" (получится ведь (n-1)*1).
Заранее благодарен, EraSer



Вопрос отправлен: 28.10.2004, 12:15
Отправитель: EraSer (eraser99@tut.by)

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

Отвечает Evils_Interrupt

Добрый день, EraSer!

www.wasm.ru/forum/index.php

Ответ отправлен: 28.10.2004, 22:56
Отправитель: Evils_Interrupt


 Вопрос № 5935

Привет всем!
Какую библиотеку нада подключить, чтобы использовать функцию
NtQuerySystemInformation?
Заранее благодарен за ответы 1!



Вопрос отправлен: 28.10.2004, 18:23
Отправитель: 1

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

Отвечает PavPS

Доброе время суток, 1!
Вообще, она в kernel32.dll далее идет в ntdll а потом в ntoskrnl - и там уже реализована. Ну,короче - "kernel32.dll"

Ответ отправлен: 28.10.2004, 19:38
Отправитель: PavPS


Отвечает bocha

Доброе время суток, 1!
Requirements
Client: Requires Windows XP or Windows 2000 Professional.
Server: Requires Windows 2000 Server.
Header: Declared in Winternl.h.
Это три последние строки из статьи по твоей ф-ции из MSDN.(help, F1)

Ответ отправлен: 29.10.2004, 03:50
Отправитель: bocha


 Вопрос № 5937

Как проверить установлен или нет определенный бит байта?



Вопрос отправлен: 28.10.2004, 20:31
Отправитель: Serega

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

Отвечает bocha

Приветствую Вас, Serega!
if(MY_FLAG & MY_BIT)...;

Ответ отправлен: 29.10.2004, 03:42
Отправитель: bocha


Отвечает Василевский Александр

Здравствуйте, Serega!
Если используется процессор i80386 и выше, то есть специальные команды для работы с битами. Вам нужна команда BT:
BT база, смещение
база:
регистр или переменная в памяти
смещение:
если число, то номер бита (от 0 до 31)
если регистр, то номер бита (от -2^31 до 2^31-1)
Данная команда считывает в флаг CF значение бита:
BT EAX, 0 ; значение 0-го бита (младшего)
BT EAX, 31d ; значение 31-го бита (старшего)
Если же используется процессор младше i80386, то проверка бита может быть осуществлена командой TEST:
TEST переменная, маска
переменная:
регистр или переменная в памяти
маска:
маска бита, в данной маске бит, который проверяется, должен быть установлен в 1, остальные сброшены в 0.
Данная команда выполняет операцию побитового И над первым и вторым операндами, устанавливаются все флаги, но результат операции теряется ( т.е. операнды не изменяются).
Если проверяется один бит, то флаг ZF=1, если бит сброшен, и ZF=1, если бит установлен:
TEST AX, 01h ; проверка младшего бита
TEST AX, 80h ; проверека старшего бита


Ответ отправлен: 29.10.2004, 09:11
Отправитель: Василевский Александр


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

Здравствуйте, Serega!
test регистр,бит
напр: test al,7
jz если 0

Ответ отправлен: 28.10.2004, 21:45
Отправитель: Стас


Отвечает Dark_Lord

Добрый день, Serega!
bt al,x
бит х заноситься в cf
или
and al, 1 shl x
бит х заноситься в zf

Ответ отправлен: 30.10.2004, 13:40
Отправитель: Dark_Lord


Отвечает Evils_Interrupt

Здравствуйте, Serega!
Выделить его!
mov eax,number
test eax,1b выделил 1 бит!
тута проверка флага че те надо!

Ответ отправлен: 28.10.2004, 22:55
Отправитель: Evils_Interrupt


 Вопрос № 5938

Дорогие эксперты не забывайте про начинающих.
Если можно сылки на дорументацию на русском языке
по Ассемблеру и WinApi сокетами
Зарание благодарен Максим !



Вопрос отправлен: 29.10.2004, 00:18
Отправитель: Максим

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

Отвечает bocha

Добрый день, Максим!
на Русском документации мало, поэтому - MSDN...

Ответ отправлен: 29.10.2004, 03:41
Отправитель: bocha


Отвечает Evils_Interrupt

Здравствуйте, Максим!
По ассемблеру: Почитай рассылку Калашникова, а после советую купить Питера Абеля и пусть это будет под дос, но он научит тебя думать алгоритмически на ассемблере. Купи также себе Таненбаума "совр.опер.системы" - за эти книги стоит денег отдать!
По винапи- PlatforfSDK в нэте она много весит по этому ищи узнакомых и тогда тебе не нужно искать справку по винапи, там есть почти все!
Также хороший ресурс www.wasm.ru

Ответ отправлен: 29.10.2004, 08:52
Отправитель: Evils_Interrupt


 Вопрос № 5940

Как узнать с какого адреса была вызвана та или иная API ф-я.?



Вопрос отправлен: 29.10.2004, 22:44
Отправитель: andrew

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

Отвечает PavPS

Приветствую Вас, andrew!
Если ты посмотришь на DWORD по адресу регистра ESP (если ты находишься в начале API ф-ии), то он то и покажет адрес следующей инструкции за той, от которой была она вызвана.

Ответ отправлен: 30.10.2004, 10:46
Отправитель: PavPS


 Вопрос № 5941

Здравствуйте. Помогите пожалуйста. Мне дали курсовую по assembleru стандартное безусловное форматирование дискеты. Если у вас что нибудь есть по этой теме пришлите пожалуйста. Заранее спасибо.



Вопрос отправлен: 30.10.2004, 14:27
Отправитель: Вячеслава

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

Отвечает Evils_Interrupt

Здравствуйте, Вячеслава!
Скачай себе Роберта Джордейна, там толково распасана файловая систем FAT12, а без нее форматирование ни как. И по размысли что да как?

Ответ отправлен: 30.10.2004, 15:13
Отправитель: Evils_Interrupt


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

Здравствуйте, Вячеслава!
http://superforest.narod.ru/add/disk.rar
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 02.11.2004, 17:27
Отправитель: Евгений Иванов


 Вопрос № 5942

Привет участникам рассылки!
Спасибо всем за ответы на вопрос №5935.
Функция NtQuerySystemInformation оказалась в библиотеке ntdll.dll,
в kernel32 - она просто импортируется и никак не хочет подгружаться
в Win32. Она должна работать и в W2k_ только сделать это у меня не получается.
Не получилось также создать ntdll.lib средствами MS VC++.
Борландовской implib - получилось, но при линковке выдается ошибка.
Скопировал ntdll.lib из DDK - тоже не работает.
Подскажите плиз какой утилитой и как получить из ntdll.dll -> ntdll.lib
так, чтобы потом можно было работать с функцией NtQuerySystemInformation.
И вообще как получить *.lib файл из *.dll средствами MS?
Заранее благодарен за ответы 1!



Вопрос отправлен: 30.10.2004, 15:44
Отправитель: 1

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

Отвечает Dark_Lord

Добрый день, 1!
как получить *.lib файл из *.dll?
А зачем это делать? Я бы посоветовал использовать LoadLibrary("ntdll.dll") и GetProcAddress(hLibrary, "NtQuerySystemInformation"). Значение, возвращённое GetProcAddress, и будет адресом процедуры!

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


 Вопрос № 5943

Здравстуйте Все.
Не мог ли кто ни будь подсказать как сохранить изменения в SoftISE.У меня версия 4.0.Аглицкого не знаю и в Assemblerе только начинаю.Программу подкорректировал-работает при запущеном отладчике,а измнения не сохраняет.Что делать?
Заранее спасибо.



Вопрос отправлен: 31.10.2004, 04:20
Отправитель: Sasha (botsman71@mail.ru)

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

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

Добрый день, Sasha!
А меняют прогу уже в других прогах. Hex editorах.
Запиши байты, желательно побольше, найди их же в редакторе, убедись, что это те которые нужны и меняй.


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


 Вопрос № 5944

Здравствуйте уважаемые програмисты. Я совсем недавно начал изучать асм и сталкнулся с такой проблемой: мне нужно прибавить к содержимому регистра DX десятичное число и вывести результат на экран. Подскажите нужные операторы илиеще чего. Мой код приведен ниже.
Заранее благодарен.

CSEG segment
assume cs:CSEG, ds:CSEG
org 100h
Start:
mov dx,Offset Mess
mov ah,9
int 21h
mov ah,10h
int 16h
cmp al,27
jz _exit
call My_proc
_exit:
int 20h
My_proc proc
cbw
xor ax,ax
add B,A
mov dx,B
mov ah,9
int 21h
ret
My_proc endp
jmp _exit
Mess db \'>>>$\'
A dw 273
B dw 0
CSEG ends
end Start



Вопрос отправлен: 31.10.2004, 18:22
Отправитель: Wonderer

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

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

Приветствую Вас, Wonderer!
Прога будет значительно сложнее.
Нужно сначала перевести строку символов (у тебя ОДИН символ) введеную с клавы в число, сложить с нужным тебе числом, и перевести число опять в строку символов, которую ты и выведешь на экран.
Можно конечно заняться экзотикой: сложить число в двоично десятичном формате со строкой символов, но это если тебе делать нечего и хочешь по прикалываться...

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


Отвечает Evils_Interrupt

Добрый день, Wonderer!
ты прибавил:
add dx,число или регистр, может память
call hex_dec преабразуй в hex в dec
call dec_ascII лучше заранее число из dx в буфер кинуть при преобраозвании
ну а далее врубишься!

Ответ отправлен: 01.11.2004, 08:43
Отправитель: Evils_Interrupt


 Вопрос № 5945

Здравствуйте!
Уважаемые эксперты дайте пожалуста сылки на информацию для начинающих по Ассемблеру



Вопрос отправлен: 31.10.2004, 22:20
Отправитель: maksim (maksim971@msn.com)

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

Отвечает Evils_Interrupt

Приветствую Вас, maksim!
Раз ту уж зашел на этот сайт, то здесь же найди и рассылку КАЛАШКНИКОВА. Также в нэте нарой Роберта Джордейна! Покодишь под дос, качай с www.wasm.ru туториалы Iczelion`а!

Ответ отправлен: 01.11.2004, 08:47
Отправитель: Evils_Interrupt


 Вопрос № 5946

Здраствуйте тов. Эксперты!
Подскажите каким образом можно запустить поочередно несколько файлов (запускается одна прогррамма, заканчивается и запускается друга программа или по выбору (что то вроде меню, под досом)), у меня получается запустить только одну программу, а дальше все подвисает (я востанавливаю SS и SP после завершения программы. Я пробывал через FSB с передачей параметров для запускаемой программы.
Зарание Вам большое спасибо!



Вопрос отправлен: 01.11.2004, 08:00
Отправитель: Алексей (as007@mail.ru)

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

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

Приветствую Вас, Алексей!
Смотреть надо текст. Вообще, нужно не забыть освободить память для запускаемой проги, переставить стек к себе в программу (а то попадет в освобожденную область)...

Ответ отправлен: 01.11.2004, 12:36
Отправитель: Стас


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

Здравствуйте, Алексей!
всё зависит от программ.
они могут вместе под ДОС и не работать.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 02.11.2004, 17:28
Отправитель: Евгений Иванов


 Вопрос № 5947

дорогие эксперты подскажите пожалуйста как быть,
1)поставил masm ver.6
ОС winXP,1.7Ghz
2)набрал простенькую программу по выводу строки на экран из рассылки
3) набираю в ком. строке
"ml.exe 1.asm /AT" windows выдает ошибку
"ml.exe is not valid Win32 application"
Вопрос: как все-таки запускать компоновщик/линковщик
дабы не переставлять систему и пр.?
Заранее спасибо.



Вопрос отправлен: 01.11.2004, 13:01
Отправитель: semenat

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

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

Доброе время суток, semenat!
смотри Rusfaq.faq на сайте Калайджана.
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 02.11.2004, 17:29
Отправитель: Евгений Иванов


Отвечает _vt

Добрый день, semenat!
Обнови ml.exe до версии 6.14, как минимум
* Origin : I′d like to change the world, but I have no source code


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


 Вопрос № 5948

здравствуйте эксперты
вопрос у меня следующий
каким образом если пишется ассемблер то он компилирует сам себя к примеру тот же fasm где можно найти соответствующую лит-ру
спасибо



Вопрос отправлен: 02.11.2004, 10:38
Отправитель: andre

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

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

Здравствуйте, andre!
Что было раньше яйцо или курица?
"тот же fasm" к примеру может быть написан на C или Pascale, можен и на ассемблере скажем MASM.
Но, первый компилятор был набран вручную, циферками. Раньше и операционные системы вводили с клавы каждый раз заново... На заре...

Ответ отправлен: 02.11.2004, 11:42
Отправитель: Стас


Отвечает Evils_Interrupt

Доброе время суток, andre!
Во первых ЗАПОМНИ раз и НАВСЕГДА ты компилируешь код!!! А ФАСМ это компилятор. Он не знает что ОН компилирует ему дают команду компилировать он это и делает. Еще раз ему не важно что это? Код винды, да хоть вируса для него это последовательность комнанд ассемблера записанных в виде ASCII символов ИХ то он и переводит в маш.код. А как чиатай структуру маш.кодов. об этом можно скачать обучалки с www.wasm.ru или родные талмуды с INTEL

Ответ отправлен: 02.11.2004, 13:30
Отправитель: Evils_Interrupt


 Вопрос № 5949

Здравствуйте, вопрос простенький, надеюсь не заберет много времени - как разобрать 32 битное число на 2 16 битных.
Мерси боку!



Вопрос отправлен: 02.11.2004, 16:54
Отправитель: Vuhasty

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

Отвечает Evils_Interrupt

Добрый день, Vuhasty!
В смысле разобрать?
Если имел ввиду что 32х в eax, то
mov bx,ax
shl eax,16
и теперь в bx,ax две части и старшая в ax

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


Отвечает andre

Добрый день, Vuhasty!
скажем число в eax чмсло которое нужно разложить
первые 16 бит в bx
mov bx,ax
rcr eax,16
и сейчас в ax второе число 16 бит

Ответ отправлен: 02.11.2004, 18:35
Отправитель: andre



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

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

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





http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться

В избранное