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

UptoLike

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

56
DB 11,0,'ES =',0
DB 12,0,'FS =',0
DB 13,0,'GS =',0
DB 14,0,'SS =',0
DB 16,8,' AVR NIOODIT SZ A P C',0
DB 17,8,' CMF TPLFFFF FF F F F',0
DB 18,0,'Флаги:',0
DB 20,8,'PCN A V NETEMP',0
DB 21,8,'GDW M P ETSMPE',0
DB 22,0,'CR0:',0
DB 24,15
DB 'Для продолжения работы нажмите любую клавишу',0
CODESEG
;**********************************************
;* ВЫВЕСТИ НА ЭКРАН ДАМП РЕГИСТРОВ ПРОЦЕССОРА *
;* (процедура параметров не имеет) *
;**********************************************
PROC ShowRegs FAR
pushad
pushfd
push DS
mov BP,SP
mov AX,DGROUP
mov DS,AX
; Сохраняем глобальные переменные
mov AL,[TextColorAndBackground]
push AX
push [ScreenString]
push [ScreenColumn]
; Очищаем экран
call ClearScreen
; Вывести 21 строку текста
mov [TextColorAndBackground],YELLOW
mov SI, offset REGROW_386
mov CX,22
@@GLB: call ShowString
loop @@GLB
mov [TextColorAndBackground],WHITE
mov EAX,[BP+34] ;Показать EAX
mov [ScreenString],0
mov [ScreenColumn],6
call ShowHexDWord
mov EAX,[BP+22] ;Показать EBX
inc [ScreenString]
mov [ScreenColumn],6
call ShowHexDWord
mov EAX,[BP+30] ;Показать ECX
  DB   11,0,'ES =',0
  DB   12,0,'FS =',0
  DB   13,0,'GS =',0
  DB   14,0,'SS =',0
  DB   16,8,'              AVR NIOODIT SZ A P C',0
  DB   17,8,'              CMF TPLFFFF FF F F F',0
  DB   18,0,'Флаги:',0
  DB   20,8,'PCN           A V            NETEMP',0
  DB   21,8,'GDW           M P            ETSMPE',0
  DB   22,0,'CR0:',0
  DB   24,15
  DB   'Для продолжения работы нажмите любую клавишу',0


CODESEG
;**********************************************
;* ВЫВЕСТИ НА ЭКРАН ДАМП РЕГИСТРОВ ПРОЦЕССОРА *
;*      (процедура параметров не имеет)       *
;**********************************************
PROC ShowRegs FAR
        pushad
        pushfd
        push    DS
        mov     BP,SP
        mov     AX,DGROUP
        mov     DS,AX
; Сохраняем глобальные переменные
        mov     AL,[TextColorAndBackground]
        push    AX
        push    [ScreenString]
        push    [ScreenColumn]
; Очищаем экран
        call    ClearScreen
; Вывести 21 строку текста
        mov     [TextColorAndBackground],YELLOW
        mov     SI, offset REGROW_386
        mov     CX,22
@@GLB: call     ShowString
        loop    @@GLB

        mov     [TextColorAndBackground],WHITE

        mov     EAX,[BP+34] ;Показать EAX
        mov     [ScreenString],0
        mov     [ScreenColumn],6
        call    ShowHexDWord
        mov     EAX,[BP+22] ;Показать EBX
        inc     [ScreenString]
        mov     [ScreenColumn],6
        call    ShowHexDWord
        mov     EAX,[BP+30] ;Показать ECX


                              56