Системное программное обеспечение. Особенности программирования 32-разрядных процессоров. Рощин А.В. - 69 стр.

UptoLike

Составители: 

69
@@AddressError:
call Beep
jmp @@GetNextChar
; ОБРАБОТКА "КОМАНД"
@@Command:
cmp AH,F10 ;"Выход"
jne @@TestDn
mov [CommandByte],AH
jmp short @@End
@@TestDn:
cmp AH,B_DN ;"Стрелка вниз"
jne @@TestUp
mov [CommandByte],AH
add [StartAddress],256
jmp short @@End
@@TestUp:
cmp AH,B_UP ;"Стрелка вверх"
jne @@CommandError
mov [CommandByte],AH
sub [StartAddress],256
jmp short @@End
@@CommandError:
call Beep
jmp @@GetAddressOrCommand
@@End: popad
ret
ENDP GetAddressOrCommand
ENDS
; Подключить подпрограмму, переводящую сегментный
; регистр GS в режим линейной адресации
include "lst_3_01.inc"
; Подключить набор процедур вывода/вывода данных
include "lst_2_02.inc"
END
Метод Родена проверен не только на процессорах Intel, но и на клонах,
изготовленных AMD, Cyrix, IBM, TI [1]. На всех протестированных
компьютерах переход в режим линейной адресации данных проходил
нормально, то есть метод не только работоспособен, но и универсален.
Метод Родена в свое время не был оценен по достоинству, поскольку
     @@AddressError:
             call    Beep
             jmp     @@GetNextChar

     ; ОБРАБОТКА "КОМАНД"
     @@Command:
             cmp     AH,F10         ;"Выход"
             jne     @@TestDn
             mov     [CommandByte],AH
             jmp short @@End

     @@TestDn:
             cmp     AH,B_DN        ;"Стрелка вниз"
             jne     @@TestUp
             mov     [CommandByte],AH
             add     [StartAddress],256
             jmp short @@End

     @@TestUp:
             cmp     AH,B_UP        ;"Стрелка вверх"
             jne     @@CommandError
             mov     [CommandByte],AH
             sub     [StartAddress],256
             jmp short @@End

     @@CommandError:
             call    Beep
             jmp     @@GetAddressOrCommand
     @@End: popad
             ret
     ENDP GetAddressOrCommand
     ENDS

     ; Подключить подпрограмму, переводящую сегментный
     ; регистр GS в режим линейной адресации
     include "lst_3_01.inc"
     ; Подключить набор процедур вывода/вывода данных
     include "lst_2_02.inc"

     END


     Метод Родена проверен не только на процессорах Intel, но и на клонах,
изготовленных AMD, Cyrix, IBM, TI          [1]. На всех протестированных
компьютерах переход в режим линейной адресации данных проходил
нормально, то есть метод не только работоспособен, но и универсален.
Метод Родена в свое время не был оценен по достоинству, поскольку


                                      69