计算机综合实践报告
四川大学网络教育学院
实践课程报告
实践课程 计算机综合实践报告
校外学习中心 天津市劳动经济学校
专 业 电气工程及其自动化
层 次 专升本
年 级 2010年春
学生姓名 郑楠
学 号 DH1101S1002
2012年 3 月 24 日
实验一 DEBUG调试工具熟悉、使用
一、 实验题目 熟悉、使用DEBUG调试工具
二、 实验日期:2011/04/15
三、 实验目的
1. 了解并逐步熟悉汇编语言的编辑方法及特点.
2. 复习8088汇编语言的段结构、常用的指令与伪指令、存储空间的分配等。
3. 掌握汇编语言的编辑、汇编及连接的过程。
4. 了解并逐步掌握运用DEBUG进行调试汇编语言程序。
5. 借助DEBUG调试工具来发现汇编语言程序的错误所在并加以改正。
四、 实验内容:
1、 进入DEBUG
方法1:在Windows开始菜单中单击运行命令,直接在运行对话框中输入"DEBUG"
方法2:在运行对话框中输入"CMD"启动DOS命令窗口后输入"DEBUG"
方法3:在程序、附件、命令提示符,启动DOS命令窗口后输入"DEBUG"
2、DEBUG命令格式
DEBUG的每个命令都是一个字母,后跟一个或多个参数。下面对DEBUG命令作几点说明。
·字母不分大小写。
·只使用16进制数,且不能带后缀H。
·以空格或逗号作为命令各项之间的分隔符。分隔符只在两个数值之间是必须的。
·可以用Ctrl-C或Ctrl-Break终止命令的执行。
·若输入的命令有语法错误,则提示“Error”,并用“^”指出错误位置。
3、 常用的Debug功能
用Debug的R命令查看、改变CPU寄存器的内容;
用Debug的D命令查看内存中的内容;
用Debug的E命令改写内存中的内容;
用Debug的U命令将内存中的机器指令翻译成汇编指令;
用Debug的T命令执行一条机器指令
用Debug的A命令以汇编指令的格式在内存中写了一条机器指令
4、 用Debug的R命令查看、改变CPU寄存器的内容;
R命令用来显示和修改寄存器的值,包括以下两种格式。
(1) R
显示所有寄存器和8个标志位的值,并反汇编CS:IP所指的指令。
(2) R<寄存器名>
显示指定寄存器的值,并等待用户键入新的值,按回车键结束R
命令。
5、 用Debug的D命令查看内存中的内容;
D命令可以查看内存中的内容,D命令的格式较多,只介绍本次实验中用到的格式,8086/8088CPU能够访问1M内容,D命令可以显示0000:0000H-FFFF:FFFFH中的任何一个单元的内存
如果想知道内存10000H处的内容,可以用"d 段地址:偏移地址"的格式来查看,如输入
-d 1000:0
使用 d 1000:9查看1000:9处的内容。
使用 d 1000:0 9查看1000:0-1000:9的内容
一进入Debug,可直接使用D命令直接查看,将列出Debug预设的地址处的内容
6、 用Debug的E命令改写内存中的内容;
使用"e 起始地址 数据 数据 数据..."的格式来进行
如将内存1000:0-1000:9单元中的内容分别写为0、1、2、3、4、
5、6、7、8、9
-e 1000:0 0 1 2 3 4 5 6 7 8 9
也可以采用提问方式一个一个修改内存中的内容,如
输入e 1000:0,按Enter键 输入修改的数据,再按空格键输入下一个要修改的数据,最后Enter键结束操作。
输入字符串的格式:如-e 1000:10 1 'a' 2 "c++" 3 "IBM"将
输入1 a 2 c++ 3 IBM到相应单元
向内容中写入机器码,如 b80100 (代表 mov ax, 0001), b90200(代表 mov cx, 002), 01c8(代表 add ax, cx),那么输入-e 1000:0 b8 01 00 b9 02 00 01 c8就将该程序输入内容1000:0处,然后使用u命令-u 1000:0可以将内存单元中的内容翻译成汇编指令。如果要执行该程序,首先用r命令将cs修改成1000,ip修改成0,再执行t命令,单步执行程序。执行T命令时,CPU执行CS:IP执行的指令并将IP加1.
7、 用Debug的A命令以汇编指令的形式在内存中写了机器指令 示例:用A命令,输入下列程序并运行
-a 1000:0
mov ax, 1
mov bx, 2
mov cx, 3
add ax, bx
add ax, cx
add ax, ax
直接按Enter键结果输入。用r命令将cs修改成1000,ip修改成0,再执行t命令,单步执行程序。执行T命令时,CPU执行CS:IP执行的指令并将IP加1.
实验二 设计汇编语言程序
一. 实验题目 设计汇编语言程序
二. 实验日期:2010/04/10
三. 实验目的
字符串统计程序设计
双字乘法程序设计
四. 实验内容
1. 字符串统计。
在数据段中建立一个缓冲区BUFFER,变量VER,编程使得程序具
有如下功能:从键盘输入一个子字符串存入VER,从键盘输入包含一个或几个子字符串的字符串存入BUFFER。统计BUFFER中的字符串含有多少个子字符串以及每个子字符串的位置。
2. 双字乘法程序。
设计一个程序实现32位带符号双精度数乘法运算。由于只有8位和16位的乘法指令。因此32位乘法运算是不能直接用指令实现的。但可以用16位乘法指令,通过 4次想乘然后把部分积想加。对于带符号数,可以先根据绝对值求得积。然后判断积的符号,若积为负数,应将其用补码表示。
五、 程序设计
1、字符串统计程序设计
#include<iostream>
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<<"总共有"<<b/2+c+d+e+f<<"个字符:"<<endl;
cout<<"中文"<<"\t"<<"英文"<<"\t"<<"空格"<<"\t"<<"数字"<<"\t"<<"其他"<<endl;
cout<<b/2<<"\t"<<c<<"\t"<<d<<"\t"<<e<<"\t"<<f<<endl;
return 0;
}
分别统计出英文字母,空格,数字和其他字符的个数。
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
mov z+4,ax
mov z+6,dx
mov ax,x
mul y+2
add z+4,ax …… 此处隐藏:3943字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




