📄 00000004.htm
字号:
因为保护模式下不能呼叫真实模式下的中断 ,所以笔者以直接填写显示卡记忆体 <BR>的方式秀字。这是一个简单、尚未使用中断向量表的范例。 <BR> <BR>注: 所谓一山不容二虎 ,如果已载入其它保护模式的程式 ,那本程式将会与它打架 , <BR> 造成电脑当机。 <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR>┌————————┐ <BR>│进入虚拟 86 模式│ 为求精简 ,本程式毫无错误处理能力 <BR>└————————┘ <BR>------------------------ V86.ASM --------------------------------------- <BR>code segment <BR> assume cs:code,ds:code <BR>.386p <BR>start proc near <BR> jmp next <BR>gdtadds dw 002fh,0000h,0000h <BR>gdttab db 000h,000h,000h,000h,000h,000h,000h,000h ;00 Null <BR> db 0ffh,0ffh,000h,000h,000h,09bh,000h,000h ;08 PRG Seg <BR> db 0ffh,0ffh,000h,000h,000h,093h,08fh,000h ;10 Dos=Page <BR> db 0ffh,0ffh,000h,000h,000h,089h,000h,000h ;18 TSSltr <BR> db 0ffh,0ffh,000h,000h,000h,089h,000h,000h ;20 TSSjmp <BR> db 0ffh,003h,000h,000h,000h,093h,000h,000h ;28 Stack (1K) <BR> <BR>tssltr dd 00000000h <BR> dd 000003ffh ;ESP <BR> dw 0028h,0000h ;SS.0 <BR> dd 0,0,0,0,0 <BR> dw offset enter_v86,0000h ;EIP <BR> dd 00000200h ;EFlag <BR> dd 0,0,0,0 <BR> dd 000003ffh ;ESP <BR> dd 0,0,0 <BR> dw 0010h,0000h ;ES.0 <BR> dw 0008h,0000h ;CS.0 <BR> dw 0028h,0000h ;SS.0 <BR> dw 0010h,0000h ;DS,0 <BR> dw 0010h,0000h ;FS.0 <BR> dw 0010h,0000h ;GS.0 <BR> dw 0000h,0000h ;LDT.0 <BR> dw 0000h,0068h ;0.IOMAP <BR> dw 0ffffh <BR> <BR>tssjmp dd 00000000h <BR> dd 000003ffh ;ESP <BR> dw 0028h,0000h ;SS.0 <BR> dd 0,0,0,0,0 <BR> dw offset enter_v86,0000h ;EIP <BR> dd 00000000h ;EFlag <BR> dd 0,0,0,0 <BR> dd 000003ffh ;ESP <BR> dd 0,0,0 <BR> dw 0010h,0000h ;ES.0 <BR> dw 0008h,0000h ;CS.0 <BR> dw 0028h,0000h ;SS.0 <BR> dw 0010h,0000h ;DS,0 <BR> dw 0010h,0000h ;FS.0 <BR> dw 0010h,0000h ;GS.0 <BR> dw 0000h,0000h ;LDT.0 <BR> dw 0000h,0068h ;0.IOMAP <BR>iomap db 1000h dup (0) <BR> dw 0ffffh <BR> <BR>buffer1 db 0400h dup (0) ;Stack <BR> <BR>idtadds dw 07ffh,0000h,0000h <BR>idttab dw offset new_00,0008h,0ee00h,0000h,offset <BR>new_01,0008h,0ee00h,0000h <BR> dw offset new_02,0008h,0ee00h,0000h,offset <BR>new_03,0008h,0ee00h,0000h <BR> dw offset new_04,0008h,0ee00h,0000h,offset <BR>new_05,0008h,0ee00h,0000h <BR> dw offset new_06,0008h,0ee00h,0000h,offset <BR>new_07,0008h,0ee00h,0000h <BR> dw offset new_08,0008h,0ee00h,0000h,offset <BR>new_09,0008h,0ee00h,0000h <BR> dw offset new_0a,0008h,0ee00h,0000h,offset <BR>new_0b,0008h,0ee00h,0000h <BR> dw offset new_0c,0008h,0ee00h,0000h,offset <BR>new_0d,0008h,0ee00h,0000h <BR> dw offset new_0e,0008h,0ee00h,0000h,offset <BR>new_0f,0008h,0ee00h,0000h <BR> dw offset new_10,0008h,0ee00h,0000h,offset <BR>new_11,0008h,0ee00h,0000h <BR> dw offset new_12,0008h,0ee00h,0000h,offset <BR>new_13,0008h,0ee00h,0000h <BR> dw offset new_14,0008h,0ee00h,0000h,offset <BR>new_15,0008h,0ee00h,0000h <BR> dw offset new_16,0008h,0ee00h,0000h,offset <BR>new_17,0008h,0ee00h,0000h <BR> dw offset new_18,0008h,0ee00h,0000h,offset <BR>new_19,0008h,0ee00h,0000h <BR> dw offset new_1a,0008h,0ee00h,0000h,offset <BR>new_1b,0008h,0ee00h,0000h <BR> dw offset new_1c,0008h,0ee00h,0000h,offset <BR>new_1d,0008h,0ee00h,0000h <BR> dw offset new_1e,0008h,0ee00h,0000h,offset <BR>new_1f,0008h,0ee00h,0000h <BR> dw offset new_20,0008h,0ee00h,0000h,offset <BR>new_21,0008h,0ee00h,0000h <BR> dw offset new_22,0008h,0ee00h,0000h,offset <BR>new_23,0008h,0ee00h,0000h <BR> dw offset new_24,0008h,0ee00h,0000h,offset <BR>new_25,0008h,0ee00h,0000h <BR> dw offset new_26,0008h,0ee00h,0000h,offset <BR>new_27,0008h,0ee00h,0000h <BR> dw offset new_28,0008h,0ee00h,0000h,offset <BR>new_29,0008h,0ee00h,0000h <BR> dw offset new_2a,0008h,0ee00h,0000h,offset <BR>new_2b,0008h,0ee00h,0000h <BR> dw offset new_2c,0008h,0ee00h,0000h,offset <BR>new_2d,0008h,0ee00h,0000h <BR> dw offset new_2e,0008h,0ee00h,0000h,offset <BR>new_2f,0008h,0ee00h,0000h <BR> dw offset new_30,0008h,0ee00h,0000h,offset <BR>new_31,0008h,0ee00h,0000h <BR> dw offset new_32,0008h,0ee00h,0000h,offset <BR>new_33,0008h,0ee00h,0000h <BR> dw offset new_34,0008h,0ee00h,0000h,offset <BR>new_35,0008h,0ee00h,0000h <BR> dw offset new_36,0008h,0ee00h,0000h,offset <BR>new_37,0008h,0ee00h,0000h <BR> dw offset new_38,0008h,0ee00h,0000h,offset <BR>new_39,0008h,0ee00h,0000h <BR> dw offset new_3a,0008h,0ee00h,0000h,offset <BR>new_3b,0008h,0ee00h,0000h <BR> dw offset new_3c,0008h,0ee00h,0000h,offset <BR>new_3d,0008h,0ee00h,0000h <BR> dw offset new_3e,0008h,0ee00h,0000h,offset <BR>new_3f,0008h,0ee00h,0000h <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -