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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 994
от 11.03.2008, 19:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 355, Экспертов: 14
В номере:Вопросов: 2, Ответов: 2

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 126142: Здравствуйте. У меня такая вот задачка: нужно с помощью ассемблера изменить частоту появления символа при зажатой клавише. Помогите плиз....
Вопрос № 126173: Здравствуйте, Уважаемые Эксперты! Объясните, пожалуйста, код этой программы. Эта программа читает главную загрузочную запись жесткого диска и интерпретирует прочитанные данные. Но вот как все это делается? Если можно, дайте, пожалуйста, подробные...

Вопрос № 126.142
Здравствуйте. У меня такая вот задачка: нужно с помощью ассемблера изменить частоту появления символа при зажатой клавише. Помогите плиз.
Отправлен: 05.03.2008, 20:26
Вопрос задал: Rancid_Rabbit (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Rancid_Rabbit!

Int 16/AH=03h
KEYBOARD - SET TYPEMATIC RATE AND DELAY=установить скорость повторения
AH = 03h
AL = subfunction=подфунция
00h set default delay and rate (PCjr and some PS/2)=значения по умолчанию
01h increase delay before repeat (PCjr)=увеличить начальную задержку
02h decrease repeat rate by factor of 2 (PCjr)=уменьшить скорость повторения в 2-а раза
03h increase delay and decrease repeat rate (PCjr)=увеличить скорость повторения в 2-а раза
04h turn off typematic repeat (PCjr and some PS/2)=выключить повторение нажатой клавиши
05h set repeat rate and delay (AT,PS)=установить скорость и задержку повторения
BH = delay value (00h = 250ms to 03h = 1000ms)=п/ф:05Н задержка повторения
BL = repeat rate (00h=30/sec to 0Ch=10/sec [def] to 1Fh=2/sec)=п/ф:05Н скорость повторения

06h get current typematic rate and delay (newer PS/2s)=получить скорость и задержку повторения
Return:
BL = repeat rate (above)=п/ф:05Н скорость повторения
BH = delay (above)=п/ф:06Н задержка повторения

Думаю Вы найдете применение этой функции.
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал)
Украина, Киев
Тел.: +380958380164
Адрес: Украина г.Киев
----
Ответ отправлен: 06.03.2008, 20:37


Вопрос № 126.173
Здравствуйте, Уважаемые Эксперты!
Объясните, пожалуйста, код этой программы. Эта программа читает главную загрузочную запись жесткого диска и интерпретирует прочитанные данные. Но вот как все это делается? Если можно, дайте, пожалуйста, подробные комментарии к каждой строчке.

function Move2bits(var y:byte;var z:byte):integer;assembler;
asm
les bx, y
mov cl, [bx]
mov dl, cl
and dl, 11000000b
xor dh, dh
shl dx, 1
shl dx, 1
and cl, 00111111b
mov [bx], cl
les bx, z
mov cl, [bx]
or dl, cl
mov ax, dx
end;

var Mas: array [1..512] of byte;
i,s:integer;
y,x:longint;
CurrentPart:byte;
const
m1 = 256;
m2 = 256*256;
m3 = 256*256*256;
begin
asm
mov Al, 1
mov Ch, 0
mov Dh, 0
mov Cl, 1
mov Dl, 80h
mov Bx, Ds
mov Es, Bx
lea bx, mas
mov ah,2
int 13h
end;

writeln (' Starting Location Ending Location ');
writeln ('Active Type Head Sector Cylinder Head Sector Cylinder Rel.Sect Number of S');

i:=447;
for CurrentPart:=1 to 4 do
begin
write (mas[i]:6); {First property}
write (mas[i+4]:6); {Second property}

write (mas[i+1]:6); {Start: Head}
s:=Move2bits(mas[i+2],mas[i+3]);
write (mas[i+2]:7); {Start: Sector}
write (s:8); {Start: Cylinder}

write (mas[i+5]:6); {End: Head}
s:=Move2bits(mas[i+6],mas[i+7]);
write (mas[i+6]:8); {End: Sector}
write (s:9); {End: Cylinder}

y:=mas[i+9];
x:=mas[i+8]+y*m1+mas[i+10]*m2+mas[i+11]*m3;
write (x:10); {Rel. Sectors}
y:=mas[i+13];
x:=mas[i+12]+y*m1+mas[i+14]*m2+mas[i+15]*m3;
write (x:12); {Number of Sectors}
i:=i+16;
writeln;
end;
readln;
end.

И еще, может где-нибудь в интернете есть статьи по данной тематике, то дайте, пожалуйста, ссылку.
Отправлен: 06.03.2008, 00:38
Вопрос задала: Alena De Lon (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 8)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Alena De Lon!

Добавил коментариев в код.
Ещё посмотрите Материал из Википедии:Главная загрузочная запись и MS-DOS для программиста Логическая структура диска или Логическая структура диска в DOS.
Удачи!

Приложение:

---------
И только наступив на грабли мы приобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал)
Украина, Киев
Тел.: +380958380164
Адрес: Украина г.Киев
----
Ответ отправлен: 06.03.2008, 12:02
Оценка за ответ: 5


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.72.2 от 06.03.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное