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

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


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

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

Выпуск N 011

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

Дата выхода: 2001-06-01


Новости программы генерации рассылки

Система нумерации вопросов заработала! Вначале возможны некоторые "глюки". Это происходит потому, что разные формы вопросов (старая и новая). Не обращайте, пожалуйста, внимание на это...

Т-с-с!!! Скажу по секрету, что ВОЗМОЖНО скоро вы сможете задавать вопросы экспертам по почте, не заходя на сайт. Но это еще пока не точно...

В ближайшем выпуске рассылки я приведу форму для голосования, где вы сами сможете высказать мнение по поводу рассылки. Я постараюсь учесть все и следовать вашим советам.

Уважаемые эксперты! Относитесь, пожалуйста, с пониманием к новичкам-программистам! Помните, что вы когда-то тоже были "Чайниками"!..

Вопрос №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

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

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

Задать вопрос экспертам

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


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

Калашников Олег: 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. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.

be number one


Реклама на сайте Kalashnikoff.ru


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

В избранное