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

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


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

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

Выпуск N 082

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

Дата выхода: 2001-09-02


Вопрос №745

Экспертам.
Здравствуйте.
Boot up floppy seek,
Swap Floppy drive
уже и стоят disable
Менял последовательность отключения (boot sequence),
даже С only - все равно А: проверяет.

Это последствия антивируса Касперского (демо-версия)
Все канючил:"Дай денег" да "Дай денег"
Ну я его и reinstall!

Sensey - отдай книжку! :-)
Ну серьезно, где у Dron-a?

С уважением Alex12

Ответ

Здравствуйте, Alex12!
По-моему, ответ про отключение проверки наличия флоппи-драйва был несколько некорректен, т.к. ты спрашивал про проверку диска при выключении. При выключении это делает уж точно не BIOS, а антивирус (ищи в настройках антивируса пункт "проверять флоппи-диск при выключении") или вирус... Если выгрузишь резидент антивируса из памяти (т.е. Spider Guard, Norton Antivirus в нижнем правом углу панели задач ->close) и при выключении флоппи проверится, то можешь начинать паниковать.


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

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

Вопрос №751

Приветствую вас уважаемые эксперты!
Появился вопросик, а если точнее сомнения и хочится, чтоб эксперт DM (мое уважение к нему и ковсем кто толково отвечает на FAQ, кроме Michael(мне кажится что от добивается славы(набирает очки), проктически ничего незная 8-Е))
Собственно вопрос:
Уважаемый DM,при ответе на вопрос по логическим командам AND/OR/XOR выдал строки:
============================================================
Включать биты можно так:
Предположим, есть AL=00001111b
Нужно выключить пятый и седьмой биты.
пишем and al,01010000b
в результате:
arg1 00001111b
arg2 01010000b
resl 01011111b
Т.е. если на месте включаемых бит первого операнда во втором операнде поставить единицы, они установятся, т.к. стой в них хоть единица, хоть ноль, в результате будет все равно единица.
============================================================
Так ведь строчкой выше было указанно:
Результаты работы команды AND:
0,0=0
0,1=0
1,0=0
1,1=1
Тоесть бит устанавливается в 1 в том случае, если оба бита
равны 1. Либо я непонял, либо в предыдущем примере допущена ошибка, просьба объясни и + слова после Т.е. И почему при включении бита 0,либо 1 результат будет равен 1? Ведь в работу команды (AND) заложина совсем др.логика! Бит будет равен 1 если оба бита операндов = 1.
С уважением SATIS

Ответ

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

Вот смотри:
1)and(test)
011 and 001 = 001(1, только, если оба были 1)
2)or
011 or 001 = 011(1, если хотя бы один из битов 1)
3)xor
011 xor 001 = 010(0, если оба бита одинаковы, иначе 1)

Надеюсь, что не надо описывать действие команды not?


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

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

Вопрос №749

Имеется такая проблема: При нажатии на ссылку с почтовым адресом(mailto) почтовая программа не открывается, а место
неё начинают всплывать один за другим окна IE, после чего приходится перезагружать комп. ибо без конца открываются окна Internet explorera.

Ответ

Здравствуйте, Speedy Gonsalez!
Ну это партак от майкрософт, другого не дано, пол годика прога или операционка их поработает, а то и меньше и переустанавливать приходится, а если в системных файлах иной раз лазиешь, так тем более!
Так что попробуй другой браузер, если откроет почтовую пр. нормально, то переустанавливай IE, если подобный глюк будет, то что-то с почтовой прогой не ладно, а третьего не дано..


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

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

Вопрос №741

Здравствуйте эксперты по WINdows!!! Вопрос следующий:
У меня две OS WIN98 & WIN2000. Соответсвенно они загружались
из "Выбирателя систем", который установил автоматически при
инсталляции WIN2000. Всё это прописалось в BOOT.INI.
Но вот недавно, мне пришлось восстановить кое-какие системные файл WIN98 с помощью загр. дискеты фалом SYS.com
После этого пропало это меню выбора OS и автоматически сразу
загружается WIN98, т.е. пропал доступ к WIN2000.
Вопрос: Как восстановить доступ к WIN2000, соответсвенно, чтобы вновь появлялось это меню выбора?

Ответ

Здравствуйте, Speedy Gonsalez!
Переустанови его! (можешь также посмотреть, нет ли там у инсталятора какого нибудь ключа чтобы прописать только MBR) (типа запусти winnt.exe /?)


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

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

Вопрос №744

Спасибо Sensey & DM за объяснение темы о логических
операторах.Всё стало понятно!!!
Мой следующи вопрос такой:
Получил часы и минуты в AX, с помощью 02h функции прерывания
1AH. Как теперь вывести содержимое регистра AX на экран?

Ответ

Здравствуйте, Speedy!
Посмотри старые рассылки, там задавался вопрос как выводить числа на экран (но я так понимаю что с BCD числами проблем то быть не должно). Напряги извилины!


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

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

Вопрос №747

Уважаемые Эксперты!
Когда же Олег уже вернется?
Последние выпуски рассылки превратились просто в хлам!
Ни одного нормального ответа!
Только одна БАДЯГА в лице ..баного Michael!
Этот ЛОХ УЖЕ ДОСТАЛ!
Он видишь ли НЕ ИМЕЕТ ВРЕМЕНИ!
А НА Х.. тогда отвечать? Иди и имей себя в ж...!
И вообще нужно подумать про МОДЕРАТОРА рассылки, который бы убирал таких ослов как Michael и обнулял их ответы.

P.S : To Michael: Вали отсюда по хорошему! ЛАМЕРЮГА!

Надеюсь остальные эксперты поддержат меня.

Ответ

Здравствуйте, Разгневанный читатель!
Енто нонечно хорошо, но кого на роль этого МУДЕРАТОРА назначить?! Типа должен быть кто-то авторитетный и в то же время не слишком гнущего пальцы, чтобы не откидывал хорошее добро.
З.Ы. Кстати можно просто в эксперты зачислять не всех подряд кому хочется (для таких ублюдков как Michael чаты всякие и прочие форумы на тему "что хуже феминизм или гомосексуализм" и т.п.), а устраивать типа конкурса или что то в этом духе, но заниматься этим наверное должен г-н Калашников.


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

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

Вопрос №748

Предложение с модератором(-и) поддерживаю всецело. Уважаемые Sensey, Orlando, Broken Sworld, Painbringer, Евгений и прочие - давайте выскажемся да составим петицию.

Ответ

Здравствуйте, DM!
Предложение с чем? :) Ну давайте составим петицию, я не против!


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

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

Вопрос №751

Приветствую вас уважаемые эксперты!
Появился вопросик, а если точнее сомнения и хочится, чтоб эксперт DM (мое уважение к нему и ковсем кто толково отвечает на FAQ, кроме Michael(мне кажится что от добивается славы(набирает очки), проктически ничего незная 8-Е))
Собственно вопрос:
Уважаемый DM,при ответе на вопрос по логическим командам AND/OR/XOR выдал строки:
============================================================
Включать биты можно так:
Предположим, есть AL=00001111b
Нужно выключить пятый и седьмой биты.
пишем and al,01010000b
в результате:
arg1 00001111b
arg2 01010000b
resl 01011111b
Т.е. если на месте включаемых бит первого операнда во втором операнде поставить единицы, они установятся, т.к. стой в них хоть единица, хоть ноль, в результате будет все равно единица.
============================================================
Так ведь строчкой выше было указанно:
Результаты работы команды AND:
0,0=0
0,1=0
1,0=0
1,1=1
Тоесть бит устанавливается в 1 в том случае, если оба бита
равны 1. Либо я непонял, либо в предыдущем примере допущена ошибка, просьба объясни и + слова после Т.е. И почему при включении бита 0,либо 1 результат будет равен 1? Ведь в работу команды (AND) заложина совсем др.логика! Бит будет равен 1 если оба бита операндов = 1.
С уважением SATIS

Ответ

Здравствуйте, SATIS!
Ну короче он прогнал!!!! Типа надо было arg2=01011111b!
P.S. А про Michaela это ты верно! На х.й его!


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

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

Вопрос №748

Предложение с модератором(-и) поддерживаю всецело. Уважаемые Sensey, Orlando, Broken Sworld, Painbringer, Евгений и прочие - давайте выскажемся да составим петицию.

Ответ

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

Да. Модератор однозначно нужен.
Но я не буду модератором :-)


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

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

Вопрос №753

Господа знатоки хелп ми плиз .Уменя постояннои не переодически моргает курсор для мышиможет кто знает причину?Оччень уж глаза раздражает

Ответ

Здравствуйте, M.H.!
Попробуй переустановить или найти новый драйвер для мыши!
Это делается так:
1)Панель управления
2)Система
3)Устройства- наиди в списке мыш и пусть винд найдеи подходящий драйвер, если не поможет, то установи с диска, но драйверок придется поискать!


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

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

Вопрос №754

Эксперты помогите, я начал изучать ассемблер недавно и без совета нормального программиста мне не обойтись. Меня интересуют следующие темы, как создать файл и каталог в DOS-е, ну в общем вообще работа с файлами и каталогами. Если можно то примерчик проги или где взять инфу по этой теме...

Ответ

Здравствуйте, Кузнецов Сергей!
Это очень обширная тема, поэтому полностью ты можешь найти инфу по ней в книгах, но в кратце сейчас я опишу(также смотри прошлые выпуски, там все это есть):)
1)Создать файл:
AH=3ch
CX=атрибут:
бит 0: только для чтения;
бит 1: скрытый;
бит 2: системный;
бит 5: архивный;
DS:DX: адрес строки с полным именем файла + 0
Выход: ax=идентификатор файла.
Если файл уже существует, то эта функция его открывает.
2)Создать каталог:
AH=39h
DS:DX=адрес строки с путем + 0, в котором все директории кроме последней существуют

Более полную инфу по открытию файла и чтению и записи, ты можешь найти на сайте www.Kalashnikoff.ru .Там надо скачать архив рассылок, а в этих рассылках инфы и прог по всем темам полно! Если не найдешь, то пиши по адрес: orlando@kaluga.ru , у меня есть этот архив, вышлю!


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

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

Вопрос №750

Имеется такая проблема: При нажатии на ссылку с почтовым адресом(mailto) почтовая программа не открывается, а место
неё начинают всплывать один за другим окна IE, после чего приходится перезагружать комп. ибо без конца открываются окна Internet explorera.

Ответ

Здравствуйте, Speedy Gonsalez!
У меня такое же было в прошлой конфигурации. Помоему. Только тогда видуз просто ругался, что не может отправить письмо. Насколко я понял, глюк основан на том, что IE и Outlook Express не могут толком состыковаться из-за того, что их ставили в разное время (я IE до 5.5 обновлял). Попробуй, если сохранились данные на удаление из системы, долбануть IE и переставить снова - при нажатии на ссылку с mailto он попросит выбрать конфигурацию почтового клиента. Хотя вряд ли поможет, да и IE из системы просто так не выдрать.


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

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

Вопрос №751

Приветствую вас уважаемые эксперты!
Появился вопросик, а если точнее сомнения и хочится, чтоб эксперт DM (мое уважение к нему и ковсем кто толково отвечает на FAQ, кроме Michael(мне кажится что от добивается славы(набирает очки), проктически ничего незная 8-Е))
Собственно вопрос:
Уважаемый DM,при ответе на вопрос по логическим командам AND/OR/XOR выдал строки:
============================================================
Включать биты можно так:
Предположим, есть AL=00001111b
Нужно выключить пятый и седьмой биты.
пишем and al,01010000b
в результате:
arg1 00001111b
arg2 01010000b
resl 01011111b
Т.е. если на месте включаемых бит первого операнда во втором операнде поставить единицы, они установятся, т.к. стой в них хоть единица, хоть ноль, в результате будет все равно единица.
============================================================
Так ведь строчкой выше было указанно:
Результаты работы команды AND:
0,0=0
0,1=0
1,0=0
1,1=1
Тоесть бит устанавливается в 1 в том случае, если оба бита
равны 1. Либо я непонял, либо в предыдущем примере допущена ошибка, просьба объясни и + слова после Т.е. И почему при включении бита 0,либо 1 результат будет равен 1? Ведь в работу команды (AND) заложина совсем др.логика! Бит будет равен 1 если оба бита операндов = 1.
С уважением SATIS

Ответ

Здравствуйте, SATIS!
Ну и напугал ты... Я уж начал изинения писать! А потом посмотрел на свой ответ. Там же все правильно! Ты просто строчками ошибся - про выключение из AND взял, про включение из OR. Вот фрагмент моего ответа на AND:
AND - логическое умножение. Результаты операций:
0,0=0
0,1=0
1,0=0
1,1=1
Т.е. единица в результат ставится только если в обоих битах единица.
Выключать биты можно так:
Предположим, есть AL=00001111b
Нужно выключить нулевой и второй биты.
пишем and al,11111010b
в результате:
arg1 00001111b
arg2 11111010b
resl 00001010b
Т.е. если на месте выключаемых бит первого операнда во втором операнде поставить нули, они обнулятся, т.к. стой в них хоть единица, хоть ноль, в результате будет все равно ноль.


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

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

Вопрос №754

Эксперты помогите, я начал изучать ассемблер недавно и без совета нормального программиста мне не обойтись. Меня интересуют следующие темы, как создать файл и каталог в DOS-е, ну в общем вообще работа с файлами и каталогами. Если можно то примерчик проги или где взять инфу по этой теме...

Ответ

Здравствуйте, Кузнецов Сергей!
Мда, а прочитать архив рассылки с уроками терпения не хватает? Скачай из раздела "программы" helpassm.exe/rar(не помню как называется) вопросов сразу станет гораздо меньше.
Создать файл:
mov ah,3Ch;функция дос "создать файл"
lea dx,name;имя файла в строке ASCIIZ
xor cx,cx;атрибуты - обычные
int 21h
jc err;Carry flag=1, ошибка, номер в AX, Carry flag=0, файл создан, описатель-в AX
mov handle,ax
err:

name db 'C:\assm\s.txt',0
orname db 's.txt',0

Создать каталог:
mov ah,39h;функция дос "создать каталог"
lea dx,namedir;имя каталога в строке ASCIIZ
int 21h
jc err;Carry flag=1, ошибка, номер в AX

err:

namedir db 'C:\assm\s',0
ornamedir db 's',0


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

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

Вопрос №753

Господа знатоки хелп ми плиз .Уменя постояннои не переодически моргает курсор для мышиможет кто знает причину?Оччень уж глаза раздражает

Ответ

Здравствуйте, M.H.!

Какая у тебя видюха стоит?
У меня было такое один раз, когда я себе обновленные драйвера для видео поставил...Пришлось обратно старые ставить...


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

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

Вопрос №759

Вопрос таков. После установки видюхи ASUS7100 GeForce 2 MX400 в AGP слот она взяла себе IRQ11, но на IRQ11 у меня
уже стояла звуковуха Creative SBLive 1024. Т.е теперь
на одном прерывание IRQ11 у меня висит видюха и звуковуха.
В принципе проблем из-за этого никаких не появилось
и та и другая работают оптимально. Но всё-таки ничего, что они висят на одном IRQ ?

Ответ

Здравствуйте, Speedy Gonsalez!
Это вопрос или куда :).
Раз все работает то, что тебе еще надо?
НУ а если тебе это сильно мучает переставь прерывание!


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

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

Вопрос №755

Здраствуйте эксперты!
Скажите как расшифровать модель процессора: 8086...80486?
И еше когда в книжках говорят о памяти ЭВМ они имеют ввиду ОЗУ или все виды памяти (необходимые)???
С увожением Alex!

Ответ

Здравствуйте, Alex!
В каком смысле расшифрвать? Все эти процы соместимы с архитектурой Intel 80x6 и выпускались по порядку номеров.
8086-самый ранний, 16-битная адресация и регистры.
80386(386)-первый 32-битный
80486(486)-386 с дополнениями и квеличением частоты
80586(586, Pentium)- Pentium, 32-битный.

Если говорят о памяти ЭВМ, то наверняка об оперативной. Ещё в таких книгах попадаются такие перлы, как "накопитель на сменных магнитных дисках" и -заморское чудо- "твёрдый диск".


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

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

Вопрос №760

Экспертам.
Здравствуйте.

Поделитесь опытом.
Как пользоваться текстом программ из приложений.
В блокнот копирую - все в одной строке с символами
ввода "Б".
Write - без "Б", но кучей.
Каким редактором пользоваться?

С уважением Alex12

Ответ

Здравствуйте, Alex12!
Я обычно открываю приложения в FAR'е(а если они пришли с рассылкой - копирую в буфер, создаю в FAR'е новый файл (Shift-F4) и заполняю его из буфера) - там работают и досовские, и виндозные сочетания клавиш работы с буфером. Потом можно (если нужно) вытащить этот кусок из буфера в любом виндозном приложении. В нормальном виде.
Кстати, регистрация FAR на территории бывшего СССР бесплатна. И легальна.


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

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

Вопрос №758

Я написал прогу, кот выводила содержимое файла на экран и по нажатию на клаву опять выводила и т.д.
Так вот: при каждом выводе на экран файло открывалось заново
но ни разу не закрывалось.Потом через 15-20 просмотров выводилось только первые 5 символов из ф-ла. После того как я вставил процу закрытия ф-ла все стало ок. Чем это можно объяснить?

Ответ

Здравствуйте, Дмитрий!
Все написанное ниже прошу рассматривать как разговор одного ламера с другим. У меня тоже такое было - когда не закрывал файлы. Но при этом если МОЯ снова загруженнаю программа обращалась к файлу заново, система висла окончательно. Со всякими просмотрщиками и т.п. такого не происходило. Хотя файл оставался открытым. Похоже, вся лажа основана на т.н. "Handle-ориентированном вводе-выводе", при котором каждому открываемому файлу присваивается уникальный номер. Чтоб легче было работать. По всей видимости, если оставить файл открытым и открыть его снова, старый Handle открыть-то его позволит, а вот работать с ним... Да, кстати, насчёт 15-20 просмотров: кол-во одновременно открытых файлов строго ограничено, и прописано в cofig.sys(переменная files). Так что тебе могло не хватать свободных Handle'ов. Одно определённо сказать могу, закрвай файлы.


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

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

Вопрос №748

Предложение с модератором(-и) поддерживаю всецело. Уважаемые Sensey, Orlando, Broken Sworld, Painbringer, Евгений и прочие - давайте выскажемся да составим петицию.

Ответ

Здравствуйте, эксперты!
Да, я не против, но считаю, что следить за порядком в рассылке является обязанностью автора! И в данной ситуации надо его оповестить и пусть сам решает, как поступить!


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

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

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

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

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

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

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


Ваше имя *:

Ваш 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

В избранное