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

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


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

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 308
от 06.12.2005, 22:06

Администратор:Калашников О.А.
В рассылке:Подписчиков: 264, Экспертов: 22
В номере:Вопросов: 5, Ответов: 6


Вопрос № 30542: Здравствуйте уважаемые эксперты! Неддавно увлёкся Асмом и заинтересовался сейчас резидентами, а именно с перехватом Int 08h да что-то плохова-то работает. Немогли бы вы мне показать какую-нибудь маленькую програмку с перехватом этого прерывания, ...
Вопрос № 30583: Здравствуйте, уважаемые! Мне очень нужна книжка- справочник по асму типа Шилда по Сипипи. А всё, что мне удалось обнаружить - либо огромный талмуд со структурой учебника(а-ля Юров), либо краткое описание синтаксиса. Подскажите что-нибудь...
Вопрос № 30590: Подскажите, пожалуйста, как использовать таймер в программе, если необходимо определить быстродействие выполнения операции сложения? Или определить время выполнения программы?...
Вопрос № 30591: Как написать курсовую? Кто может помочь?...
Вопрос № 30603: Скажите пожалуйста почему когда я запускаю мои програмки с перехватом прерывания, первый раз работают нормально, а второй раз всё виснет(что в Windows XP/98 , что в чистом DOS'е) проверял в Debug'e всё нормально по завершении работы таблицу векто...

Вопрос № 30.542
Здравствуйте уважаемые эксперты! Неддавно увлёкся Асмом и заинтересовался сейчас резидентами, а именно с перехватом Int 08h
да что-то плохова-то работает. Немогли бы вы мне показать какую-нибудь маленькую програмку с перехватом этого прерывания, типа перехватывает и при каждом вызове (18,2 раза) пищал бы динамик или что-то в этом роде, ну что бы видно было что работает. И как можно больше коментарий, а то вдруг не пойму

Спасибо за ответ!!!
Отправлен: 30.11.2005, 23:48
Вопрос задал: Яковлев Сергей Павлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ayl
Здравствуйте, Яковлев Сергей Павлович!

Ты считаешь, что если динамик будет пищать при каждом вызове 8-го прерывания, ты что-нибудь разберешь? Ню-ню...
В Приложении смотри обработчик 8-ки, который в левом верхнем углу рисует последовательность символов:
-
/
|

показывая, что прога работает. Причем выводит новый символ через 18 срабатываний прерывания (т.е. примерно раз в секунду). Только для текстового режима!

Перехват сам напишешь, как в рассылке Калашникова.

Приложение:

---------
Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего требуется немного больше времени

Ответ отправил: Ayl (статус: Академик)
Отправлен: 01.12.2005, 13:27


Вопрос № 30.583
Здравствуйте, уважаемые!
Мне очень нужна книжка- справочник по асму типа Шилда по Сипипи.
А всё, что мне удалось обнаружить - либо огромный талмуд со структурой учебника(а-ля Юров), либо краткое описание синтаксиса.
Подскажите что-нибудь, а?
И ещё вопрос: мне нужен компилятор vasm assembler c166. либо тот, что может делать аналогичное(программы для по siemens). Не получается найти... Может, кто-нибудь случаем натыкался, или имел с этим дело?
Отправлен: 01.12.2005, 15:55
Вопрос задала: Shekk (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ujin Antikvar
Здравствуйте, Shekk!

Могу дать очень хороший учебник - справочник по Асму

arbuznikov@matrix.odessa.ua - мое мыло
---------
"Будущее принадлежит тем, кто верен своей мечте" - Элеонора Рузвельт
Ответ отправил: Ujin Antikvar (статус: 3-ий класс)
Отправлен: 01.12.2005, 16:16
Оценка за ответ: 5

Отвечает: RedDevil
Здравствуйте, Shekk!
Это не ответ, просто мнение.
Вся проблема в том, что таких книжек - нет. Справочник типа Шилдта по С++ вообще идеал, именно так и надо писать книги для программирования. Авторы по асме уделяют много внимания всяким регистрам и флагам, которые при осваивании на асме программировании не нужны. Вместо того, что вкрацте описывать как сделать то или иное рутинное действие они приводят большой кусок кода в котором разобратся невозможно. А когда они начинают разбирать теорию, чтобы якобы внести ясность в код, то вместо ответов на вопросы, получаются только новые вопросы, на которые книга ответь не может.
Я понял одно изучить асму можно только в учебных заведениях, где можно спросить и уточнить у препода или однокурсников любую мелочь.
Сам пробовал изучать 4 раза начинал, но кроме компилировании чужик исходников почти ничему не научился. Разве, что какие-то операции делать с числами, простые циклы и условия во вставках на С++. Как только пытался делать что-то более сложное кроме ошибок ничего более не получал, причем естественно ошибки не в синтаксисе, а в результате выполнения.
Ответ отправил: RedDevil (статус: 2-ой класс)
Отправлен: 01.12.2005, 23:33
Оценка за ответ: 5
Комментарий оценки:
как-то оптимизма маловато...


Вопрос № 30.590
Подскажите, пожалуйста, как использовать таймер в программе, если необходимо определить быстродействие выполнения операции сложения? Или определить время выполнения программы?
Отправлен: 01.12.2005, 17:35
Вопрос задала: Платунова Татьяна Сергеевна (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Платунова Татьяна Сергеевна!
чтобы определить временной промежуток, можешь использовать счётчик процессорных тактов.
RDTSC.

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 01.12.2005, 17:47


Вопрос № 30.591
Как написать курсовую? Кто может помочь?
Отправлен: 01.12.2005, 17:36
Вопрос задала: Платунова Татьяна Сергеевна (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 19)

Отвечает: Евгений Иванов
Здравствуйте, Платунова Татьяна Сергеевна!
Специально для тебя сидел и корпел...даже написал, ёлы палы, наконец-то , подпрограмму универсальную, для вывода чисел! во! если бы не ты, не написал бы :)

;tasm.exe /m9 /t /ml %1.asc,%1.obj
;tlink.exe /Tdc /c /C /x /yx %1.obj ,%1.com

P386
SMART
VERSION T310
locals @@

Model use16 TINY,PASCAL
Assume CS:codes,DS:codes
codes segment byte public 'code' use16

org 100h
Start:

; rdtsc
db 0fh, 31h
mov [d0], eax
mov [d1], edx

;=====================
;do anything...
mov ecx, 1000000
n1:
dec ebx
xor eax, eax
inc edx
loop n1
;=====================
; rdtsc
db 0fh, 31h
mov [d1_0], eax
mov [d1_1], edx

mov eax, [d0]
sub [d1_0], eax
mov eax, [d1]
sub [d1_1], eax

mov ax, [word ptr d1_0]
mov di, offset num3
call PrintDecToMem

mov ax, [word ptr d1_0+2]
mov di, offset num2
call PrintDecToMem

mov ax, [word ptr d1_1]
mov di, offset num1
call PrintDecToMem

mov ax, [word ptr d1_1+2]
mov di, offset num
call PrintDecToMem

mov dx, offset v
mov ah, 9
int 33

Exit_ret:
ret

dec12 proc
add al,48
cmp al,48
jnz dec22
or bx,bx
jnz dec32
mov al,32
jmp dec32

dec22:
inc bx
dec32:
mov [di],al
inc di
mov ax, dx
ret
endp

;------------
;Заносит в память по адресу DI число в AX,десятичное
;
PrintDecToMem proc
USES ax,bx,cx,dx
sub bx,bx

mov cx, 10000
cmp ax, cx
jc @@m1
sub dx, dx
div cx
call dec12
@m1:

mov cx, 1000
or ax, ax
jz @@m2_0
cmp ax, cx
jc @@m2
@m2_0:
sub dx, dx
div cx
call dec12
@m2:

mov cx, 100
or ax, ax
jz @@m3_0
cmp ax, cx
jc @@m3
@m3_0:
div cl
movzx dx,ah
call dec12
@m3:

mov cx, 10
or ax, ax
jz @@m4_0
cmp ax, cx
jc @@m4
@m4_0:
div cl
movzx dx,ah
call dec12
@m4:

inc bx
call dec12
ret
endp

d0 dd ?
d1 dd ?
d1_0 dd ?
d1_1 dd ?

v db "Выполнено за "
num db " ", ","
num1 db " ", " и "
num2 db " ", ","
num3 db " ", " тактов.", 13, 10, 36

ends
end Start

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Что имеем - не храним, потерявши - плачем

Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 02.12.2005, 20:49


Вопрос № 30.603
Скажите пожалуйста почему когда я запускаю мои програмки с перехватом прерывания, первый раз работают нормально, а второй раз всё виснет(что в Windows XP/98 , что в чистом DOS'е)
проверял в Debug'e всё нормально по завершении работы таблицу векторов прерываний востанавливаю...непонятно???
Отправлен: 01.12.2005, 20:36
Вопрос задал: Яковлев Сергей Павлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Евгений Иванов
Здравствуйте, Яковлев Сергей Павлович!
проверь ещё раз всё. исходник в студию!
---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 01.12.2005, 20:42


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Архив рассылки
Отписаться
Вспомнить пароль

В избранное