某学院计算机综合实践9002doc 37页.docx
- 文档编号:1717813
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:31
- 大小:721.73KB
某学院计算机综合实践9002doc 37页.docx
《某学院计算机综合实践9002doc 37页.docx》由会员分享,可在线阅读,更多相关《某学院计算机综合实践9002doc 37页.docx(31页珍藏版)》请在冰豆网上搜索。
某学院计算机综合实践9002doc37页
(1)显示所有寄存器之中的内容:
输入R
我们重点关注AX、BX、CX、DX、CS及IP寄存器的内容,其他寄存器SP、BP、SI、DI、ES、SS及标志寄存器先不予理会。
此外,并列出了CS:
IP所指向的内存单元处所存放的机器码,并将它翻译为汇编指令。
(2)改变寄存器中的内容:
输入RAX
在提示符“:
”后输入1111,即可将AX的值设置为1111。
在输入R命令,查看修改后的寄存器值。
5.2D命令
作用:
查看指定范围内的内存中的内容
(1)直接输入D命令
DEBUG将输出3部分内容,查看执行结果。
说明:
●左边是每行的起始地址,用“XXXX:
YYYY”表示,其中XXXX表示内存单元的段地址,YYYY表示内存单元的偏移量;
●中间以十六进制的形式显示从指定地址开始的128个内存单元的内容,每行显示16个字节的内容;
●右边显示每个内存单元中的数据对应的可显示的ASCII码字符,若没有对应可显示的ASCII码字符,DEBUG用“.”来代替。
(2)执行带参数的D命令
若执行带参数的命令D,DEBUG将显示指定地址范围的内容。
带参数的方式有三种。
●方式一:
D起始位置
⏹DEBUG从起始位置开始显示128个字节的内容。
⏹输入命令:
D1AF5:
100
●方式二:
D起始位置结束位置
⏹DEBUG从起始位置开始一直显示到结束位置。
⏹输入命令:
DDS:
10011F
●方式三:
D起始位置L长度
⏹DEBUG命令从起始位置开始显示指定长度内容。
⏹输入命令:
DDS:
100L10
使用带参数的D命令后,接着使用D命令,可列出后续的128个内存单元的内容。
5.3E命令
格式:
E起始地址字节值表
或E起始地址
作用:
用值表中的值替换从“起始地址”开始的内存单元中的内容
例1:
将内存1000:
0~1000:
9单元中的内容分别写为0、1、2、3、4、5、6、7、8、9,可用“E起始地址数据数据数据数据数据……”的格式来进行。
步骤:
①用D命令查看1000:
0~1000:
f单元的内容:
D1000:
0f
②用E命令修改从1000:
0开始的10个单元中的内容:
E1000:
00123456789
③用D命令查看1000:
0~1000:
f单元中内容的变化:
D1000:
0f
例2:
用E命令向内存中写入字符。
从内存1000:
0开始写入:
数值1,字符“a”,数值2,字符“b”,数值3,字符“c”。
步骤:
①用D命令查看1000:
0处的内容:
D1000:
0
②用E命令输入:
E1000:
01‘a’2‘b’3‘c’
③用D命令查看1000:
0~1000:
f单元中内容的变化:
D1000:
0f
例3:
用E命令向内存中写入字符串。
从内存1000:
0开始写入:
数值1,字符串“a+b”,数值2,字符串“c++”,数值3,字符“IBM”。
步骤:
①用D命令查看1000:
0处的内容:
D1000:
0
②用E命令输入:
E1000:
01‘a+b’2‘c++’3‘IBM’
③用D命令查看1000:
0~1000:
f单元中内容的变化:
D1000:
0
例4用E命令以提问的方式来逐个地修改从某一地址开始的内存单元中的内容。
以从1000:
10单元开始为例。
步骤:
①用D命令查看1000:
10处的内容:
D1000:
10
②用E命令输入:
E1000:
10,按Enter键
③DEBUG将显示起始地址1000:
0010以及第一个单元(即1000:
0010单元)的原始内容:
00.,然后光标停在“.”的后面,提示输入想要写入的数据,此时有两种选择:
其一输入数据,完后按空格键,即用输入的数据改写当前的内存单元;其二不输入数据,直接按空格键,则表示不对当前内存单元进行改写
④当前单元处理完成后(不论是改写或者没有改写,只要按了空格键,就表示处理完成),DEBUG将显示下一个内存单元的原始内容,并提示进行修改,可以用同样的方法进行处理
⑤所有希望改写的内存单元改写完毕后,按ENTER键,E命令结束
⑥用D命令查看1000:
10单元中内容的变化:
D1000:
10
6实验任务
C:
\>debug
-F10017F00
-A100
0B3E:
0100MOVDL,01
0B3E:
0102MOVAH,02
0B3E:
0104INT21
0B3E:
0106INT20
0B3E:
0108
-NC:
\1ST.COM
-RBX
BX0000
:
-RCX
CX0000
:
8
-W100
Writing00008bytes
-Q
C:
\>
在dos下执行程序
C:
\>dir1st*.*
VolumeindriveCisNTFSCCCC
VolumeSerialNumberisFC03-2958
DirectoryofC:
\
2010-8-1818:
5181ST.COM
1File(s)8bytes
0Dir(s)1,080,619,008bytesfree
C:
\>1st
☺
C:
\>
方法一:
C:
\>DEBUG1ST.COM
-G=100
☺
Programterminatednormally
方法二:
C:
\>DEBUG
-NC:
\1ST.COM
-L100
-G=100
☺
Programterminatednormally
借助DEBUG调试工具来发现汇编语言程序的错误所在并加以改正。
7体会
这次实验,因为要自己去设计整个过程,所以就去了解学习自己原来并没有真正弄懂的东西。
比如一些程序的代码的意思,汇编语言的逻辑。
使我对前面所做的实验有了原理性的了解,回头看一些实验,也知其然其所以然了。
同时对课本上讲的一些内容,不再像以前那样觉得抽象,通过这次设计,有了具体的理解。
二、设计汇编语言程序
1实验目的
进行程序设计实验,掌握汇编语言程序。
实验包括对字符串统计程序进行设计;设计双字乘法程序设计;设计字符串统计程序设计双字乘法程序设计。
掌握宏汇编中的标号的使用
学会使用msam编写简单的程序
2预备知识
汇编语言程序设计是一门实践性很强的课程。
编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
在编译汇编程序后,需要进行调试,DEBUG.EXE是DOS提供的用于调试可执行程序的工具软件,是汇编语程序设计中常用的调试工具。
在DEBUG环境下,不但可以调试经汇编、连接生成的可执行程序,也可以编写简单的程序。
调试汇编语言程序,能使用户接触到计算机内部,允许用户直接观察和修改CPU的寄存器;能观察、修改内存单元;允许直接输入机器指令并单步执行;能反汇编程序。
可以说,debug是观察和了解计算机内部运行情况的有利助手。
3汇编语言源程序上机操作过程
3.1源程序上机过程流程图
开始
建立源文件
Y
有人工检查吗?
修改源程序
N
ASM文件存盘
调MASM程序
汇编源文件
Y
有语法错误?
N
调LINK程序,连接目标文件?
连接有错?
EXE文件存盘
用DELBUG查错
执行EXE文件
Y
结果有错?
N
结束
3.2实验步骤
1)编写一段代码(m.asm)功能是:
显示字符串
datasegmentmovax,num
numdw8072horax,ax
dataendsjnsdone
codesegmentnegax
assumecs:
code,ds:
datamovnum,ax
startprocfardone:
rte
pushdsstartendp
xorax,axcodeends
pushaxendstart
movax,data
movds,ax
2)在DOS提示符下键入:
对名为m.asmd的文件进行编译,连接生产.obj和.exe文件:
-cd..
-cd..
-cd\masm
-msam
-m
-linkt
-debugm.exe得到可执行文件后就可以直接调用可执行文件名,从盘上调到内存中运行。
程序及运行结果(或实验数据记录及分析)
3)编写一段代码(m.asm)功能是:
显示字符串
datasegmentlp3:
cmpax,64hmovdl,[bx+si]
sdb4dup(?
)movds,axadddl,30h
xdb?
jblp4int21h
dataendsincdlincsi
codesegmentsubax,64hlooplp7
assumecs:
code,ds:
datajmplp3movah,1
start:
movax,datalp4:
movs+1,dlint21h
movds,axmovdl,0movah,4ch
movbx,1lp5:
cmpax,0ahint21h
movax,0jblp6codeends
movcx,100incdlendstart
lop:
addax,bxsubax,0ah
incbxjmplp5
looploplp6:
movs+2,dl
movdl,0movs+3,al
lp1:
cmpax,3e8hmovbx,offsets
jblp2movsi,0
incdlmovah,2
subax,3e8hmovcl,4
jmplp1lp7:
movdi,[bx+si]
lp2:
movs,dlordi,30h
movdl,0
4)在DOS提示符下键入:
对名为m.asmd的文件进行编译,连接生产.obj和.exe文件:
-cd..
-cd..-msam-linkt
-cd\masm–m-debugm.exe
程序及运行结果(或实验数据记录及分析)
4体会
编写好一个程序后,要想在计算机中调试、运行,必须要有一个程序来支持程序的编辑、修改等操作。
这种支援程序叫编辑程序。
编辑程序有很多种,但按功能划分,主要有两大类。
一类是行编辑程序,如EDIT编辑程序;另一类是全屏幕编辑程序如QuickEdit(QE)。
行编辑程序功能较弱,不如全屏幕编辑程序方便、灵活。
在编辑汇编语言的源程序时,可以使用已熟悉的。
三、8253定时器/计数器接口与数字电子琴
[摘要]选择利用实验仪扬声器/PC机内8253驱动内扬声器改变定时器2的计数值来改变声音频率,通过编程来获得声调(频率)和节奏(延时长短),利用键盘1、2、3、4、5、6、7、8设计一个电子琴,通过按数字键响相应的乐符1、2、3、4、5、6、7、i,使能演奏简单的乐曲。
使计算机演奏出乐曲来。
1实验目的
检验和提高我在原理与接口综合应用方面分析问题与解决问题的能力,同时也给我提供更多、更好的训练机会。
根据设计要求,尽可能完成设计要求的功能,选择最合适的器件,构成最有效的硬件电路来完成。
2实验要求
选择利用实验仪扬声器/PC机内8253驱动内扬声器与键盘1、2、3、4、5、6、7、8设计一个电子琴,通过按数字键响相应的乐符1、2、3、4、5、6、7、i,使能演奏简单的乐曲。
3程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 某学院计算机综合实践9002doc 37页 学院 计算机 综合 实践 9002 doc 37
![提示](https://static.bdocx.com/images/bang_tan.gif)