Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 667
от 27.11.2003, 11:50
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 4528 Отправлено ответов: 13029 Активность: 287.7 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Bob Johnson Статус: Профессиональный Общий рейтинг: 148.51 URL: Программирование [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.07 [Подробней >>] |
never_again Статус: Опытный Общий рейтинг: 138.46 [Подробней >>] |
dr_dolphin Статус: Доверительный Общий рейтинг: 117.08 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 142.61 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
Artemy Статус: Доверительный Общий рейтинг: 130.09 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 112.79 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 122.54 URL: Эхоконференция по вирмейкингу Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Duncan MacLeod Статус: Начальный Общий рейтинг: 109.67 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 106.41 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
Hangatyr Статус: Профессиональный Общий рейтинг: 110.02 [Подробней >>] |
PUSH Статус: Начальный Общий рейтинг: 108.33 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 4501. Здравствуйте, эксперты! Подскажите, как вычислить арксинус числа, если язык программирования поддерж... (ответов: 4)
Вопрос № 4502. Доброго времени суток. Уважаемые господа эксперты. Не так давно задавал вам вопрос: При установке ка... (ответов: 5)
Вопрос № 4503. Как на ассемблере изменить состояние лампочек клавиатуры? Заранее спасибо.... (ответов: 4)
Вопрос № 4504. Как написать утилиту Copy на Ассемблере для FAT 12 (какие-то дела с секторами происходят), которая б... (ответов: 1)
Вопрос № 4505. Где можно найти .inc файлы к DirectX 9? Или, если нету таковых, к DirectX 8? ... (ответов: 4)
Вопрос № 4506. Многоуважаемые експерты! Здравствуйте!!! Обращаюсь к вам с надеждой на помощь. Вот моя проблема: нуж... (ответов: 3)
Вопрос № 4507. Что неправильно в этой программе. Заранее извнияюсь, прога очень простая но я в ассемблере почти нич... (ответов: 2)
Вопрос № 4508. Привет! Может объяснит мне кто-нить, что за число 12C, например. Насколько я знаю, шестнадцатерично... (ответов: 5)
Вопросов: 8, ответов: 28
Вопрос № 4501 |
Здравствуйте, эксперты!
Подскажите, как вычислить арксинус числа, если язык программирования поддерживает в стандартной библиотеке вычисление только арктангенса (в данном случае BorlandPascal for DOS, лабу нужно писать именно на нем).
Заранее благодарен,
EraSer
Вопрос отправлен: 20.11.2003, 08:52
Отправитель: EraSer (eraser99@tut.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, EraSer!
См. в справочнике по математике, там обязательно есть формула. Раздел "Тригонометрия". Да, еще помни, что здесь следует задавать вопросы по ассемблеру.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 20.11.2003, 22:35
Отправитель: Bob Johnson
Отвечает vitya
Здравствуйте, EraSer!
asin(x) = atan(x /(sqrt(1 - x * x)));
Ответ отправлен: 20.11.2003, 09:31
Отправитель: vitya
Отвечает never_again
Доброе время суток, EraSer!
да посмотри просто в любой книжке по математике как тригонометрические функци преобразовываются одна в другую и всё.
Ответ отправлен: 20.11.2003, 14:02
Отправитель: never_again
Отвечает dr_dolphin
Добрый день, EraSer!
Отношение следующее:
asin(x)=atan(x/sqrt(1-x2)),
где atan - Арктангенс, а sqrt - квадратный корень
Кстати в BP есть функция arctan для вычисления арктангенса.
Пока !
Ответ отправлен: 21.11.2003, 07:57
Отправитель: dr_dolphin
Вопрос № 4502 |
Доброго времени суток.
Уважаемые господа эксперты.
Не так давно задавал вам вопрос:
При установке какого либо видеорежима стандартными функциями BIOS (int 10h) происходит сброс системы и компьютер перезагружается.
В свое время нашел в сети исходник, где перед установкой видеорежима производятся какие-то манипуляции со стеком (если не изменяет память).
При использовании этого куска в своей программе вышеуказанная ошибка не возникала.
Но связи с некоторыми обстоятельствами драгоценный код был утерян (format c: и т.д.:)), а его назначение так и не понял, но без него программа не идет (см. выше).
Так вот кое кто ответил что такого быть не может - проверьте, если есть возможность на "маме" с чипсетом i810 и интегрированной видеокартой + WinMe - у меня не работает!!!
Кусок кода я нашел!!!
mov dx,1659h
mov ds,dx
mov bx,ss
sub bx,dx
shl bx,04
mov ss,dx
add sp,bx
mov ax,0013h
int 10h
Не могли бы вы объяснить что и для чего.
Заранее спасибо.
Вопрос отправлен: 20.11.2003, 12:13
Отправитель: Сергей (intro@nikol.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Сергей!
Это все курево какое-то. Код до предела глючный, а не работать переключение режима действительно не может... Так что разбирайся.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 20.11.2003, 22:35
Отправитель: Bob Johnson
Отвечает Евгений Иванов
Здравствуйте, Сергей!
Ерунда это всё!
Зависает не из-за стека и "хватит мозги пудрить, дядя Вова!"...
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 20.11.2003, 12:37
Отправитель: Евгений Иванов
Отвечает Artemy
Здравствуйте, Сергей!
Что за пурга!?
Стек ещё туда-сюда... но DS-то тут при чем?
Ответ отправлен: 20.11.2003, 13:47
Отправитель: Artemy
Отвечает never_again
Приветствую Вас, Сергей!
mov dx,1659h
mov ds,dx
mov bx,ss
sub bx,dx
shl bx,04
mov ss,dx
add sp,bx
кому вобще нужно стэк и дату хрен знает куда переносить, а?
всё, что выше написано сотри к е.м. и используй
только вот эти две строчки
mov ax,0013h
int 10h
Ответ отправлен: 20.11.2003, 14:00
Отправитель: never_again
Отвечает ASMодей
Добрый день, Сергей!
Не важно какая у тебя мать видеокарта или чипсет - ты переключаешься в СТАНДАРТНЫЙ VGA-режим. И именно этим стандартом гарантируется, что не требуется никаких специальных манипуляций со стеком или с какими-либо другими сегментами. Если бы это было не так, у тебя бы многие программы, работающие с графикой, просто не смогли бы запуститься.
Попробуй запустить простейшую программу (в приложении) и если она сработает, ищи ошибку в другом месте.
Приложение:
Ответ отправлен: 21.11.2003, 07:24
Отправитель: ASMодей
Вопрос № 4503 |
Как на ассемблере изменить состояние лампочек клавиатуры?
Заранее спасибо.
Вопрос отправлен: 21.11.2003, 09:28
Отправитель: e1vin
[Следующий вопрос >>] [Список вопросов]
Отвечает never_again
Приветствую Вас, e1vin!
Зубкова почитай там всё это есть.
Ответ отправлен: 21.11.2003, 12:23
Отправитель: never_again
Отвечает dr_dolphin
Здравствуйте, e1vin!
Посредством записи в порт 0x60 команды 0xED, а затем
значения битовой маски состояния лампочек:
бит 0 - Scroll Lock
бит 1 - Num Lock
бит 2 - Caps Lock
Пример включения NumLock:
mov al,0xED
out 0x60,al ;Запись команды управления
mov cx,0x2000
ll: loop ll ;Небольшая пауза для отработки команды
mov al,0x2 ;Битовая маска для NumLock
out 0x60,al
;Тут уже Num Lock горит
вот и все, Пока !
Ответ отправлен: 21.11.2003, 12:12
Отправитель: dr_dolphin
Отвечает Maverick
Приветствую Вас, e1vin!
я появился, а тут тишина такая...
Погляди у эксперта, baldr на сайте, там есть в исходниках.
Ответ отправлен: 21.11.2003, 22:41
Отправитель: Maverick
Отвечает Duncan MacLeod
Добрый день, e1vin!
Думаю, не буду слишком оригинальным, если просто пришлю пример из книги Зубкова! Тем более там есть комментарии!
Приложение:
Ответ отправлен: 22.11.2003, 02:20
Отправитель: Duncan MacLeod
Вопрос № 4504 |
Как написать утилиту Copy на Ассемблере для FAT 12 (какие-то дела с секторами происходят), которая будет объединять два файла через копирование? file1+file2=fil3
Вопрос отправлен: 21.11.2003, 13:23
Отправитель: K-ReaL (K-ReaL@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает never_again
Доброе время суток, K-ReaL!
Fat значения не имеет. просто создей file3 и скопируй в него сначала file1, а потом file2
Ответ отправлен: 21.11.2003, 17:01
Отправитель: never_again
Вопрос № 4505 |
Где можно найти .inc файлы к DirectX 9?
Или, если нету таковых, к DirectX 8?
Вопрос отправлен: 21.11.2003, 17:16
Отправитель: Torvic (uoyevoli@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, Torvic!
В DirectX SDK.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 23.11.2003, 17:06
Отправитель: Bob Johnson
Отвечает Gibbel
Здравствуйте, Torvic!
На сайте MicroSoft, ищи DirectX 9 SDK
Ответ отправлен: 21.11.2003, 17:22
Отправитель: Gibbel
Отвечает Hangatyr
Приветствую Вас, Torvic!
У меня есть DirectX9 SDK, могу скинуть от него инклюдники. Только
переделать их в *.inc придется самому. Короче, если надо - мой e-mail: hangatyr@centrum.cz
Ответ отправлен: 22.11.2003, 06:19
Отправитель: Hangatyr
Отвечает Евгений Иванов
Добрый день, Torvic!
H2ASH32.EXE ещё никто не отменял!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 25.11.2003, 13:04
Отправитель: Евгений Иванов
Вопрос № 4506 |
Многоуважаемые експерты!
Здравствуйте!!!
Обращаюсь к вам с надеждой на помощь.
Вот моя проблема: нужно расспечатать содержимое текущего каталога.
Часть программы я уже сделал - не получаеться вот, блин, с датой/временем и размером файлов.
Ниже прилагаю свой труд.
Надеюсь и жду
Приложение:
Вопрос отправлен: 22.11.2003, 21:55
Отправитель: Denis (mikelangello@ukr.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Artemy
Добрый день, Denis!
Лови приложение
Приложение:
Ответ отправлен: 25.11.2003, 11:26
Отправитель: Artemy
Отвечает never_again
Добрый день, Denis!
Як давно я не читав коментарiiв на украiнськiй мовi.
а что касается твоего вопроса, то почитай Зубкова, у него там всё подробно расписано.
Ответ отправлен: 23.11.2003, 13:32
Отправитель: never_again
Отвечает ASMодей
Доброе время суток, Denis!
А чтобы распечатать дату/время или размер тебе понадобится написать или где-нибудь найти процедуру преобразования целого числа в строку символов (эту строку ты и будешь выводить на экран).
Дата и время в структуре DTA хранится в упакованном формате (см. приложение). Для извлечения этих значений используй команды AND и OR, а также команды побитового сдвига (ROL, ROR, SHL, SHR). Дальше преобразуй эти значения в строку и выводи на экран.
Размер файла - это обычное целое число, записанное в обратном порядке (сначала младшие байт/слово, потом старшие).
Приложение:
Ответ отправлен: 24.11.2003, 07:16
Отправитель: ASMодей
Вопрос № 4507 |
Что неправильно в этой программе. Заранее извнияюсь, прога очень простая но я в ассемблере почти ничего не соображаю. Под отладчиком время куда нужно запоминается, а так - хрен - пишет время задано неправильно и т.п.
Приложение:
Вопрос отправлен: 23.11.2003, 02:08
Отправитель: e1vin
[Следующий вопрос >>] [Список вопросов]
Отвечает Duncan MacLeod
Доброе время суток, e1vin!
Не совсем понял, что имеется ввиду под "пишет время задано неправильно"?
Ну, а по программе, эта функция (02h, int 1Ah) возвращает в dh BCD(binary code decimal)-число значения секунд, что бы видеть на экране секунды в привычном формате, тебе надо преобразовать число BCD к ASCI-виду.
Ответ отправлен: 23.11.2003, 16:33
Отправитель: Duncan MacLeod
Отвечает never_again
Приветствую Вас, e1vin!
CSEG segment
assume CS:CSEG
org 100h
main:
mov ah,2
int 1Ah
mov ax,0B800h
mov es,ax
mov di,0
push dx ; сохраним секунды и флаги
push cx ; сохраним часы и минуты
mov dl,dh ; переложим секунды в dl
; для большего удобства
xor dh,dh ; обнулим dh
mov cl,4 ; будем двигать 4 раза
shl dx,cl ; сдвинуть десятки секунд в dh
shr dl,cl ; вернуть еденицы секунд в
; исходное состояние
or dx,3030h ; преобразовать десятки и
; еденицы секунд в ASCII
mov es:[di],dh ; вывести на экран десятки
mov es:[di+2],dl ; вывести на экран секунды
pop cx ; восстановить часы и минуты
pop dx ; восстановить секунды и флаги
jmp main ; бесконечный цикл это не хорошо.
; добавь опцию выхода из программы.
CSEG ends ; обрати внимание!!!!!
end main
Ответ отправлен: 23.11.2003, 13:27
Отправитель: never_again
Вопрос № 4508 |
Привет!
Может объяснит мне кто-нить, что за число 12C, например. Насколько я знаю, шестнадцатеричное число состоит из одного, двух, трех и т.п. байт. А это - из полутора байт %)
Как оно должно выглядеть, чтобы записать его в память - 012C и 120С или как еще. Буду благодарен, если дадите пару ссылок, где почитать по этой теме. Заранее спасибо
Вопрос отправлен: 23.11.2003, 11:40
Отправитель: e1vin
[Следующий вопрос >>] [Список вопросов]
Отвечает Duncan MacLeod
Доброе время суток, e1vin!
Число как число. :)
В программе, если такая запись есть, то запишеться число 012C, а число 120C - это уже совсем другое число! Зайди на http://prog.dax.ru, там Зубков лежит, скачай его почитать.
Ответ отправлен: 23.11.2003, 16:19
Отправитель: Duncan MacLeod
Отвечает dr_dolphin
Приветствую Вас, e1vin!
Однозначно это число 0x012C, т.е. просто старшие 4 бита равны 0
Пока !
Ответ отправлен: 23.11.2003, 11:52
Отправитель: dr_dolphin
Отвечает never_again
Добрый день, e1vin!
ноли впереди особого значения не имеют и потому часто опускаются.
если будешь смотреть на память по словам то правильно будет 012с, а если по байтам то 2с 01 (от младшего к старшему)
Ответ отправлен: 23.11.2003, 13:11
Отправитель: never_again
Отвечает Maverick
Добрый день, e1vin!
Агрхм, фантастика, полтора байта. Это анекдот :)
Не, это обычное двухбайтовое число 012Ch.
Да вот думается мне, что по это теме почитать то и нечего. Логика, логика...
Ответ отправлен: 24.11.2003, 05:49
Отправитель: Maverick
Отвечает PUSH
Добрый день, e1vin!12C h = 300 - число оно и есть число,можешь записать его так 012С если надо,а записывать в память word ptr 12Ch - как 2 байтиа
dword ptr 12Ch - как 4
Ответ отправлен: 24.11.2003, 07:57
Отправитель: PUSH
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (28) C / C++ (22) Perl (3) Builder / Delphi (18) Pascal (20) Basic / VBA (6) Java / JavaScript (10) PHP (12) Криптография (6) WinAPI (10) |
Пользователю Windows 95/98/Me (40) Windows NT/2000/XP (56) "Железо" (35) Поиск информации (19) |
Администратору Windows NT/2000/XP (34) Linux / Unix (14) |
Юристу Гражданское право (11) Семейное право (8) Трудовое право (9) КоАП (6) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||