Ով կարա int 9h ընդհատման մասին տեղեկություններ տա:
իսկ ավելի կոնկրետ թե ինչպեսա աշխատում
Ով կարա int 9h ընդհատման մասին տեղեկություններ տա:
իսկ ավելի կոնկրետ թե ինչպեսա աշխատում
The Keyboard is the primary method for grabbing input from users. When
a key is hit, an interrupt is generated ( INT 9 ). The latter reads the
Scan Code generated by the keyboard ( A Scan Code is one or more bytes
generated by the keyboard as a result of a key pressed or released - Each
key on the Keyboard generates a unique Scan Code ). INT 9H also provides
a mechanism for Scan Code Translation. INT 9H calls INT 15/4F with the
Scan Code of the key pressed before processing the Scan Code. The INT 15/4F
handler may instruct INT 9H to either ignore the key pressed or translate
the Scan Code to another value.
A user-defined INT 15/4F handler can therefore be used to *disable* a
particular key and/or to change the Scan Code it effectively generates.
The following example illustrates Scan Code translation. The ESC's Scan Code
is translated to that of an 'A'.
The Handler also instruct INT 9H to ignore the DEL Key. Therefore the
user is unable to reboot the machine using CRTL-ALT-DEL while the Handler
is active
արդեն ճարել եմ եթե ուզում էք կտամ
էդ գրքից ես գրել եթե էլեկտրոնային տարբերակը ունես տուր
Ժողովուրդ մի հատ նորմալ գիրք ասեք էլի Assembler սովորացնող
անգլերեն լեզվով, սկսնակների համար չլինի, մեկել սաղ գիրքը մենակ սովորական ռեժիմի ծրագրերի մասին չլինի:
Կանխավ շնորհակալ եմ![]()
Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ
ես սայթում http://samouchka.net/ebooks/assembler/ մի քանի հատ տենց գիրք է ` աչքովս ընկել դու նայի ընտրի
Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ
Ի՞նչ գիրք, կամ կայք խորհուրդ կտաք ասսեմբլեր զրոյից սովորելու համար
Ցանկալի է մեծ արխիվ ունեցող կայք, որ ինֆոն շատ լինի, բայց և հեշտ լինի![]()
_DEATH_ (25.11.2009)
ով կարա իրական ռեժիմում հասցեի կազմավորման մասին տեղեկություն տա??
Խնդրում եմ մոդերատորին ներել, թարգմանած գրելու ժամանակ չկար"
Հույս ունեմ կօգնի.
Адресация памяти в реальном режиме
Процессор 8086 имел 20-битную адресную шину и поэтому способен был
адресовать только 2^20 байтов (1 Мб) оперативной памяти. Но мы знаем, что
его регистры были 16-битными: как же он мог тогда адресовать 20 битов
адресной шины?
Ответ находится в сегментных регистрах. Окончательный адрес, «сброшен
ный» на адресную шину, получался как сумма значений соответствующего
16-битного регистра и сегментного регистра, умноженного на 16.
Следующий пример поможет понять, как рассчитывается физический
адрес:
mov al, [ds:si] ;загрузить в AL содержание памяти
;по адресу ds:si
Предположим, что DS = 0х559Е, а SI имеет значение 0x100.
Вычислить окончательный 20-битный адрес можно следуюш,им образом:
0х559Е * 0x10 (0x10 равно 16) + 0x100
Желаемое значение будет загружено с адреса памяти: 0х559Е0 4- 0x100 =
0х55АЕ0.
Значение сегментного регистра называется сегментом, а другое значение (то,
которое содержится в регистре общего назначения или указано как непо
средственное значение) называется смещением (offset).
Заметим, что адрес 0х55АЕ0 также может определяться другими парами сег
ментов и смещений, например, сегментом 0х558Е и смещением 0x200.
Адресация, использующая сегменты и смещения, имеет массу недостатков.
Смещение может быть только 16-битным, и поэтому полный размер одного
сегмента в памяти ограничен объемом 64 Кб. Программа, код или данные
которой превышают 64 Кб, должна быть разделена на несколько сегментов.
При необходимости в сегментные регистры должны быть загружены другие
адреса. Решение проблемы, которая возникает при делении программы на
несколько сегментов, будет рассмотрено в параграфе 10.4.
Для сохранения совместимости даже новейшие процессоры поддерживают
16-битную адресацию в реальном режиме. Поэтому можно запустить самую
древнюю DOS-программу, в том числе и саму DOS, на новейших х86-совме-
стимых процессорах.
Ավելի մանրամասն` այստեղ
Վերջին խմբագրող՝ bugron: 29.05.2011, 22:32:
Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)
Էջանիշներ