ВУЗ:
Составители:
51
Листинг 2.1 – Подпрограмма, устанавливающая режим линейной
адресации данных
; Порт, управляющий запретом немаскируемых прерываний
CMOS_ADDR equ 0070h
CMOS_DATA equ 0071h
; Селекторы сегментов
SYS_PROT_CS equ 0008h
SYS_REAL_SEG equ 0010h
SYS_MONDO_SEG equ 0018h
CODESEG
;**********************************************
;* ВКЛЮЧЕНИЕ РЕЖИМА ЛИНЕЙНОЙ АДРЕСАЦИИ ПАМЯТИ *
;* (процедура параметров не имеет) *
;**********************************************
PROC Initialization NEAR
pushad
; Сохранить значения сегментных регистров в
; реальном режиме (кроме GS)
mov [CS:Save_SP],SP
mov AX,SS
mov [CS:Save_SS],AX
mov AX,DS
mov [CS:Save_DS],AX
; (работаем теперь только с кодовым сегментом)
mov AX,CS
mov [word ptr CS:Self_Mod_CS],AX
mov DS,AX
cli
mov SS,AX
mov SP,offset Local_Stk_Top
sti
; Установить режим линейной адресации
call SetLAddrModeForGS
; Восстановить значения сегментных регистров
cli
mov SP,[CS:Save_SP]
mov AX,[CS:Save_SS]
mov SS,AX
mov AX,[CS:Save_DS]
mov DS,AX
sti
; Разрешить работу линии A20
call Enable_A20
popad
ret
Листинг 2.1 – Подпрограмма, устанавливающая режим линейной
адресации данных
; Порт, управляющий запретом немаскируемых прерываний
CMOS_ADDR equ 0070h
CMOS_DATA equ 0071h
; Селекторы сегментов
SYS_PROT_CS equ 0008h
SYS_REAL_SEG equ 0010h
SYS_MONDO_SEG equ 0018h
CODESEG
;**********************************************
;* ВКЛЮЧЕНИЕ РЕЖИМА ЛИНЕЙНОЙ АДРЕСАЦИИ ПАМЯТИ *
;* (процедура параметров не имеет) *
;**********************************************
PROC Initialization NEAR
pushad
; Сохранить значения сегментных регистров в
; реальном режиме (кроме GS)
mov [CS:Save_SP],SP
mov AX,SS
mov [CS:Save_SS],AX
mov AX,DS
mov [CS:Save_DS],AX
; (работаем теперь только с кодовым сегментом)
mov AX,CS
mov [word ptr CS:Self_Mod_CS],AX
mov DS,AX
cli
mov SS,AX
mov SP,offset Local_Stk_Top
sti
; Установить режим линейной адресации
call SetLAddrModeForGS
; Восстановить значения сегментных регистров
cli
mov SP,[CS:Save_SP]
mov AX,[CS:Save_SS]
mov SS,AX
mov AX,[CS:Save_DS]
mov DS,AX
sti
; Разрешить работу линии A20
call Enable_A20
popad
ret
51
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »
