assume cs:code
date segment
db 9,8,7,4,2,0
date ends
code segment
start: mov ax,date
mov ds,ax
mov ax,0b800h
mov es,ax
s0: mov cx,6
mov bx,7d0h
mov si,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],0
call delay
mov byte ptr es:[bx+28],3ah
call delay
s: mov al,ds:[si]
out 70h,al
in al,71h
push cx
mov cl,4
mov ah,al
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov es:[bx],ah
mov es:[bx+2],al
inc si
add bx,6
pop cx
loop s
jmp short s0
delay:
push bx
push ax
push cx
mov bx,0
delay_s:
mov cx,0ffffh
delay_s0:
mov ax,bx
loop delay_s0
inc bx
cmp bx,9 ;9是主要影响延时的效果
jb delay_s
pop cx
pop ax
pop bx
ret
mov ax,4c00h
int 21h
code ends
end start
- [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
[ chinatree 发表于 2011-09-13 12:18 ]
Out 70h,al;定位内存地址
out 71h,al;修改它,Al内是你想修改成的内容,bcd码
[ 835984286 发表于 2011-09-13 18:57 ]
没反应哦,是保护模式哦
[ chinatree 发表于 2011-09-13 19:47 ]
你改过之后应该能看到,退出后可能会被系统改回来
[ chinatree 发表于 2011-09-13 19:47 ]
你改过之后应该能看到,退出后可能会被系统改回来,我在虚拟机下可以,保护模式下没试过
[ 835984286 发表于 2011-09-14 01:39 ]
那你也在虚拟模式试试呀,看看能不能解决