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

📄 lyj.asm

📁 微机接口中用汇编语言实现的数字录音机,用到8255,8253等芯片
💻 ASM
字号:
DATA SEGMENT 
	BUF 	DB 60000 DUP (?)
	MESS1 	DB  'Press any key to start recording!',0DH,0AH,24H
	MESS2	DB 0DH,0AH,'Press any key to play(ESC to quit)',0DH,0AH,24H
	MESS3	DB 0DH,0AH,'Press space key to play again,'R'key to recode again(ESC to quit)',0DH,0AH,24H
DATA ENDS
CODE SEGMENT
	ASSUME CS:CODE,DS:DATA
START:	MOV AX,DATA
	MOX DS,AX
	
	MOV DX,28BH	              
	MOV AL,90H	             
	OUT DX,AL

	MOV DX,283H	             
	MOV AL,10H	          
	OUT DX,AL

RRR:
	MOV DX,OFFSET MESS1             
        MOV AH,09H                     
        INT 21H                        
WAIT1:	
        MOV AH,01H                     
	INT 21H                  
	                      
        CALL REC                     

	MOV DX,OFFSET MESS2             
        MOV AH,09
        INT 21H                        
WAIT2: 
        MOV AH,01H
	INT 21H
                       
        CMP AL,1BH
        JZ QUIT                       
        JMP WAIT2                     

PPP:	CALL PLAY                     
ASK:
        MOV DX,OFFSET MESS3             
        MOV AH,09H                     
        INT 21H                       

        MOV AH,01H                   
        INT 21H
        CMP AL,1BH                    
        JZ QUIT
        CMP AL,' '                     
        JZ PPP
        CMP AL,52H                   
        JZ RRR
        JMP ASK                      
QUIT:	
	MOV AH,4CH
	INT 21H

REC     PROC NEAR
	MOV DI,OFFSET BUF
	MOV CX,60000
LP:
        MOV AL,02H	               
        MOV DX,2B2H                    
        OUT DX,AL                   
	CALL DELAY                   

        MOV DX,2B2H
        IN AL,DX                     

        MOV [DI],AL                   
	INC DI                         
	
        LOOP LP                     
	RET                         
REC ENDP


PLAY    PROC NEAR
	MOV SI,OFFSET BUF
	MOV CX,60000
LP2:
        MOV DX,2B0H                 
	MOV AL,[SI]
	OUT DX,AL                  
	INC SI                        
	
        CALL DELAY                    
	LOOP LP2                   
	RET          
PLAY ENDP

DELAY   PROC NEAR
	MOV DX,280H                 
	MOV AL,200                   
	OUT DX,AL
WAITD:
        MOV DX,288H                    
	IN AL,DX                       
	TEST AL,01H 
	JZ WAITD
	RET
DELAY ENDP

CODE ENDS
END START

⌨️ 快捷键说明

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