⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h[1][1].asm.txt

📁 设计任务及要求 1. 以8255接八个开关K1~K8
💻 TXT
字号:
.model small
.data
info db 'out of Range,please enter a number again!',0dh,0ah,'$'
help db 'please enter a number !',0dh,0ah,'$'
number dw 524,588,660,698,784,880,988,1048
.stack
.code 
.startup
call init
agagin:
call select 
call sound
jmp again
.exit 0  ;可以通过ctrl+c结束
init proc near 
mov dx,63h
mov al,80h
out dx,al;8255 B端口输出
mov dx,43h
mov al,0b6h
out dx ,al ;8253 计数器2初始化
ret 
init endp 
select proc near 
mov ah,09h
mov dx,offset help
int 21h
flag :mov ah,01h
int 21h
cmp al,'1'
jb error
cmp al,'8'
ja error
sub al,30h
mov bx,offset number
mov bx,ds:[bx+al]
mov dx,12h
mov ax,34dch
div bx
jmp e
error : mov ah,09h
mov dx,offset info
int 21h
jmp flag
e:ret 
select endp
sound proc near 
mov dx,42h
out dx,al
mov al,ah
out dx,al  ;先写低字节后写高字节
mov dx,61h
in al,dx ;获得8255 PB0,PB1
mov ah,al
or al,3h
out dx,al ;设置PB0 PB1为1
delay:xor cx,cx
loop delay
mov al,ah
out dx,al ;恢复PB0 PB1
ret 
sound endp
end 




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -