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

📄 sy8-2.asm

📁 硬件电路测试参考数据包
💻 ASM
字号:
;       实验八  D/A转换实验      SY8-2.ASM

DACS    EQU     29CH

DATA    SEGMENT
MESS1   db	0dh,0ah,0dh,0ah
	DB      'Press 1 for sawtooth wave',0DH,0AH
	DB      'Press 2 for triangle wave',0DH,0AH
	DB      'Press 3 for square wave',0DH,0AH
	DB      'Press 4 for sin wave',0DH,0AH
	DB      'Press 5 to quit DOS',0DH,0AH,'$'
MESS2   db	0dh,0ah
	DB      'Please select again.',0DH,0AH,'$'
MESS3   db	0dh,0ah
	DB      'Press any key to quit main menu',0DH,0AH,'$'
SINBUF1 DB      080H,08CH,098H,0A5H,0B0H,0BCH,0C7H,0D1H
	DB      0DAH,0E2H,0EAH,0F0H,0F6H,0FAH,0FDH,0FFH
	DB      0FFH,0FDH,0FAH,0F6H,0F0H,0EAH,0E2H,0DAH
	DB      0D1H,0C7H,0BCH,0B0H,0A5H,098H,08CH,080H
	DB      7FH, 73H, 67H, 5AH, 4FH, 43H, 38H, 2EH
	DB      25H, 1DH, 15H, 0FH, 09H, 05H, 02H, 00H
	DB      00H, 02H, 05H, 09H, 0FH, 15H, 1DH, 25H
	DB      2EH, 38H, 43H, 4FH, 5AH, 67H, 73H, 7FH

SINBUF2 DB      128D,135D,141D,148D,155D,161D,167D,174D,180D,186D
	DB      192D,198D,203D,209D,214D,219D,223D,227D,231D,235D
	DB      239D,242D,245D,248D,250D,252D,253D,254D,255D
	DB           255D,254D,253D,252D,250D,248D,245D,242D,239D
	DB      235D,231D,227D,223D,219D,214D,209D,203D,198D,192D
	DB      186D,180D,174D,167D,161D,155D,148D,141D,135D,128D
	DB           121D,115D,108D,101D, 95D, 89D, 82D, 76D, 70D
	DB       64D, 58D, 53D, 47D, 42D, 37D, 33D, 29D, 25D, 21D
	DB       17D, 14D, 11D, 08D, 06D, 04D, 03D, 02D, 01D, 00D
	DB       00D, 01D, 02D, 03D, 04D, 06D, 08D, 11D, 14D, 17D
	DB       21D, 25D, 29D, 33D, 37D, 42D, 47D, 53D, 58D, 64D
	DB       70D, 76D, 82D, 89D, 95D,101D,108D,115D,121D

	DB           127D,126D,125D,124D,122D,120D,117D,114D,111D
	DB      107D,103D, 99D, 95D, 91D, 86D, 81D, 75D, 70D, 64D
	DB       58D, 52D, 46D, 39D, 33D, 27D, 20D, 13D, 07D, 00D
	DB       00D, 07D, 13D, 20D, 27D, 33D, 39D, 46D, 52D, 58D
	DB       64D, 70D, 75D, 81D, 86D, 91D, 95D, 99D,104D,107D
	DB      111D,114D,117D,120D,122D,124D,125D,126D,127D
DATA    ENDS

STAC    SEGMENT PARA STACK 'STACK'
STA     DB      20 DUP(?)
TOP     EQU     LENGTH STA
STAC    ENDS

CODE    SEGMENT
ASSUME  CS:CODE,DS:DATA,SS:STAC,ES:DATA
START:  MOV     AX,DATA
	MOV     DS,AX
	MOV     AX,STAC
	MOV     SS,AX
	MOV     AX,TOP
	MOV     SP,AX
BG:     LEA     DX,MESS1
	MOV     AH,09H
	INT     21H
	MOV     AH,08H
	INT     21H
	PUSH    AX
	LEA     DX,MESS3
	MOV     AH,09H
	INT     21H
	POP     AX
	MOV     AH,AL
	CMP     AL,'1'
	JZ      JCB
	MOV     AL,AH
	CMP     AL,'2'
	JZ      SJB
	MOV     AL,AH
	CMP     AL,'3'
	JZ      FB
	MOV     AL,AH
	CMP     AL,'4'
	JZ      ZXB1
	MOV     AL,AH
	CMP     AL,'5'
	JNZ     WX
	JMP     QIT
ZXB1:   JMP     ZXB
WX:     LEA     DX,MESS2
	MOV     AH,09H
	INT     21H
	JMP     BG
JCB:    MOV     DX,DACS
	MOV     AL,00H
BBB:    MOV     CX,0200H
BB:     OUT     DX,AL
	INC     DX
	OUT     DX,AL
	DEC     DX
	ADD     AL,01H
	CMP     AL,00H
	JNZ     BB
	LOOP    BB
	PUSH    AX
	PUSH    DX
	MOV     DL,0FFH
	MOV     AH,06H
	INT     21H
	JNZ     BG
	POP     DX
	POP     AX
	JMP     BBB
SJB:    MOV     DX,DACS
	MOV     AL,00H
EEE:    MOV     CX,0200H
EE:     OUT     DX,AL
	INC     DX
	OUT     DX,AL
	DEC     DX
	ADD     AL,01H
	CMP     AL,0FFH
	JNE     EE
FF:     OUT     DX,AL
	INC     DX
	OUT     DX,AL
	DEC     DX
	SUB     AL,01H
	CMP     AL,00H
	JNE     FF
	LOOP    EE
	PUSH    AX
	PUSH    DX
	MOV     DL,0FFH
	MOV     AH,06H
	INT     21H
	JNZ     BG2
	POP     DX
	POP     AX
	JMP     EEE
BG2:    JMP     BG
FB:     MOV     DX,DACS
	MOV     AX,0000H
HH:     OUT     DX,AL
	INC     DX
	OUT     DX,AL
	DEC     DX
	ADD     AH,01H
	CMP     AH,00H
	JNE     HH
	MOV     AL,0FFH
II:     OUT     DX,AL
	INC     DX
	OUT     DX,AL
	DEC     DX
	ADD     AH,01H
	CMP     AH,00
	JNE     II
	PUSH    AX
	PUSH    DX
	MOV     DL,0FFH
	MOV     AH,06H
	INT     21H
	JNZ     BG1
	POP     DX
	POP     AX
	MOV     AL,00H
	JMP     HH
BG1:    JMP     BG
ZXB:    MOV     DX,DACS
JJJ:    MOV     CX,50H
JJ:     LEA     SI,SINBUF2
	MOV     BL,116
KK:     MOV     AL,[SI]
	OUT     DX,AL
	INC     DX
	OUT     DX,AL
	DEC     DX
	INC     SI
	DEC     BL
	JNZ     KK
	LOOP    JJ
	PUSH    AX
	PUSH    DX
	MOV     DL,0FFH
	MOV     AH,06H
	INT     21H
	JNZ     BG3
	POP     DX
	POP     AX
	JMP     JJJ
BG3:    JMP     BG
QIT:    MOV     AX,4C00H
	INT     21H
CODE    ENDS
	END     START

⌨️ 快捷键说明

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