第一范文网 - 专业文章范例文档资料分享平台

实验一 汇编语言实验 (2)

来源:用户分享 时间:2020-06-21 本文由凉夜微暖 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验三 音乐程序

实验目的:

1、掌握PC机发音原理及音乐程序编制方法。 2、8086指令: IN,OUT,DIV,OR 实验内容:

一、发音程序。

1、用DEBUG输入下列程序:

MOV DX,4000H IN AL,61H AND AL,FCH

LOP: XOR AL,02H

OUT 61H,AL MOV CX,0140H

DEY: LOOP LOP

DEC DX JNE LOP INT 21H INT 20H

2、在DEBUG下运行此程序,改变延时时间常数,注意声音高低变化。 二、音乐程序。

1、输入,汇编,连接并运行下列程序: stacksg segment para stack

dw 32 dup(?)

stacksg ends datasg segment tiger db 0ah,0dh,'two tiger。$' tig_freq dw 2 dup(262,294,330,262)

dw 2 dup(330,349,392) dw 2 dup(392,440,392,349,330,262) dw 2 dup(294,196,262),0ffffh

tig_time dw 10 dup(25),50,25,25,50

dw 2 dup(12,12,12,12,25,25) dw 2 dup(25,25,50)

datasg ends codesg segment

assume cs:codesg,ds:datasg,ss:stacksg

start: mov ax,datasg

mov ds,ax lea dx,tiger mov ah,9 int 21h

lea si,tig_freq lea bp,ds:tig_time

5

call play mov ah,4ch int 21h

play proc freq: mov di,[si]

cmp di,0ffffh je end_ply mov bx,ds:[bp] call sound add si,2 add bp,2 jmp freq

end_ply: ret play endp sound proc

mov al,0b6h out 43h,al mov dx,14h mov ax,4f38h div di out 42h,al mov al,ah out 42h,al in al,61h mov ah,al or al,3 out 61h,al

wait: mov cx,5000 spkr_on: loop spkr_on

dec bx jnz wait mov al,ah out 61h,al ret

sound endp codesg ends

end start

2、修改程序,使它能演奏一首你所喜爱的歌曲。 3、若歌曲中有休止符,怎么办? 实验报告:

1、实验记录和体会。 2、自编程序。

6

实验四 键盘和窗口程序

实验目的:

1、掌握利用INT 16H 2号功能调用实行键盘输入的方法。 2、熟悉键盘的扫描码和ASCII码的关系。

3、掌握利用INT 10H功能调用实现窗口功能的方法。 实验内容:

一、键盘输入程序

1、程序:

PRO_NAM AGAIN: BINIHEX ROTATE: PRINT:

SEGMENT

ASSUME CS:PRO_NAM ORG 100H

MOV AH,0

INT 16H MOV BX,AX CALL BINIHEX MOV AH,2 MOV dl,20h INT 21H MOV DL,BL MOV AH,2 INT 21H MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H JMP AGAIN INT 20H

PROC NEAR

MOV CH,4

MOV CL,4

ROL BX,CL MOV AL,BL AND AL,0FH ADD AL,30H CMP AL,3AH JL PRINT ADD AL,7

MOV DL,AL

MOV AH,2 INT 21H DEC CH

7

JNZ ROTATE RET

BINIHEX ENDP PRO_NAM ENDS

END AGAIN

2、输入,汇编,连接此程序,并将它转变成。COM文件。

3、运行此程序,观察并记录各个键的扫描码,ASCII码及对应字符。 二、窗口程序:

1、程序: code segment

assume cs:code,ss:code org 100h

start: mov ax,600h

mov cx,0 mov dx,184fh mov bh,7 int 10h

pos: mov ah,2

mov dx,101eh mov bh,0 int 10h mov cx,20

get: mov ah,1

int 21h cmp al,1bh jz exit loop get mov ax,601h mov cx,81eh mov dx,1031h mov bh,7 int 10h jmp pos

exit: int 20h code ends

end start

2、将此程序输入并转变成。COM文件。

3、运行此程序,观察按不同键所产生的效果。 4、此程序所产生的窗口效果有何缺陷?试修改之。 实验报告: 1、实验记录。 2、自编程序。

8

实验五 活动图形显示程序

实验目的:

1、掌握利用INT 10H实现活动图形的方法。 2、INT 10H 的 2号,6号,0AH号功能。 实验内容:

参考下列程序自编一活动的复合图形显示程序。 程序一 活动字符图形显示程序:

stack segment stack

db 256 dup(0)

stack ends code segment

assumecs: code,ss:stack

move: mov cx,0

mov dx,184fh mov bh,7 mov ax,0618h int 10h mov dx,0 mov cx,1 mov bh,0

rept: mov ah,2

int 10h mov ah,10 mov al,0fh int 10h call dely mov al,20h mov ah,10 int 10h inc dh inc dl inc dl cmp dh,25 jne rept mov ah,4ch int 21h

dely proc

push cx push dx mov cx,5

lop: mov dx,0 lop1: dec dx

jne lop1 loop lop

9

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育实验一 汇编语言实验 (2)全文阅读和word下载服务。

实验一 汇编语言实验 (2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1092205.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top