Система нумерации вопросов заработала! Вначале возможны некоторые "глюки".
Это происходит потому, что разные формы вопросов (старая и новая). Не обращайте,
пожалуйста, внимание на это...
Т-с-с!!! Скажу по секрету, что ВОЗМОЖНО скоро вы сможете задавать вопросы экспертам по почте, не заходя на сайт.
Но это еще пока не точно...
В ближайшем выпуске рассылки я приведу форму для голосования, где вы сами сможете
высказать мнение по поводу рассылки. Я постараюсь учесть все и следовать вашим советам.
Уважаемые эксперты! Относитесь, пожалуйста, с пониманием к новичкам-программистам!
Помните, что вы когда-то тоже были "Чайниками"!..
Вопрос №2
Эй, народ, я ничего не понимаю в ваших заумных терминах! Где я могу найти простейшую информацию о всём этом? И чтто такое Ассемблер?
Заранее спасибо.........Саня
Ответ
хм..
что ты не поймёшь то???
ты часть первую рассылки прочитал??? там всё просто написано, с самого начала, есть примеры, понятия основные. Проще ты никогда ни где не найдёшь, имхо
Отправил: sasha Эксперт отправил ответов (всего): 10
Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32
Вопрос №12
Уважаемые эксперты!
Кто-нибудь писал простейшие проги под винды на асме?
Если, да то основную структуру я бы желал узнать...
Ответ
не совсем конкретный вопрос. в принцепе структура остается такой же,
но используется модель память flat. ну вообщем структура выглядит так
.386
.MODEL Flat, STDCALL
.DATA
......
.DATA?
......
.CONST
......
.CODE
Приложение:
Отправил: BELTSY Эксперт отправил ответов (всего): 4
Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32
Вопрос №4
Здравствуйте эксперты.
Чем Intel Celeron отличается от Intel Pentium?
Как это отличие сказывается на работоспособности ПК?
Ответ
Если сравнивать Celeron и Pentium то можно сказать, что Celeron является представителем следующего более прогрессивного поколения процессоров.
Вероятнее всего вопрос стоял о сравнении Celeron и Pentium II.
В этом случае - Celeron - вариант Pentium II с уменьшенным кэшем второго уровня (первые модели были вообще без L2-кэша).
Уменьшенный размер кэша сказывается при выполнении приложений с повышенным объемом вычислений с плавающей запятой. В этом случае снижение производительности может быть весьма существенным (на отдельных задачах в 2-3 раза).
Отправил: RANDOM Эксперт отправил ответов (всего): 1
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №5
Уважаемые эксперты.
Не могли ли вы мне помочь разобраться с видеобуффером. Я вот состряпал такую программку, и эксперементируя с ней , зашел в тупик. Помогите пожалуйста разобраться начинающему чайнику.
CSEG segment
org 100h
start:
mov ax,0b800h
mov es,ax
mov di,0
label_1
mov cx,512
mov ax,cx
mov es:[di],ax
add di,2
loop label_1
mov ah,10h
int 16h
int 20h
CSEG ends
end start
Вот такая программка выводит таблицу ASCII на экран. (Насколько я понял из первых уроков, "di" это место вывода на экран.) Но если я меняю приращение на нечетное число : "add di,1",
то все становится еще и разноцветным. Почему так происходит не могу понять. Откуда цвета разные при нечетном приращении .
С уважением, Олег.
Ответ
Hi !
(когда то я уже отвечал на такой вопрос :) )
Все дело в устройстве видео памяти. Дело в том что для хранения выводимого на экран символа используется два байта памяти: младший байт для хранения кода символа (C), а старший для хранения его атрибутов (A).
То есть видео память представляет собой примерно следующую структуру:
Смещение |00|01|02|03|04|05|06|07|08|09|10|11|12|13|.....
Память |C |A |C |A |C |A |C |A |C |A |C |A |C |A |.....
Теперь расмотрим программу: в di загружается 0. это значит что в значение регистра al попадет в ячейку со смещением 00, а в ячейку со смещением 01 попадет значение регистра ah.
Совершено очевидно, что если задать смещение указывающее не на символ (C), а на атрибут (допустим, возьмем смещение 03), то мы получим интересный эффект: в атрибут второго символа запишется al, а в код третьего символа запишется ah.
Good luck. Slava V.
P.S. Глядя на логику программы, вообще то возникает сомнение что Вы её запускали. Например:
label_1:
mov cx, 512
...
loop Label_1
Вы думаете что это когда то кончится? Сомневаюсь.
В приложении приведен вариант программы, выводящей ASCII таблицу желтым на синем.
Приложение:
Отправил: Slava V. Эксперт отправил ответов (всего): 3
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №4
Здравствуйте эксперты.
Чем Intel Celeron отличается от Intel Pentium?
Как это отличие сказывается на работоспособности ПК?
Ответ
Во-первых, Celeron - это дешевая версия PentiumII, а никак не Pentium.
Во-вторых он совместим с PentiumII ПОЛНОСТЬЮ, а удешевление достигается за счет экономии на кэш-памяти и скорости шины (только 66МГц). В-третьих, от старых моделей Pentium его отличает не только присутствие MMX, но и принципиально другой разъем. Для замены Pentium на Celeron придется менять материнскую плату, а зачастую и память. PentiumII(Celeron) отличается от Pentium не только за счет скорости и MMX, но и за счет более продвинутой микроархитектуры. Так что, меняя Pentium 233MMX на PentiumII-233, ты все рвано получишь некоторый прирост скорости.
Отправил: Александр Эксперт отправил ответов (всего): 4
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №5
Уважаемые эксперты.
Не могли ли вы мне помочь разобраться с видеобуффером. Я вот состряпал такую программку, и эксперементируя с ней , зашел в тупик. Помогите пожалуйста разобраться начинающему чайнику.
CSEG segment
org 100h
start:
mov ax,0b800h
mov es,ax
mov di,0
label_1
mov cx,512
mov ax,cx
mov es:[di],ax
add di,2
loop label_1
mov ah,10h
int 16h
int 20h
CSEG ends
end start
Вот такая программка выводит таблицу ASCII на экран. (Насколько я понял из первых уроков, "di" это место вывода на экран.) Но если я меняю приращение на нечетное число : "add di,1",
то все становится еще и разноцветным. Почему так происходит не могу понять. Откуда цвета разные при нечетном приращении .
С уважением, Олег.
Ответ
Если ты внимательно смотрел, то и символов стало в 2 раза меньше :)
Все это оттого, что по нечетным адресам распологается информация о цвете символа и фона под ним. В зависимости от настроек у фона может быть палитра из 16 цветов, или из 8, но тогда символы могут мигать. По умолчанию кажется настройка с подмигиванием ;) У симолов всегда 16 цветов.
Отправил: Александр Эксперт отправил ответов (всего): 5
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1
Как убрать задержку перед началом повтором вывода символа?(для игры)
Ответ
Ответ1(Ламерский): В документации напиать, что в Windows Панель Управления/Клавиатура надо настроить этот параметр. Не подходит, нужно ведь для DOS.
Ответ2(Юзерский): Написать, как тот же параметр настроить через BIOS Setup.
Ответ3(Программерский):
mov ax,0305h ;здесь не уверен, может 0300 ?
mov bx,0 ;bh=0 - 0,25 секунды
;bh=1 - 0,5 секунды
;bh=2 - 0,75 секунды
;bh=3 - 1,0 секунды
Int 16h
Ответ4(наверно Хакерский:)): Написать свой обработчик
прерывания int 9, отвечающего за обработку прерываний от клавиатуры
Отправил: Александр Эксперт отправил ответов (всего): 6
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
(C) Москва, 2001. Авторское право принадлежит Калашникову О.А.
Публичное размещение материала из рассылки, а также его использование
полностью или частично в коммерческих или иных подобных целях без письменного
согласия автора влечет ответственность за нарушение авторских прав.