📄 baohu.txt
字号:
mov si,offset msg_1 ;
mov ax,0018h ;将 0010:MSG_1 搬到 0018:0000
mov es,ax ;
mov di,0000h ;
mov ah,70h ;
mov cx,0011h ;
cld ;
L1 : ;
lodsb ;
stosw ;
loop L1 ;
NOP
mov eax,cr0 ;
and al,0feh ;
mov cr0,eax ;回到真实模式
jmp return_real_mode ;
return_real_mode : ;
sti
mov ax,cs ;
mov ds,ax ;
mov si,offset msg_2 ;
mov ax,0b800h ;
mov es,ax ;将 CS:MSG_2 搬到 B800:00A0
mov di,00a0h ;
mov ah,70h ;
mov cx,0012h ;
cld ;
L2 : ;
lodsb ;
stosw ;
loop L2 ;
mov ax,4cffh
int 21h
start endp
code ends
end start
--------------------------------------------------------------------------
因为保护模式下不能呼叫真实模式下的中断 ,所以笔者以直接填写显示卡记忆体
的方式秀字。这是一个简单、尚未使用中断向量表的范例。
注: 所谓一山不容二虎 ,如果已载入其它保护模式的程式 ,那本程式将会与它打架 ,
造成电脑当机。
┌————————┐
│进入虚拟 86 模式│ 为求精简 ,本程式毫无错误处理能力
└————————┘
------------------------ V86.ASM ---------------------------------------
code segment
assume cs:code,ds:code
.386p
start proc near
jmp next
gdtadds dw 002fh,0000h,0000h
gdttab db 000h,000h,000h,000h,000h,000h,000h,000h ;00 Null
db 0ffh,0ffh,000h,000h,000h,09bh,000h,000h ;08 PRG Seg
db 0ffh,0ffh,000h,000h,000h,093h,08fh,000h ;10 Dos=Page
db 0ffh,0ffh,000h,000h,000h,089h,000h,000h ;18 TSSltr
db 0ffh,0ffh,000h,000h,000h,089h,000h,000h ;20 TSSjmp
db 0ffh,003h,000h,000h,000h,093h,000h,000h ;28 Stack (1K)
tssltr dd 00000000h
dd 000003ffh ;ESP
dw 0028h,0000h ;SS.0
dd 0,0,0,0,0
dw offset enter_v86,0000h ;EIP
dd 00000200h ;EFlag
dd 0,0,0,0
dd 000003ffh ;ESP
dd 0,0,0
dw 0010h,0000h ;ES.0
dw 0008h,0000h ;CS.0
dw 0028h,0000h ;SS.0
dw 0010h,0000h ;DS,0
dw 0010h,0000h ;FS.0
dw 0010h,0000h ;GS.0
dw 0000h,0000h ;LDT.0
dw 0000h,0068h ;0.IOMAP
dw 0ffffh
tssjmp dd 00000000h
dd 000003ffh ;ESP
dw 0028h,0000h ;SS.0
dd 0,0,0,0,0
dw offset enter_v86,0000h ;EIP
dd 00000000h ;EFlag
dd 0,0,0,0
dd 000003ffh ;ESP
dd 0,0,0
dw 0010h,0000h ;ES.0
dw 0008h,0000h ;CS.0
dw 0028h,0000h ;SS.0
dw 0010h,0000h ;DS,0
dw 0010h,0000h ;FS.0
dw 0010h,0000h ;GS.0
dw 0000h,0000h ;LDT.0
dw 0000h,0068h ;0.IOMAP
iomap db 1000h dup (0)
dw 0ffffh
buffer1 db 0400h dup (0) ;Stack
idtadds dw 07ffh,0000h,0000h
idttab dw offset new_00,0008h,0ee00h,0000h,offset
new_01,0008h,0ee00h,0000h
dw offset new_02,0008h,0ee00h,0000h,offset
new_03,0008h,0ee00h,0000h
dw offset new_04,0008h,0ee00h,0000h,offset
new_05,0008h,0ee00h,0000h
dw offset new_06,0008h,0ee00h,0000h,offset
new_07,0008h,0ee00h,0000h
dw offset new_08,0008h,0ee00h,0000h,offset
new_09,0008h,0ee00h,0000h
dw offset new_0a,0008h,0ee00h,0000h,offset
new_0b,0008h,0ee00h,0000h
dw offset new_0c,0008h,0ee00h,0000h,offset
new_0d,0008h,0ee00h,0000h
dw offset new_0e,0008h,0ee00h,0000h,offset
new_0f,0008h,0ee00h,0000h
dw offset new_10,0008h,0ee00h,0000h,offset
new_11,0008h,0ee00h,0000h
dw offset new_12,0008h,0ee00h,0000h,offset
new_13,0008h,0ee00h,0000h
dw offset new_14,0008h,0ee00h,0000h,offset
new_15,0008h,0ee00h,0000h
dw offset new_16,0008h,0ee00h,0000h,offset
new_17,0008h,0ee00h,0000h
dw offset new_18,0008h,0ee00h,0000h,offset
new_19,0008h,0ee00h,0000h
dw offset new_1a,0008h,0ee00h,0000h,offset
new_1b,0008h,0ee00h,0000h
dw offset new_1c,0008h,0ee00h,0000h,offset
new_1d,0008h,0ee00h,0000h
dw offset new_1e,0008h,0ee00h,0000h,offset
new_1f,0008h,0ee00h,0000h
dw offset new_20,0008h,0ee00h,0000h,offset
new_21,0008h,0ee00h,0000h
dw offset new_22,0008h,0ee00h,0000h,offset
new_23,0008h,0ee00h,0000h
dw offset new_24,0008h,0ee00h,0000h,offset
new_25,0008h,0ee00h,0000h
dw offset new_26,0008h,0ee00h,0000h,offset
new_27,0008h,0ee00h,0000h
dw offset new_28,0008h,0ee00h,0000h,offset
new_29,0008h,0ee00h,0000h
dw offset new_2a,0008h,0ee00h,0000h,offset
new_2b,0008h,0ee00h,0000h
dw offset new_2c,0008h,0ee00h,0000h,offset
new_2d,0008h,0ee00h,0000h
dw offset new_2e,0008h,0ee00h,0000h,offset
new_2f,0008h,0ee00h,0000h
dw offset new_30,0008h,0ee00h,0000h,offset
new_31,0008h,0ee00h,0000h
dw offset new_32,0008h,0ee00h,0000h,offset
new_33,0008h,0ee00h,0000h
dw offset new_34,0008h,0ee00h,0000h,offset
new_35,0008h,0ee00h,0000h
dw offset new_36,0008h,0ee00h,0000h,offset
new_37,0008h,0ee00h,0000h
dw offset new_38,0008h,0ee00h,0000h,offset
new_39,0008h,0ee00h,0000h
dw offset new_3a,0008h,0ee00h,0000h,offset
new_3b,0008h,0ee00h,0000h
dw offset new_3c,0008h,0ee00h,0000h,offset
new_3d,0008h,0ee00h,0000h
dw offset new_3e,0008h,0ee00h,0000h,offset
new_3f,0008h,0ee00h,0000h
dw offset new_40,0008h,0ee00h,0000h,offset
new_41,0008h,0ee00h,0000h
dw offset new_42,0008h,0ee00h,0000h,offset
new_43,0008h,0ee00h,0000h
dw offset new_44,0008h,0ee00h,0000h,offset
new_45,0008h,0ee00h,0000h
dw offset new_46,0008h,0ee00h,0000h,offset
new_47,0008h,0ee00h,0000h
dw offset new_48,0008h,0ee00h,0000h,offset
new_49,0008h,0ee00h,0000h
dw offset new_4a,0008h,0ee00h,0000h,offset
new_4b,0008h,0ee00h,0000h
dw offset new_4c,0008h,0ee00h,0000h,offset
new_4d,0008h,0ee00h,0000h
dw offset new_4e,0008h,0ee00h,0000h,offset
new_4f,0008h,0ee00h,0000h
dw offset new_50,0008h,0ee00h,0000h,offset
new_51,0008h,0ee00h,0000h
dw offset new_52,0008h,0ee00h,0000h,offset
new_53,0008h,0ee00h,0000h
dw offset new_54,0008h,0ee00h,0000h,offset
new_55,0008h,0ee00h,0000h
dw offset new_56,0008h,0ee00h,0000h,offset
new_57,0008h,0ee00h,0000h
dw offset new_58,0008h,0ee00h,0000h,offset
new_59,0008h,0ee00h,0000h
dw offset new_5a,0008h,0ee00h,0000h,offset
new_5b,0008h,0ee00h,0000h
dw offset new_5c,0008h,0ee00h,0000h,offset
new_5d,0008h,0ee00h,0000h
dw offset new_5e,0008h,0ee00h,0000h,offset
new_5f,0008h,0ee00h,0000h
dw offset new_60,0008h,0ee00h,0000h,offset
new_61,0008h,0ee00h,0000h
dw offset new_62,0008h,0ee00h,0000h,offset
new_63,0008h,0ee00h,0000h
dw offset new_64,0008h,0ee00h,0000h,offset
new_65,0008h,0ee00h,0000h
dw offset new_66,0008h,0ee00h,0000h,offset
new_67,0008h,0ee00h,0000h
dw offset new_68,0008h,0ee00h,0000h,offset
new_69,0008h,0ee00h,0000h
dw offset new_6a,0008h,0ee00h,0000h,offset
new_6b,0008h,0ee00h,0000h
dw offset new_6c,0008h,0ee00h,0000h,offset
new_6d,0008h,0ee00h,0000h
dw offset new_6e,0008h,0ee00h,0000h,offset
new_6f,0008h,0ee00h,0000h
dw offset new_70,0008h,0ee00h,0000h,offset
new_71,0008h,0ee00h,0000h
dw offset new_72,0008h,0ee00h,0000h,offset
new_73,0008h,0ee00h,0000h
dw offset new_74,0008h,0ee00h,0000h,offset
new_75,0008h,0ee00h,0000h
dw offset new_76,0008h,0ee00h,0000h,offset
new_77,0008h,0ee00h,0000h
dw offset new_78,0008h,0ee00h,0000h,offset
new_79,0008h,0ee00h,0000h
dw offset new_7a,0008h,0ee00h,0000h,offset
new_7b,0008h,0ee00h,0000h
dw offset new_7c,0008h,0ee00h,0000h,offset
new_7d,0008h,0ee00h,0000h
dw offset new_7e,0008h,0ee00h,0000h,offset
new_7f,0008h,0ee00h,0000h
dw offset new_80,0008h,0ee00h,0000h,offset
new_81,0008h,0ee00h,0000h
dw offset new_82,0008h,0ee00h,0000h,offset
new_83,0008h,0ee00h,0000h
dw offset new_84,0008h,0ee00h,0000h,offset
new_85,0008h,0ee00h,0000h
dw offset new_86,0008h,0ee00h,0000h,offset
new_87,0008h,0ee00h,0000h
dw offset new_88,0008h,0ee00h,0000h,offset
new_89,0008h,0ee00h,0000h
dw offset new_8a,0008h,0ee00h,0000h,offset
new_8b,0008h,0ee00h,0000h
dw offset new_8c,0008h,0ee00h,0000h,offset
new_8d,0008h,0ee00h,0000h
dw offset new_8e,0008h,0ee00h,0000h,offset
new_8f,0008h,0ee00h,0000h
dw offset new_90,0008h,0ee00h,0000h,offset
new_91,0008h,0ee00h,0000h
dw offset new_92,0008h,0ee00h,0000h,offset
new_93,0008h,0ee00h,0000h
dw offset new_94,0008h,0ee00h,0000h,offset
new_95,0008h,0ee00h,0000h
dw offset new_96,0008h,0ee00h,0000h,offset
new_97,0008h,0ee00h,0000h
dw offset new_98,0008h,0ee00h,0000h,offset
new_99,0008h,0ee00h,0000h
dw offset new_9a,0008h,0ee00h,0000h,offset
new_9b,0008h,0ee00h,0000h
dw offset new_9c,0008h,0ee00h,0000h,offset
new_9d,0008h,0ee00h,0000h
dw offset new_9e,0008h,0ee00h,0000h,offset
new_9f,0008h,0ee00h,0000h
dw offset new_a0,0008h,0ee00h,0000h,offset
new_a1,0008h,0ee00h,0000h
dw offset new_a2,0008h,0ee00h,0000h,offset
new_a3,0008h,0ee00h,0000h
dw offset new_a4,0008h,0ee00h,0000h,offset
new_a5,0008h,0ee00h,0000h
dw offset new_a6,0008h,0ee00h,0000h,offset
new_a7,0008h,0ee00h,0000h
dw offset new_a8,0008h,0ee00h,0000h,offset
new_a9,0008h,0ee00h,0000h
dw offset new_aa,0008h,0ee00h,0000h,offset
new_ab,0008h,0ee00h,0000h
dw offset new_ac,0008h,0ee00h,0000h,offset
new_ad,0008h,0ee00h,0000h
dw offset new_ae,0008h,0ee00h,0000h,offset
new_af,0008h,0ee00h,0000h
dw offset new_b0,0008h,0ee00h,0000h,offset
new_b1,0008h,0ee00h,0000h
dw offset new_b2,0008h,0ee00h,0000h,offset
new_b3,0008h,0ee00h,0000h
dw offset new_b4,0008h,0ee00h,0000h,offset
new_b5,0008h,0ee00h,0000h
dw offset new_b6,0008h,0ee00h,0000h,offset
new_b7,0008h,0ee00h,0000h
dw offset new_b8,0008h,0ee00h,0000h,offset
new_b9,0008h,0ee00h,0000h
dw offset new_ba,0008h,0ee00h,0000h,offset
new_bb,0008h,0ee00h,0000h
dw offset new_bc,0008h,0ee00h,0000h,offset
new_bd,0008h,0ee00h,0000h
dw offset new_be,0008h,0ee00h,0000h,offset
new_bf,0008h,0ee00h,0000h
dw offset new_c0,0008h,0ee00h,0000h,offset
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -