汇编音乐.docx
- 文档编号:8248513
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:38
- 大小:580.64KB
汇编音乐.docx
《汇编音乐.docx》由会员分享,可在线阅读,更多相关《汇编音乐.docx(38页珍藏版)》请在冰豆网上搜索。
汇编音乐
微机原理与接口技术
实验指导书
河南师范大学物理与信息工程学院
微机原理与接口技术实验室
目录
实验0将ASCII表示的十进制数转换为二进制数………………………1
实验一8086汇编语言程序设计初步………………………………………3
实验二8086汇编语言程序设计……………………………………………6
实验三DOS系统功能调用………………………………………………10
实验四8255A并行接口实验………………………………………………12
实验五8253定时器/计数器接口实验……………………………………16
实验六8259A中断控制器实验……………………………………………19
实验七步进电机控制实验…………………………………………………23
实验八电子琴的设计………………………………………………………26
实验九七段数码管实验……………………………………………………30
实验十3~8译码实验……………………………………………………31
实验十一A/D转换实验…………………………………………………32
实验十二D/A转换实验…………………………………………………34
附录:
实验报告模版…………………………………………………………35
微机原理与接口技术实验指导书
实验0将ASCII表示的十进制数转换为二进制数
一.实验目的:
观察ASCII表示的十进制与二进制的区别;
二.实验步骤:
(一)、输入源程序
1.建一个文本文档d.text。
输入程序把后缀名改成.asm的形式。
把该文件放在D盘masm文件下。
2.打开命令提示符。
3.输入D:
回车
4.cdmasm回车。
5.masmd.asm回车。
6.linkd.obj回车。
7.d.exe回车,生成exe可执行文件。
(二)、在3500-3504单元输入十进制数12的ASCII码,即E35003030303132
1.把生成的d.exe文件复制到D盘下。
2.debug回车
3.nd.exe回车
L回车
U0000回车
4.E3500回车
3030303132回车
(三)、用G运行程序
(四)、用D3510查看结果,应为:
35100C00
(五)、反复试几组数,考察程序的正确性
实验一8086汇编语言程序设计初步
一、实验目的
1、熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。
2、熟悉8086指令系统中一些常用指令的功能和使用。
3、学习数据传送和算术运算指令的使用方法。
二、实验内容
详细阅读汇编语言程序的上机过程。
试编写将两个多位十进制数相加程序,要求两个加数均以ASCII码形式各自顺序存在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
三、实验设备
1、微型计算机一台
2、EL-Ⅱ型微机原理实验开发系统一台
四、程序参考流程图
实验一参考程序清单
CRLF MACRO
MOV DL,0DH
MOV AH,02H
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
ENDM
DATA SEGMENT
DATA1 DB 33H,39H,31H,37H,34H
DATA2 DB 36H,35H,30H,38H,32H
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
STA DB 100 DUP(?
)
STACK ENDS
CODE SEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK,ES:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV SI,OFFSETDATA2
MOV BX,05
CALL DISPL
CRLF
MOV SI,OFFSETDATA1
MOV BX,05
CALL DISPL
CRLF
MOV DI,OFFSETDATA2
CALL ADDA
MOV SI,OFFSETDATA1
MOV BX,05
CALL DISPL
CRLF
MOV AX,4C00H
INT 21H
DISPL PROC NEAR
DS1:
MOV AH,02H
MOV DL,[SI+BX-1]
INT 21H
DEC BX
JNZ DS1
RET
DISPL ENDP
ADDA PROC NEAR
MOV DX,SI
MOV BX,05
AD1:
SUB BYTEPTR[SI+BX-1],30H
SUB BYTEPTR[DI+BX-1],30H
DEC BX
JNZ AD1
MOV CX,05
CLC
AD2:
MOV AL,[SI]
MOV BL,[DI]
ADC AL,BL
AAA
MOV [SI],AL
INC SI
INC DI
LOOP AD2
MOV SI,DX
MOV BX,05
AD3:
ADD BYTEPTR[SI+BX-1],30H
DEC BX
JNZ AD3
RET
ADDA ENDP
CODE ENDS
END START
实验二8086汇编语言程序设计
一、实验目的
1、熟悉8086指令系统,学习基本的8086汇编语言程序设计方法。
2、掌握提示信息的使用方法及8086串操作指令的使用方法。
3、初步掌握调试修改程序的方法。
二、实验内容
用串操作指令设计一个搜索关键字程序,实现在存储区(长度为100H)中寻找关键字空格字符(20H),退出时给出是否找到的信息。
三、实验设备
1、微型计算机一台
2、EL-Ⅱ型微机原理实验开发系统一台
四、编程提示
1、8086中用于字符串检索的指令为SCASB/SCASW,用AL中的字节或者AX中的字与位于ES段由DI寄存器所指的内存单元的字节或字相比较。
通过前缀的控制,可以实现在DI所指的字符串中,寻找第一个与AL(或AX)的内容相同的字节或字。
2、对于所有的串操作指令,都要注意方向标志的设置。
指令CLD使方向标志DF清0,SI和DI自动增量修改,指令STD使DF置1,SI和DI自动减量修改。
五、程序参考流程图
1、主程序参考流程图
2、子程序GETNUM参考流程图
实验二参考程序清单
CRLF MACRO
MOV DL,0DH
MOV AH,02H
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
ENDM
DATA SEGMENT
MESS1 DB ‘INPUTTHESEGMENTADDR:
$’
MESS2 DB ‘INPUTTHEOFFSETADDR:
$’
MESS3 DB ‘OK!
HASFOUND!
’,0DH,0AH,’$’
MESS4 DB ‘NOSPACECHARACTER!
’,0DH,0AH,’$’
ERROR DB ‘INPUTERROR!
’,0DH,0AH,’INPUTTHEADDR:
$’
DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’
STA DW 32DUP(?
)
STACK ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATA,ES:
DATA,SS:
STACK
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AH,09H
MOV DX,OFFSETMESS1
INT 21H
CALL GETNUM
MOV ES,DX
MOV AH,09H
MOV DX,OFFSETMESS2
INT 21H
CALL GETNUM
MOV DI,DX
CLD
MOV CX,0100H
MOV AL,20H
REPNZ SCASB
JNZ WWW
MOV AH,09H
MOV DX,OFFSETMESS3
INT 21H
JMP BBB
WWW:
MOV AH,09H
MOV DX,OFFSETMESS4
INT 21H
BBB:
MOV AX,4C00H
INT 21H
GETNUMPROC NEAR
XORDX,DX
GGG:
MOV AH,01H
INT 21H
CMP AL,0DH
JZ PPP
CMP AL,20H
JZ PPP
CMP AL,30H
JB KKK
CMP AL,39H
JBE G1
CMP AL,41H
JB KKK
CMP AL,46H
JBE G2
CMP AL,61H
JB KKK
CMP AL,66H
JA KKK
SUB AL,57H
GETS:
MOV CL,04H
SHL DX,CL
XORAH,AH
ADD DX,AX
JMP GGG
G1:
SUB AL,30H
JMP GETS
G2:
SUB AL,37H
JMP GETS
KKK:
CRLF
MOV AH,09H
MOV DX,OFFSETERROR
INT 21H
JMP GGG
PPP:
PUSH DX
CRLF
POP DX
RET
GETNUMENDP
CODE ENDS
END START
实验三DOS系统功能调用
一、实验目的
1、熟悉DOS系统功能调用(INT21H)的使用方法。
2、掌握从键盘上读取字符及字符串的方法和字符及字符串的显示方法。
3、了解小写字母和大写字母在计算机内的表示方法,并学会如何进行转换。
二、实验内容
1、设计将键盘输入的小写字母转换成大写字母程序。
接收键盘输入字符以∧─C(03H)为结束,并将其中的小写字母转变为大写字母,然后进行显示。
2、利用DOS系统功能调用实现人机对话。
根据计算机显示器上显示的提示信息,从键盘输入字符串并存入内存缓冲区。
三、实验设备
1、微型计算机一台
2、EL-Ⅱ型微机原理实验开发系统一台
四、程序参考流程图
参考程序清单
DATA SEGMENT
STR1 DB0DH,0AH,’INPUT:
$’
STR2 DB0DH,0AH,’OUTPUT:
$’
BUF DB 100 DUP (?
)
DATA ENDS
CODE SEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET BUF
T1:
MOV DX,OFFSET STR1
MOV AH,09H
INT 21H
MOV SI,0000H
T2:
MOV AH,01H
INT 21H
CMP AL,03H
JZ T5
CMP AL,0DH
JZ T4
CMP AL,61H
JB T3
CMP AL,7AH
JA T3
SUB AL,20H
T3:
MOV [BX+SI],AL
INC SI
JMP T2
T4:
MOV DX,OFFSET STR2
MOV AH,09H
INT 21H
MOV AL,’$’
MOV [BX+SI],AL
MOV AH,09H
MOV DX,BX
INT 21H
JMP T1
T5:
MOV AX,4C00H
INT 21H
CODE ENDS
END START
实验四8255A并行接口实验
一、实验目的
1、 了解8255A芯片的结构、功能及工作原理。
2、 掌握8086CPU与8255接口扩展方法,及通过8255A并行口传输数据的方法。
3、 握8255A初始化编程、及应用程序设计方法。
二、实验内容
利用8255A、74LS04、LED发光二极管设计交通信号灯自动控制系统,设计要求见编程提示。
编写控制程序,通过8255A控制发光二极管,(用8255A的A端口和B端口控制6个LED发光二极管的亮和灭,输出为1则亮,输出为0则灭)模拟交通信号灯的控制系统。
三、实验设备
1、微型计算机一台
2、EL-Ⅱ型微机原理实验开发系统一台
四、编程提示
1、要完成本实验,首先必须了解交通信号灯的燃灭规律。
设有一个十字路口,将L1、L3、L5作为东西方向的指示灯,L2、L4、L6作为南北方向的指示灯,初始态为两个方向的红灯全亮。
之后,东西路口的绿灯亮,南北路口的红灯亮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 音乐