📄 test.asm
字号:
org 0x100
use16
start:
xor ax,ax
mov ds,ax
mov es,ax
GO:
xor ax,ax
int 16h
mov ah,0xe
mov al,'T'
int 0x10
;====================================
mov dx,0x177
mov cx,0xffff
gg1:
in al,dx
and al,0x80
jz a1
loop gg1
jmp GO
a1:
mov dx,0x176
mov al,0x0 ;
or al, 0EFh
out dx,al
call bsy_wait
mov dx,0x177
mov al,0xa0
out dx,al
call bsy_wait
call drq_wait
mov dx,0x170
mov si,packet
xor cx,cx
mov cx,0x6
cld
send_packet:
lodsw
out dx,ax
loop send_packet
mov dx,0x177
in al,dx
test al,0x01
jz circle
mov ah,0xe
mov al,'F'
int 0x10
circle:
jmp GO
bsy_wait:
pusha
mov dx,0x177
bsy_wait0:
in al,dx
test al,0x80
jnz bsy_wait0
popa
ret
drq_wait:
pusha
mov dx,0x177
drq_wait0:
in al,dx
test al,0x08
jz drq_wait0
popa
ret
packet:
db 0x1B
db 0x1
db 0x0
db 0x0
db 0x2 ;
db 0x0
db 0x0
db 0x0
db 0x0
db 0x0
db 0x0
db 0x0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -