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

📄 displayl.asm

📁 一个简单的汇编语言编制的发声程序 键盘输入1到8的数据串后回车  程序按音乐发声 9 退出程序
💻 ASM
字号:
TITLE displayl
data SEGMENT 
   bufferb  DB '?','$'
   bufferw  DW ?
   temp DB  ?
   show DB 'This is what you have said:','$'
     nl DB 'LTRD.txt',0
   sign DW ?
  count DW ?
  tabel DW 524,588,660,698,784,880,988,1048
data ENDS
stack SEGMENT stack'stack'
   sta DB 20 DUP(?)
   top EQU LENGTH sta
stack ENDS
code SEGMENT 
     ASSUME CS:code,DS:data,SS:stack
 start: MOV AX,data
        MOV DS,AX
        MOV AX,top
        MOV SP,AX
        PUSH DS
        XOR AX,AX
        PUSH AX
;24
        MOV DX, OFFSET show
        MOV AH,09h
        INT 21h

        MOV AH,0eh
        MOV AL,0ah
        INT 10h
        
        MOV DX,OFFSET nl
        MOV AH,3dh
        MOV AL,02h
        INT 21h 
        
       MOV sign,AX
       MOV BX,sign
       MOV CX,0000h
       MOV DX,0000h
       MOV AH,42h
       MOV AL,02h
        INT 21h
     
        MOV count,AX
        MOV CX,0000h
        MOV DX,0000h
        MOV AH,42h
        MOV AL,02h
        INT 21h
        MOV count,CX
 again :MOV count,CX
        MOV CX,0001h
        MOV DX,OFFSET bufferb
        MOV AH,3fh
        MOV BX,sign
        INT 21h
;58    
        JC finish
         
         MOV DX,OFFSET bufferb
         MOV AH,09h
         INT 21h
         MOV AL,bufferb
         SUB AL,31h
         JC n1
         CMP AL,9
         JNC n1
         SHL AL,01
         MOV BL,AL
         MOV AX,0000h
         MOV DX,12h
         MOV BH,00h
         DIV WORD PTR[tabel+BX]
         MOV BX,AX
         MOV AL,10110110b
         OUT 43h,AL
         MOV AX,BX
         OUT 42h,AL
         MOV AL,AH
         OUT 42h,AL
         IN AL,61h
         OR AL,03h
         OUT 61h,AL
         CALL delay
n1:       MOV CX,count
         LOOP again
          MOV AH,3eh
          INT 21h
   ;90   
      IN AL,61h
      AND AL,011111100b 
      OUT 61h,AL
finish :MOV AX,4c00h
        INT 21h
delay  PROC NEAR
       PUSH CX
       PUSH AX
       MOV AX,0fffh
  x1:  MOV CX,0ffffh
  x2:  DEC CX
       JNZ x2
       DEC AX
       JNZ x1
       POP AX
       POP CX
       RET
 delay ENDP
  code ENDS
  END start 
         
         
   

        

⌨️ 快捷键说明

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