assume cs:code
code segment
db 512 dup (0)
show_f:
jmp short showmain
table dw offset func0,offset func1,offset func2
showmain:
push bx
mov bx,0
mov bl,ah
add bx,bx
call word ptr table[bx]
pop bx
iret
func0:
push ax
push cx
push es
push si
mov ax,0b800h
mov es,ax
mov si,0
mov ah,00000111b
mov al,32
mov cx,2000
func0_s:
mov es:[si],ax
add si,2
loop func0_s
pop si
pop es
pop cx
pop ax
ret
func1:
push si
push es
push bx
mov bx,0b800h
mov si,1
mov es,bx
mov cx,2000
func1_s:
and byte ptr es:[si],10001111b
or es:[si],al
add si,2
loop func1_s
pop bx
pop es
pop si
ret
func2:
push si
push es
push bx
mov bx,0b800h
mov es,bx
mov si,1
mov cx,2000
func2_s: and byte ptr es:[si],11111000b
or es:[si],al
add si,2
loop func2_s
pop bx
pop es
pop si
ret
show_fend: nop
start:
mov ax,cs
mov ds,ax
mov si,offset show_f
mov ax,0
mov es,ax
mov di,200h
mov cx,offset show_fend-offset show_f
cld
rep movsb
mov ax,0
mov ds,ax
mov word ptr ds:[0],200h
mov word ptr ds:[2],0
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