Защищенный режим процессоров Intel


Программа, которая работает с прерываниями - часть 9


sreg_title db " DS ES SS FLAGS " ; .... .... .... .... .... .... .... .... CODESEG ; ------------------------------------------------ ; Вывод на экран содержимого регистров процессора ; ------------------------------------------------ PROC rdump NEAR pushf pusha mov di, es mov ax,[vir_crt] mov es,ax mov si,OFFSET reg_title mov bx,1 ; (X,Y) = (AX,BX) mov ax,6 mov cx,SIZE reg_title mov dh,1fh ; чёрный на голубом фоне call writexy ; Выводим содержимое всех регистров mov ax,cs ; cs mov bx, 0702h call Print_Word mov bp, sp mov ax, [bp+18d] ; ip mov bx, 0708h call Print_Word mov bx, 070eh mov ax,[bp+14d] ; ax call Print_Word mov bx, 0714h mov ax,[bp+8d] ; bx call Print_Word mov bx, 071ah mov ax,[bp+12d] ; cx call Print_Word mov bx, 0720h mov ax,[bp+10d] ; dx call Print_Word mov ax,bp add ax,20d ; sp mov bx, 0726h call Print_Word mov ax,[bp+4d] ; bp mov bx, 072ch call Print_Word mov bx, 0732h mov ax,[bp+2] ; si call Print_Word mov bx, 0738h mov ax, [bp] ; di call Print_Word mov si,OFFSET sreg_title mov bx,1 mov ax,8 mov cx,SIZE sreg_title mov dh,1fh call writexy mov bx, 0902h mov ax, ds ; ds call Print_Word mov bx, 0908h mov ax, di ; es call Print_Word mov bx, 090eh mov ax,ss ; ss call Print_Word mov bx, 0914h mov ax, [bp+16d] ; flags call Print_Word ; Восстанавливаем содержимое регистров popa popf ret ENDP rdump CSEG_SIZE = ($ - start) DATASEG DSEG_SIZE = ($ - DSEG_BEG) wrong db ? END start


Начало  Назад  Вперед



Книжный магазин