WEB开发网
开发学院软件开发汇编语言 V86模式切换程序 阅读

V86模式切换程序

 2008-04-28 09:32:23 来源:WEB开发网   
核心提示:386以上计算机从实模式进入虚拟86模式源码:.model small.386p.database_memory dd ?new_base dd 0new_base1 dd 0.codemov cs:psp_seg,dsmov ax,seg base_memorymov ds,axmov es,axmov ds,axi

386以上计算机从实模式进入虚拟86模式
源码:
.model small
.386p
.data
base_memory dd ?
new_base dd 0
new_base1 dd 0
.code
mov cs:psp_seg,ds
mov ax,seg base_memory
mov ds,ax
mov es,ax
mov ds,ax
int 12h
movzx eax,ax
shl eax,0ah
add eax,0fffh
and ax,0f000h
mov base_memory,eax ;eax
mov ah,88h
int 15h
add ax,400h
movzx eax,ax
shl eax,0ah
and ax,0f000h
mov bx,cs:psp_seg
mov es,bx
mov si,2ch
cmp bx,es:[si]
jb ignore
mov bx,es:[si]
ignore:
movzx ebx,bx
shl ebx,4
add ebx,0fffh
and bx,0f000h
mov ecx,base_memory ;ecx
sub ecx,ebx
sub eax,ecx
sub eax,010000h
mov new_base,eax
shr eax,4
mov new_base1,eax
call fill1_gdt
psp_seg dw ?
fill1_gdt proc near
movzx eax,ax
shl eax,4
mov ebx,eax
shr ebx,10h
add [si+2],ax
adc [si+4],bl
fill1_gdt endp
end

Tags:模式 切换 程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接