四川大学网络教育学院 计算机综合实践报告(全部5个实验)(2)

2019-01-26 21:43

四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮

实验二 设计汇编语言程序

一. 实验题目 设计汇编语言程序 二. 实验日期:2013/12/17 三. 实验目的

字符串统计程序设计 双字乘法程序设计

四. 实验内容 1. 字符串统计。

在数据段中建立一个缓冲区BUFFER,变量VER,编程使得程序

具有如下功能:从键盘输入一个子字符串存入VER,从键盘输入包含一个或几个子字符串的字符串存入BUFFER。统计BUFFER中的字符串含有多少个子字符串以及每个子字符串的位置。

2. 双字乘法程序。

设计一个程序实现32位带符号双精度数乘法运算。由于只有8位和16位的乘法指令。因此32位乘法运算是不能直接用指令实现的。但可以用16位乘法指令,通过 4次想乘然后把部分积想加。对于带符号数,可以先根据绝对值求得积。然后判断积的符号,若积为负数,应将其用补码表示。 五、 程序设计

1、字符串统计程序设计 #include

四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮

using namespace std; int main() {

char a;int b=0,c=0,d=0,e=0,f=0; cout<<\请输入一行任意字符:\ a=cin.get(); while(a!='\\n') {

if(a<0||a>=128) b++;

else if(a>='a'&&a<='z'||a>='A'&&a<='Z') c++;

else if(a==' ') d++;

else if(a>='0'&&a<='9') e++; else f++; a=cin.get(); }

cout<<\总共有\个字符:\ cout<<\中文\英文\空格\数字\其他\

四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮

cout<

分别统计出英文字母,空格,数字和其他字符的个数。 2、双字乘法程序设计 data segment x dw 1,2;被乘数 y dw 3,4;乘数 z dw 4 dup (?);积 data ends code segment

assume ds:data,cs:code start: mov ax,data mov ds,ax mov ax,x mul y mov z,ax mov z+2,dx mov ax,x+2 mul y

四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮

mov z+4,ax mov z+6,dx mov ax,x mul y+2 add z+4,ax adc z+6,dx mov ax,x+2 mul y+2 adc z+8,ax adc z+10,dx adc z+12,0 mov ax,4c00h int 21h code ends end start

四川大学网络教育学院计算机综合实践报告 2012年秋电气专业罗欢潮

实验三 8253定时器/计数器接口与数字电子琴

一、 实验题目 8253定时器/计数器接口与数字电子琴 二、 实验日期:2013/12/18 三、 实验目的

改变定时器2的计数值来改变声音频率,通过编程来获得声调(频率)和节奏(延时长短),使计算机演奏出乐曲来。 四、 实验内容

设计程序让微机演奏一段简单乐曲

利用DOS的键盘管理功能。将微机变为一个具有简单功能的电子琴(选作)。 五、 程序设计 硬件设计

利用实验板上的8253计数/定时器和8255并行接口,定时器8253利用工作方式3产生一定频率信号,通过可编程的并行外围接口芯片8255控制频率信号的通断。

8255的A口设置为输出,8255的A口的低两位用来控制扬声器驱动,当输出端口的PA0位为“1”或为“0”时,将使控制驱动器的与门电路接通或关闭,使8253所发出的音频信号能到达驱动器或被阻断。这样通过控制PA0的变化,可使扬声器接通和断开,控制扬声器是否能发出声音。此外,通过控制PA0的通断时间,就能发出不同的音长。8255的PA1位为“1”时,控制8253定时器产生驱动扬声器发声的音频信号,该位为“0”则不发信号。8253有三个定时器,分为0号、1号和2号定时器,驱动扬声器的是0号定时器,该定时器


四川大学网络教育学院 计算机综合实践报告(全部5个实验)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: