- [835984286] 就是结果没问题,不知道有没有潜在的错误 09/18 23:03
- [835984286] 下载个dosbox效果不错 谁给个dos系统的iso给我呀,我也想装个dos虚拟机 邮箱:835 09/18 22:57
- [tily] dos环境是怎样配置的, 我的博文里有详细说明 09/18 13:55
- [stqcw] 你的这个 dos环境是怎样配置的 我在xp里面装的是masm615 但老是有问题 按下A键不松开 09/18 13:34
- [stqcw] 你的这个 dos环境是怎样配置的 我在xp里面装的是masm615 但老是有问题 按下A键不松开 09/18 13:32
- [chinatree] 貌似没有什么问题呀? 09/15 11:54
- [835984286] 最好能把缓冲区(键盘)的a字符给删掉就好了】 09/15 03:27
- [835984286] 那你也在虚拟模式试试呀,看看能不能解决 09/14 01:39
- [chinatree] 你改过之后应该能看到,退出后可能会被系统改回来,我在虚拟机下可以,保护模式下没试过 09/13 19:47
- [chinatree] 你改过之后应该能看到,退出后可能会被系统改回来 09/13 19:47
[2011-09-15 03:30] 按F1显示当前系统的时间,恳请指正错误与不足
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offset int9
cld
rep movsb
push es:[36]
pop es:[200h]
push es:[38]
pop es:[202h]
cli
mov word ptr es:[36],204h
mov word ptr es:[38],0
sti
mov ax,4c00h
int 21h
int9:
jmp short start1
db 9,8,7,4,2,0
start1: push si
push ax
push ds
push cx
push es
push bx
mov si,206h
mov ax,0
mov ds,ax
in al,60h
pushf
call dword ptr ds:[200h]
cmp al,3bh
jnz int9ret
mov ax,0b800h
mov es,ax
mov bx,0
mov byte ptr es:[bx+4],2fh
mov byte ptr es:[bx+10],2fh
mov byte ptr es:[bx+22],3ah
mov byte ptr es:[bx+28],3ah
mov cx,6
time:
push cx
mov al,ds:[si]
mov cl,4
out 70h,al
in al,71h
mov ah,al
and al,00001111b
shr ah,cl
add al,30h
add ah,30h
mov es:[bx],ah
mov es:[bx+2],al
add bx,6
inc si
pop cx
loop time
int9ret:
pop bx
pop es
pop cx
pop ds
pop ax
pop si
iret
int9end: nop
code ends
end start
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offset int9
cld
rep movsb
push es:[36]
pop es:[200h]
push es:[38]
pop es:[202h]
cli
mov word ptr es:[36],204h
mov word ptr es:[38],0
sti
mov ax,4c00h
int 21h
int9:
jmp short start1
db 9,8,7,4,2,0
start1: push si
push ax
push ds
push cx
push es
push bx
mov si,206h
mov ax,0
mov ds,ax
in al,60h
pushf
call dword ptr ds:[200h]
cmp al,3bh
jnz int9ret
mov ax,0b800h
mov es,ax
mov bx,0
mov byte ptr es:[bx+4],2fh
mov byte ptr es:[bx+10],2fh
mov byte ptr es:[bx+22],3ah
mov byte ptr es:[bx+28],3ah
mov cx,6
time:
push cx
mov al,ds:[si]
mov cl,4
out 70h,al
in al,71h
mov ah,al
and al,00001111b
shr ah,cl
add al,30h
add ah,30h
mov es:[bx],ah
mov es:[bx+2],al
add bx,6
inc si
pop cx
loop time
int9ret:
pop bx
pop es
pop cx
pop ds
pop ax
pop si
iret
int9end: nop
code ends
end start
评论次数(2) |
浏览次数(539) |
类型(默认类型) |
收藏此文 |