汇编语言编写钢琴程序

汇编语言编写钢琴程序,第1张

data segment

f1 dw 524,588,660,698,784,880,988,1048

data ends

code segment

assume cs:code,ds:data

hhh proc near

mov dx,08ffh

mov cx,0ffffh

yyy:loop yyy

dec dx

jnz yyy

ret

hhh endp

start:mov ax,data

mov ds,ax

xxx: mov ah,1h

int 21h

cmp al,'1' 判断是否为数字1~8

jb over

cmp al,'8'

ja over

sub al,31h

mov bl,2

mul bl

mov ah,0 ax高8位为0

mov si,ax 保护AL于SI中,以待后用,作为参数传递

mov bx,f1[si]

mov ax,0000h

mov dx,0012h

div bx

mov bx,ax

mov dx,43h 控制字

mov al,0b6h

out dx,al 写入控制端口

mov al,bl

out 42h,al 先写低8位

mov al,bh

out 42h,al 后写高8位

in al,61h 读PB口当前状态

mov ah,al

or al,03h 使PB0、PB1均为1,打开与门

out 61h,al 接通扬声器

call hhh 调用 hhh

mov al,ah

and al,0fch 使PB0、PB1均为0,关闭与门

out 61h,al

jmp xxx

over:mov ah,4ch

int 21h

code ends

end start

while((ch=getche())!='q') 改成

while((ch=getchar())!='\0')

error C2146: syntax error : missing '' before identifier 'WCHAR'

语法错误,在'WCHAR'前丢失''

但我在你的源程序里没发现'WCHAR'

所以还有什么问题,我就不太清楚了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11949072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存