Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
Ассемблер? Это просто! Учимся программировать (FAQ)
Выпуск N 106 |
Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"
Дата выхода: 2001-09-30
Вопрос №1030
Подскажите,пожалуйста веб-хостинг, чотбы шустрый был,
и чтобы 20метров как мин выделял?????
И чтобы название лего-запоминающееся
Ответ
Здравствуйте, Димок!
Попробуй здесь
хотя поиоему платный зото ЦГИ можно использовать
Ысчо Здесь етот имхо самый лучший из всех которых я знаю..дают 60мб бесплвтно с поддержкой CGI PHP
Для хороших проектов пространство не ограничено...
правда есть недостаток..вставляеться баннер 468 на 60
но ето мелочь...
Отправил эксперт: змей
Эксперт отправил ответов (всего): 47
Экспертная группа: Пользовательская работа с Windows
Вопрос №1035
==========Доброе время суток,однако здравствуйте!===========
Вопрос относится к работе с резервированием и инициализацией памяти. Собственно вопрос:
Мне не совсем понято длячего резервируется подобным образом память - например:
oper1 db 1223
oper2 dw 1234
Какая разница - между операторами резервирования понятно - один байт другой слово, но непонятно зачем под одно кол-о байтов резервировать слова, в др. случае байт , если операнд oper1 не помещается в выделеную для его область памяти, ведь в байт пожно запехнуть одно число либо 2 в упакованном BCD формяте (именно про BCD не интересует).
С уважением SATIS!
Ответ
Здравствуйте, SATIS!
В байт можно запихнуть одно число значением менее чем 2^8 то есть 256. если BCD формат тебя вообще не интересует забудь про числа, оперируй значениями.
Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 146
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1036
==========Доброе время суток,однако здравствуйте!===========
Вопрос относится к работе с резервированием и инициализацией памяти. Собственно вопрос:
Мне не совсем понято длячего резервируется подобным образом память - например:
oper1 db 1223
oper2 dw 1234
Какая разница - между операторами резервирования понятно - один байт другой слово, но непонятно зачем под одно кол-о байтов резервировать слова, в др. случае байт , если операнд oper1 не помещается в выделеную для его область памяти, ведь в байт пожно запехнуть одно число либо 2 в упакованном BCD формяте (именно про BCD не интересует).
С уважением SATIS!
Ответ
Здравствуйте, SATIS!
oper1 db 1223
вызовет ошибку!
Отправил эксперт: AL-GALI (http://www.astpage.ru/ - вроде как корпоративная страничка)
Эксперт отправил ответов (всего): 5
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1035
==========Доброе время суток,однако здравствуйте!===========
Вопрос относится к работе с резервированием и инициализацией памяти. Собственно вопрос:
Мне не совсем понято длячего резервируется подобным образом память - например:
oper1 db 1223
oper2 dw 1234
Какая разница - между операторами резервирования понятно - один байт другой слово, но непонятно зачем под одно кол-о байтов резервировать слова, в др. случае байт , если операнд oper1 не помещается в выделеную для его область памяти, ведь в байт пожно запехнуть одно число либо 2 в упакованном BCD формяте (именно про BCD не интересует).
С уважением SATIS!
Ответ
Здравствуйте, SATIS!
Только из-за удобства использования и начальной инициализации
При
a db 1234h
а=12h, (a+2)=34h
b dw 1234h
b=1234h, byte ptr b=34h, byte ptr b+2=12h
Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 163
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1036
==========Доброе время суток,однако здравствуйте!===========
Вопрос относится к работе с резервированием и инициализацией памяти. Собственно вопрос:
Мне не совсем понято длячего резервируется подобным образом память - например:
oper1 db 1223
oper2 dw 1234
Какая разница - между операторами резервирования понятно - один байт другой слово, но непонятно зачем под одно кол-о байтов резервировать слова, в др. случае байт , если операнд oper1 не помещается в выделеную для его область памяти, ведь в байт пожно запехнуть одно число либо 2 в упакованном BCD формяте (именно про BCD не интересует).
С уважением SATIS!
Ответ
Здравствуйте, SATIS!
Ну тут все просто. Когда ты используешь инструкцию db, то следуюшие за ней байты остаются без изменений. А если используешь инструкцию для данных разрядности больше 1 байта, то твои данные разбиваются на группы заданной разрядности внутри которых происходит преобразование байтов к порядку принятому в процессорах intel( старший байт по старшему адресу).
Пример:
a db 12345678h ; в памяти распологается так же 12h,34h,56h,78h
b dw 12345678h ; для слов все выглядит немного иначе 34h,12h,78h,56h
c dd 12345678h ; для двойных слов "совсем наоборот" 78h,56h,34h,12h
А нужно это для того, чтобы не проводить эту перестановку байтов вручную. А дальше я не понял...
Отправил эксперт: Александр
Эксперт отправил ответов (всего): 68
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1036
==========Доброе время суток,однако здравствуйте!===========
Вопрос относится к работе с резервированием и инициализацией памяти. Собственно вопрос:
Мне не совсем понято длячего резервируется подобным образом память - например:
oper1 db 1223
oper2 dw 1234
Какая разница - между операторами резервирования понятно - один байт другой слово, но непонятно зачем под одно кол-о байтов резервировать слова, в др. случае байт , если операнд oper1 не помещается в выделеную для его область памяти, ведь в байт пожно запехнуть одно число либо 2 в упакованном BCD формяте (именно про BCD не интересует).
С уважением SATIS!
Ответ
Здравствуйте, SATIS!
Меня терзают смутные сомненья что у тебя какоя-то очепятка. Быть так не может.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 59
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1037
=========Доброе время суток,однако здравствуйте!============
Купивши принтер HP 840C подключен через USB возникла проблема с печатью из ДОС. Вобщем я мне кажиться я буду прав ежели скажу что DOS не поддерживает печать через USB поскольку это довольно старая но НАДЕЖНАЯ операционка, и вней поддержка УСБ не реализована. Мне интересно возможно ли подключить USB и LPT одновременно и работать таким образом? Либо попроще будет отыскать (ежели такие есль)драйвера для печати из ДОСа через USB порт. Собственно все предложения принемаютси и если есть возможность подкинуть документации по работе принтеров.
С уважением SATIS
Ответ
Здравствуйте, SATIS!
В ДОС нет поддержки USB. А следовательно, и драйверов нет. Если есть LPT порт - подключай к LPT, а про LPT+USB надо смотреть документацию на принтер.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 60
Экспертная группа: Пользовательская работа с Windows
Вопрос №1033
Здравствуйте эксперты!
У меня встал вопрос! Нужно написать
программу которая бы писала текущую дату и
время в лог. Направьте меня на правильный
путь, заранее благодарен!
Ответ
Здравствуйте, ГенийЕв!
Ведь вроде уже договаривались... Меня эти даты с временами достали. Покопайся в архиве рассылок - там вопросов+ответов по этой теме навалом. Вся сложность в том, где тебе надо писать время - при старте системы или при создании файла.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 61
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1042
Привет Всем.
Поделитесь мыслями,
эффективна ли разработка программ "с чистого листа",
т.е. содержащих в себе ,и собственных нужд ОС ,и собственно программу.
Мое мнение - эффективна и даже очень, когда выполняется узкий круг задач: сервера, офисные приложения, системы контроля и управления.
Интересно, есть вообще подобные комплексы и где?
Ответ
Здравствуйте, ilya!
Насколько мне известно, то на такие вещи замахивалась только небезызвестная фирма Oracle. О конечных результатах "замаха" мне ничего неизвестно. По-моему лучше приладить к ОС подходящую файловую систему, которых есть на любой вкус, чем самому огород городить. А если ты хочешь быть совсем крутым( как фирма NeXT ), то можно и апаратную платформу специально для своего "офиса" разработать. Все-таки лучше пользовать то, что есть(в смысле ОС), потому что работа с аппаратурой на самом нижнем уровне это, мягко выражаясь, неэротично, а по мнению особенно измученных системщиков еще и неэстетично, негуманно и является преступлением против человечности(в лице этих системщиков). В обозначенном тобой "узком" круге задач офисные приложения смотрятся издевательством наподобие "и остальные типы программ".
С уважением, Александр.
Отправил эксперт: Александр
Эксперт отправил ответов (всего): 69
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1040
Здравствуйте эксперты.
У меня вот какой вопрос.Частенько случается такое-Программа вызвала сбой обращения к памяти и будет закрыта или Программа ....вызвала ошибку обращения к стеку в модуле...по адресу.... .Из за чего такая фигня.Спасибо.
Ответ
Здравствуйте, Max!
Не хватает ОЗУ, не хватает места для свопа
Если много открыто оокон или программ-не хватает внутренних ресурсов.
Просто глючные проги:)
Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 164
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1019
предыдущий мой вопрос был под номером 991.Бальшое спасиба всем, кто ответил. Вопрос о подвисании компа в инете. Все дружно посоветовали избавиться от милениума. Избавился - не помогло!!!:-((. Касперский ничЈ не нашЈл. Вопрос - как жить дальше?:-)))
Vik
Ответ
Здравствуйте, vik!
Ты не уточнил, что сейчас у тебя стоит(98SE или 2000)?
Какой у тебя HDD? если разбит, то сколько места на системном?
Параметры файла подкачки какие установлены (по умолчанию или ты их менял)? Когда работаешь в И-нете какие программы запушены в фоне напиши подробней?
Отправил эксперт: Viktor
Эксперт отправил ответов (всего): 6
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1044
С чего вы посоветуете мне начать программирование на Асемблере. Pascal я почти наизусть знаю...
Ответ
Здравствуйте, Антон!
Вы не первый и далеко не последний, кто задаёт этот вопрос. Но я всё же отвечу...
Самое главное - зайдите на www.kalashnikoff.ru - там Вы найдёте некоторые книги. Там же архив рассылки "Ассемблер? Это просто. Учимся программировать". Всё четко и ясно написано. Там же подпишитесь на эту рассылку. Она пока не выходит, значит у Вас будет время изучить первые 30 её выпусков.
Большой популярностью пользуется книга Зубкова по Асму.
на сайте rusdoc.df.ru - тоже есть документация по азму - лучше всего П.Абель... Так что вперёд!!!
Отправил эксперт: Anvar
Эксперт отправил ответов (всего): 3
Экспертная группа: Пользовательская работа с Windows
Вопрос №1044
С чего вы посоветуете мне начать программирование на Асемблере. Pascal я почти наизусть знаю...
Ответ
Здравствуйте, Антон!
начните сначала.Паскаль и Асемблер, как говорят в Одессе, две большие разницы.
Просто перепишите себе все рассылки (1-30) и разбирайтесь.
я сам через неделю после начала обучения полностью разобрался в вирусе(гл 20) и сдал зачет по системному программированию :-))))
Отправил эксперт: Игорь
Эксперт отправил ответов (всего): 1
Экспертная группа: Пользовательская работа с Windows
Вопрос №1044
С чего вы посоветуете мне начать программирование на Асемблере. Pascal я почти наизусть знаю...
Ответ
Здравствуйте, Антон!
Ну Паскаль тебе здесь никак не поможет, так шо начинать будешь с нуля!
Желательно хорошенько ознакомиться с архитектурой компа(типа кн. П.Нортона), так как в книгах по программированию на асме эта тема раскрывается плохо, а затем купить книгу по асму, типа "Assembler для DOS, Windows и Unix" автор Зубков(луше этой книги еще не встречал), так же не плоха книга Питера Абеля, но она довольно-таки стара и приобрести ее проблемно, я например ее получил от друга(старого программиста)!Так же скачай выпуски рассылки на www.Kalashnikoff.ru , должно помоч, я материал просматривал - довольно интересно!
Отправил эксперт: Orlando
Эксперт отправил ответов (всего): 133
Экспертная группа: Пользовательская работа с Windows
Вопрос №1042
Привет Всем.
Поделитесь мыслями,
эффективна ли разработка программ "с чистого листа",
т.е. содержащих в себе ,и собственных нужд ОС ,и собственно программу.
Мое мнение - эффективна и даже очень, когда выполняется узкий круг задач: сервера, офисные приложения, системы контроля и управления.
Интересно, есть вообще подобные комплексы и где?
Ответ
Здравствуйте, ilya!
Всё зависит от твоего понимания эффективности. В НЫНЕШНИХ УСЛОВИЯХ НЕТ!!! Если серьезно заниматься программированием (в смысле зарабатывать на этом) то в первую очередь заказчика интересует не то, насколько быстро будет работать программа, а на сколько быстро ты её напишешь. К тому же учить тетёньку тыкать не 3 клавиши, а 10 + работать в этих различных осях проблемнее. Тем не менее, для какого-то узкого круга задач это должно быть эффективно и НУЖНО!
Отправил эксперт: Painbringer
Эксперт отправил ответов (всего): 148
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1047
Привет Спецы!!!
I need your help!!!
Кратко о себе. Меня зовут Алексей (Mahmud), мне 27, родился и живу в Таллине. Работаю сам на себя- таскаю лес из Вологды в Эстонию. До этого пиратствовал вместе с Москвой.Учусь в отделении МГИУ в Таллине(инфотехнологии) 1 курс, правда. С компом дружу по ночам. За Вашим сайтом слежу достаточно долго- подписан на рассылку по Assembler. Плотно за чтение взялся недавно и уже торможу!
Вопрос: Не могу сообразить Hex system! Чтобы получить 1Е к 30 надо умножить или прибавить? Может существует формула расчётов?Простите за глупый вопрос.
Заранее благодарю.
Sorry, моё мыло mahmud@hot.ee, пока не разобрался в identity from- Explorer oм пользуюсь второй день(раньше был Netscape).
Ответ
Здравствуйте, Алекс!
Вот таблица соответствия шестнадцатиричных и десятичных чисел
Dec 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hex 0 1 2 3 4 5 6 7 8 9 А B C D E F
Делим десятичное число 30 на 16
_30|16
16|1
14
Итак 1 и остаток 14(E) - шест. 1Еh
Проверяем 1х16^1+14х16^0=30
Или возьмем к примеру число побольше 3000
_3000|16 _187|16
140 |187 16 |11(B)
_120 27
112 11(B)
8
Собираем остатки от деления в обратном порядке
получаем BB8h
Проверяем
11x16^2+11x16^1+8x16^0=2816+176+8=3000
Отправил эксперт: UFO
Эксперт отправил ответов (всего): 10
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1048
Hello, guys!
Я вот тут давеча разобрался с ООП на Assm'е. А вам слабо?
Ответ
Здравствуйте, Basil!
а)нет, но на чём?
б)да, так как незачем.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 62
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1047
Привет Спецы!!!
I need your help!!!
Кратко о себе. Меня зовут Алексей (Mahmud), мне 27, родился и живу в Таллине. Работаю сам на себя- таскаю лес из Вологды в Эстонию. До этого пиратствовал вместе с Москвой.Учусь в отделении МГИУ в Таллине(инфотехнологии) 1 курс, правда. С компом дружу по ночам. За Вашим сайтом слежу достаточно долго- подписан на рассылку по Assembler. Плотно за чтение взялся недавно и уже торможу!
Вопрос: Не могу сообразить Hex system! Чтобы получить 1Е к 30 надо умножить или прибавить? Может существует формула расчётов?Простите за глупый вопрос.
Заранее благодарю.
Sorry, моё мыло mahmud@hot.ee, пока не разобрался в identity from- Explorer oм пользуюсь второй день(раньше был Netscape).
Ответ
Здравствуйте, Алекс!
hex-код - шестнадцатеричная система отчёта. Позиционная.
Перевод в десятичную из 16ичной:
3F2=2*16^0+F*16^1+3*16^2=2*1+15*16+3*16^2.
Т.е. для перевода из любой системы отсчета в понятную для тебя нужно сложить все цифры справа налево, причём с каждой цифрой проделать следующее:
умножить её на основание системы отсчета в степени "порядковый номер, считая справа" (самая правая - №0). Т.е. для самой правой цифры: X*n^0, где X-цифра, n-основание сист. отсчёта (для hex - 16), ^ - возведение в степень. Складываются и умножаются числа в любой системе отсчета столбиком.
сложение для hex:
12A3
D23F
----
E4E2
|
заем, F+3=12hex
Сам всё это понимаю, но, думаю, объяснил хреново. Лучше купи любую книжку по асму или учебник по инфоматике (базовый курс). Там все растолкуют.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 63
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1051
Здравствуйте уважаемые эксперты.
Написал программу бегущей строки, но tlink.exe выдает ошибку "invalid initial entry point adress".
Если можно, укажите, где находится эта ошибка.
Заранее благодарю.
P.S. Я пока еще чайник в этом деле, поэтому просьба не смеяться над ошибками.
Ответ
Здравствуйте, Trever!
Где твой org 100h??? (это же вроде com-прога), а в exe-шник номано компилится все... только одно но: никакая строка никуда не побежала, просто синие буквы "с" в уголоке. И вот как нада было написать, чтобы строка "побежала". Предлагаю полностью свой вариант твоей проги, он поприкольнее да и покороче...
Приложение:
Отправил эксперт: Broken Sword (http://www.revolution.co.uk - скрытая реклама...)
Эксперт отправил ответов (всего): 171
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1051
Здравствуйте уважаемые эксперты.
Написал программу бегущей строки, но tlink.exe выдает ошибку "invalid initial entry point adress".
Если можно, укажите, где находится эта ошибка.
Заранее благодарю.
P.S. Я пока еще чайник в этом деле, поэтому просьба не смеяться над ошибками.
Ответ
Здравствуйте, Trever!
У тебя смещение на 256 (100h) байт, т.е. PSP, не задано. перед begin вставь org 100h. Других ошибок не искал.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 64
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Подписаться на рассылки
Форма подачи вопроса
ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!
Регистрация в качестве эксперта
Архив выпусков
Ведущий рассылки,
Калашников Олег:
Assembler@Kalashnikoff.ru
ICQ No.: 68951340
URL сайта подписчиков:
http://www.Kalashnikoff.ru
______________
По вопросам сотрудничества, рекламы и спонсорства обращайтесь:
- Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
- Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
- Издание книги (спонсорство): Sponsor@Kalashnikoff.ru
(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав. |
Реклама на сайте Kalashnikoff.ru
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу | Рейтингуется SpyLog |
В избранное | ||