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

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 034

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-07-11


Замечание

В 033 выпуске эксперт DDKJ_MIX выложил 7 ответов, из них только 2(!) реальны и конкретны! Нельзя так делать! Это тень на лицо экспертов и засорение рассылки! Ему что - кол-во ответов важно? Да, вопросы бывают наивные, но ЛЮДИ хотят научиться! Эксперт Sensey

Вопрос №293

Здравствуйте! Хочу вместо 166ММХ поставить АМД К6-2 400мгц слышал что возможно такое, но не знаю как получить нужное напряжение 2.2В на материнской плате. У меня Acorp 5TX52 Ver G. Об'ясните пожалуйста!

Ответ

Здравствуйте, Эдуард!
Читай документацию по материнке....
или на самой ней найди джамперы....около них должно быть
написанно что и как....


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 11

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №292

Здравствуйте эксперты! У меня видео-Rendition 2200. При возврате из DOS программ в Windows98SE компьютер виснет. Тестилка Sandra 2001 определила видео как VGA-несовместимую
в связи с чем пообещала проблемы с DOS режимом, но в Windows всё работает без проблем. Может есть способ избавиться от зависания?

Ответ

Здравствуйте, Эдуард!
Для виндов поставь драйвера...чтоб при возврате из ДОС все было нормально


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 12

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №294

Здравствуйте!
Я работаю в защищенном режиме. Перехожу в защищенный режим с помощью экстендера zrdx 050.
У меня два вопроса

Первый
Как перепрограммировать контроллер прерываний Intel 8259 на другие номера Int-ов, т.е. как поставить в соответствие Irq 00 - 07 Int n - n+7
Как посмотреть каким int-ам соответствуют какие irq в данный момент?

Второй вопрос
Например, я пишу код под С++. У меня есть указатель на функцию
void Function (void)
void* PF
PF = (void *)(Function)

PF - смещение Offset кода функции в сегменте кода. Как мне узнать значение селектора дескриптора сегмента кода содержащего данную функцию?
С уважением, Василий

Ответ

Здравствуйте, Василий!
Пере программировать... это очень просто...
Начало.. у тя должно быть
mov al, 0x11
out 0x20,al
out 0xA0,al
mov al, 0x20 ;тут у тя тепер irq0 начинается с int 0x20
out 0x21,al
mov al, 0x28 ;тут irq8 начинается с int 0x28
out 0xA1,al


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 13

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №291

Здравствуйте эксперты! У меня в папке "Мой компьютер" пропал "дискС" (винчестер)из-за чего ряд приложений винчестер не видят. А через проводник всё работает нормально
Как вернуть винт на место?

Ответ

Здравствуйте, Эдуард!
И ты хочеш сказать что у тя винда нормально грузится ???
БРЕД !!
или если действительно уж загрузилась то проверь на трояны или вирусы...


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 14

Экспертная группа: Пользовательская работа с Windows

Вопрос №292

Здравствуйте эксперты! У меня видео-Rendition 2200. При возврате из DOS программ в Windows98SE компьютер виснет. Тестилка Sandra 2001 определила видео как VGA-несовместимую
в связи с чем пообещала проблемы с DOS режимом, но в Windows всё работает без проблем. Может есть способ избавиться от зависания?

Ответ

Здравствуйте, Эдуард!
Неполные данные- еще надо указывать мать(чипсет хотябы)
Как вариант-поменяй версию винды,поищи поновее драйвера в инете


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 9

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №291

Здравствуйте эксперты! У меня в папке "Мой компьютер" пропал "дискС" (винчестер)из-за чего ряд приложений винчестер не видят. А через проводник всё работает нормально
Как вернуть винт на место?

Ответ

Здравствуйте, Эдуард!
У тебя какие-то проблемы с реестром, по моему
поэтому, не удаляяничего, переустанови виндозу-должно не навредить;)


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 10

Экспертная группа: Пользовательская работа с Windows

Вопрос №296

Здравствуйте эксперты!!!
Еше в прошлом выпуске я задал вопрос "почему последовательный порт работает медленнее пораллельного?",
к счастию я получил на этот вопрос ответ, но немного не то что я хотел. Я хотел спросить ПОЧМУ (с тех. точки зрения), один порт работает быстрее другова!

Ответ

Здравствуйте, Alex!

Тебе же вроде сказали...
В последовательном порту биты передаются последовательно... по одному проводу так сказать...
А в паралельном порту 8 проводов для данных... соответственно все биты одного байта передаются одновременно...

Невооруженному глазу понятно что паралельный порт работает быстрее.


Отправил эксперт: Dron
Эксперт отправил ответов (всего): 32

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №296

Здравствуйте эксперты!!!
Еше в прошлом выпуске я задал вопрос "почему последовательный порт работает медленнее пораллельного?",
к счастию я получил на этот вопрос ответ, но немного не то что я хотел. Я хотел спросить ПОЧМУ (с тех. точки зрения), один порт работает быстрее другова!

Ответ

Здравствуйте, Alex!
Я уже отвечал, но повторю:
В последовательном порту данные передаются последовательно, бит за битом+служебные биты по 3 (минимум - вход, выход, земля) шнуркам, а в паралельном - паралельно по куче (минимум 10, стандарт 17) шнурков. Вот и разница в скоростях :(


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 11

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №296

Здравствуйте эксперты!!!
Еше в прошлом выпуске я задал вопрос "почему последовательный порт работает медленнее пораллельного?",
к счастию я получил на этот вопрос ответ, но немного не то что я хотел. Я хотел спросить ПОЧМУ (с тех. точки зрения), один порт работает быстрее другова!

Ответ

Здравствуйте, Alex!
ваще то.... кто те сказал что один быстрее другой медленнее ??
115200 - LPT
и так же ... 115200 максимум у COM...
так кто быстрее то ???


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 15

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №295

здравствуйте!
я начинающий, скажите пожалуйста где найти подробное описание всех прерываний(например int 21h и т.д.) в электронном виде?
заранее спасибо.

Ответ

Здравствуйте, Dmitriy Revyakin!
www.list.ru


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 16

Экспертная группа: Работа с MASM/TASM

Вопрос №295

здравствуйте!
я начинающий, скажите пожалуйста где найти подробное описание всех прерываний(например int 21h и т.д.) в электронном виде?
заранее спасибо.

Ответ

Здравствуйте, Dmitriy Revyakin!
www.list.ru


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 17

Экспертная группа: Работа с MASM/TASM

Вопрос №297

Я сейчас нахожусь на 8-9 уроке и решил написать програмку, но она почему-то не работает. Я её высылаю и прошу многоуважаемых экспертов росмотреть её и сказать в чём моя ошибка, сам не могу понять. Вкратце о ней (как я хотел бы чтобы она работала): читает файл C:/AUTOEXEC.BAT в буфер (в конец программы), а затем загружает содержимое этого файла в видеобуфер. Вот и всё. Ошибку выдаёт вроде на строку
Mov AX, DS:[DX]. Просьба выслать мне ответ.

Программа:
CSeg Segment
Assume CS:CSeg, DS: CSeg, SS:CSeg
Org 100h
Begin:
Mov AX, 3D02h
Mov DX, Offset FileName
Int 21h
Jc ErrorF
Mov AH, 09h
Mov DX, Offset OKey
Int 21h
Mov Handle, AX
Mov BX, AX
Mov AH, 3Fh
Mov CX, 2000
Mov DX, Offset Finish
Int 21h
Mov AH, 3Eh
Mov BX, Handle
Int 21h
Mov DX, Offset Finish
Mov AX, 0B800h
Mov ES, AX
Mov DI, 0
Mov CX, 2000
L1:
Mov AX, DS:[DX]
Mov ES:[DI], AX
Inc DX
Add DI, 2
Loop L1
EndBegin:
Mov AH, 10h
Int 16h
Int 20h
ErrorF:
Mov AH, 09h
Mov DX, Offset Error_Mes
Int 21h
Jmp EndBegin
Handle dw 0
Error_Mes db 'Cant open',0
FileName db 'c:\autoexec.bat',0,'$'
OKey db 'Ok!$'
Finish equ $
CSeg Ends
End Begin

Ответ

Здравствуйте, StThrash!

Здесь вся проблема в том что 286 процессор не все регистры может использовать в качестве индексных.

А конкретно в качестве индексов можно использовать:
bx, si, di, sp, bp
Причем bx, si по умолчанию ссылаются на ds
di по умолчанию на es
sp и bp по умолчанию на ss

Позже, в 386 процессоре появилась расширенные форматы команд, появился байт SIB, и стало возможным адресовать любыми регистрами почти в любых комбинациях... типа того: [edx + ebx * 4]
В двушках этого нет.

Поставь в начале программы .386
Наверное сможешь откомпилить, хотя точно не уверен. попробуй.


Отправил эксперт: Dron
Эксперт отправил ответов (всего): 33

Экспертная группа: Оптимизация программ

Вопрос №302

У меня Window$ 2000 pro, и я никак не могу создать исполняймый фаил моей программы написанной на ASM.
Они часто пишут о нехватке файлов.
Скачал полный пак MASM6.11 но он не работает :((, точнее он компилирует программу а если запустить фаил то виснет весь window$ 2000 :(, что посоветуете?

Ответ

ПОЛЬЗУСЯ TASM


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 18

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №301

Понимаю что вопрос не в тему, но все мы программеры и должны помогать друг другу :)

Народ как можно методом POST в Buildere передать данные скрипу?
P.S.
Блин, программу уже написал и отладил, а оказалось что не все скрипты понимают
метод Get :(

Ответ

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


Отправил эксперт: DDKJ_MIX (http://www.lclock.chat.ru - простые и красивые часики для линуха)
Эксперт отправил ответов (всего): 19

Экспертная группа: Пользовательская работа с Windows

Вопрос №297

Я сейчас нахожусь на 8-9 уроке и решил написать програмку, но она почему-то не работает. Я её высылаю и прошу многоуважаемых экспертов росмотреть её и сказать в чём моя ошибка, сам не могу понять. Вкратце о ней (как я хотел бы чтобы она работала): читает файл C:/AUTOEXEC.BAT в буфер (в конец программы), а затем загружает содержимое этого файла в видеобуфер. Вот и всё. Ошибку выдаёт вроде на строку
Mov AX, DS:[DX]. Просьба выслать мне ответ.

Программа:
CSeg Segment
Assume CS:CSeg, DS: CSeg, SS:CSeg
Org 100h
Begin:
Mov AX, 3D02h
Mov DX, Offset FileName
Int 21h
Jc ErrorF
Mov AH, 09h
Mov DX, Offset OKey
Int 21h
Mov Handle, AX
Mov BX, AX
Mov AH, 3Fh
Mov CX, 2000
Mov DX, Offset Finish
Int 21h
Mov AH, 3Eh
Mov BX, Handle
Int 21h
Mov DX, Offset Finish
Mov AX, 0B800h
Mov ES, AX
Mov DI, 0
Mov CX, 2000
L1:
Mov AX, DS:[DX]
Mov ES:[DI], AX
Inc DX
Add DI, 2
Loop L1
EndBegin:
Mov AH, 10h
Int 16h
Int 20h
ErrorF:
Mov AH, 09h
Mov DX, Offset Error_Mes
Int 21h
Jmp EndBegin
Handle dw 0
Error_Mes db 'Cant open',0
FileName db 'c:\autoexec.bat',0,'$'
OKey db 'Ok!$'
Finish equ $
CSeg Ends
End Begin

Ответ

Здравствуйте, StThrash!
У тебя как минимум 2 ошибки:

1) не существует команд адресации c использованием
[dx](равно как и [ax],[cx]). Совет-измени на [si]

2) как ясно из программы в строке
Mov AX, DS:[DX]
тебе нужно переслать в AX байт. Поэтому замени с учетом
первого совета на

mov al,byte ptr [si]

к томуже эта команда короче(занимает 2байт)
-и не зачем указывать явно ds:
-это может добавить лишний байт безтолку
-Незабудь просмотреть программу и сделать необходимые
замены dx на si.


Отправил эксперт: AGat
Эксперт отправил ответов (всего): 6

Экспертная группа: Оптимизация программ

Подписаться на рассылки

Рассылки Subscribe.Ru
Ассемблер? Это просто! Учимся программировать
Ассемблер? Это просто! Учимся программировать (FAQ)

Форма подачи вопроса

ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Если Вы сомневаетесь, какой подгруппе следует отправить вопрос, то направляйте его в обычном текстовом виде по адресу Experts@Kalashnikoff.ru. Вопрос будет выслан соответствующей подгруппе.

Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

Прилагаемая программа (если необходимо):


Регистрация в качестве эксперта

Архив выпусков


Ведущий рассылки,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

______________

По вопросам сотрудничества, рекламы и спонсорства обращайтесь:

  1. Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
  2. Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
  3. Издание книги (спонсорство): Sponsor@Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Рейтингуется SpyLog

В избранное