实验三 数据串传送和查表程序
所有实验电子版报告
实验报告
课程:汇编语言上机实验
专业:电子信息科学与技术
班级:11电子1班
学号:119050244098
姓名:徐睿昀
物理与电子信息学院
目录
实验一 DEBUG常用命令及8086指令使用 (1)
实验二内存操作数及寻址方法 (5)
实验三汇编语言程序上机过程 (10)
实验四数据串传送和查表程序 (13)
实验五屏幕字符显示程序 (19)
实验六屏幕字符显示程序 (23)
实验七分枝程序 (27)
实验八多重循环程序 (33)
实验九子程序 (37)
汇编语言程序设计实验报告1
学号:119050244098 姓名:徐睿昀实验日期:2013 10 20 实验名称:实验一 DEBUG常用命令及8086指令使用
实验目的:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG
2、DEBUG命令: A,D,E,F,H,R,T,U。
3、ASCII码及用16进制数表示二进制码的方法。
4、8086寄存器: AX,BX,CX,DX,F,IP。
实验内容:一、DEBUG 命令使用:
1、打 DEBUG 进入 DEBUG 控制,显示提示符 '_ '。
2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。
3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。
4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。
5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存
单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?
实验三 查表及串操作(信计)
实验三串操作及查表
一、实验目的:
掌握串操作及查表程序设计的方法,学会编写串操作及查表程序。
二、实验题目:
题目一:
(题6.8)编写程序,将字符串STING1的内容复制到字符串STRING2中。要求由子程序来实现字符串的复制,并采用寄存器来传递参数。
编程要求:
1)根据功能正确切分程序,并根据题意画流程图,将主程序和子程序分别画,使得程序思路清晰,便于根据流程图编写汇编程序。
2)在编写子程序后,要对子程序说明,子程序说明是为了更好的使用子程序,便于别人使用该子程序时了解子程序的功能和调用方法,子程序说明应包括:子程序名、功能、入口参数、出口参数、执行时间等。
3)在子程序中用到的寄存器,在执行子程序之前应保存,以免破坏
子程序以外的信息,执行完子程序再恢复原有信息。
编程提示:
参考例题:例5-15
1)串传送时采用串传送指令REP MOVSD。
2)用寄存器传递的参数:字符串STRING1和STRING2的首地址,字
符串STRING1的长度。
程序代码:
DATA SEGMENT
STRING1 DB 'duxuejie'
STRING2 DB ?
N EQU($-STRING1)/4
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV CX,N
CLD
MOV SI,OFFSET STRING1
MOV DI,OFFSET STRING1
MOV AX,DS
MOV ES,AX
MOV SI,OFFSET STRING1
实验 数据传送的实验报告
实验数据传送的实验报告
《数据传送的实验报告》
摘要:
本实验旨在探究不同数据传送方式对传输速度和稳定性的影响。通过比较直接连接、Wi-Fi连接和蓝牙连接三种传送方式的实际传输速度和稳定性,得出了数据传送的实验报告。
引言:
随着科技的不断发展,数据传送已成为我们日常生活中不可或缺的一部分。而不同的数据传送方式对传输速度和稳定性的影响也备受关注。因此,本实验旨在通过比较不同数据传送方式的实际传输速度和稳定性,为用户选择最适合的传输方式提供参考。
材料与方法:
1. 实验设备:笔记本电脑、智能手机
2. 实验软件:文件传输软件
3. 实验环境:室内、无干扰环境
4. 实验步骤:
a. 分别使用直接连接、Wi-Fi连接和蓝牙连接三种方式进行文件传输
b. 记录每种方式的传输速度和传输稳定性
c. 对比分析实验结果
结果与讨论:
经过实验测量和数据分析,得出以下结论:
1. 直接连接方式传输速度最快,但稳定性较差;
2. Wi-Fi连接方式传输速度较快,稳定性较好;
3. 蓝牙连接方式传输速度最慢,但稳定性较好。
结论:
根据实验结果,用户可根据实际需求选择最适合的数据传送方式。如果对传输
速度要求较高,可以选择直接连接方式;如果对传输稳定性要求较高,可以选
择Wi-Fi连接方式;如果对传输速度和稳定性都有一定要求,可以选择蓝牙连
接方式。
结语:
通过本实验,我们对不同数据传送方式的传输速度和稳定性有了更深入的了解,为用户选择合适的数据传送方式提供了参考。希望本实验报告能对相关领域的
研究和实践提供一定的帮助。
实验三数据传送子程序
数据传送子程序
一、实验目的
1, 熟悉MCS51单片机的使用方法,掌握RAM中的数据操作,掌握机器语言程序的输入,运行和调试方法。
2.掌握89C51外部RAM的数据操作,了解这两部分RAM存储器的特点和应用。
二、实验仪器
计算机一台,单片机实验箱一台,MCS51 仿真开发系统。
三、实验基本原理
1,51单片机具有既丰富的数据传送指令,能够实现多种数据传送操作,给程序设计带来了极大方便。
2,外部RAM的数据传送把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。
该程序流程图如下
四、实验内容、步骤
内容:在R2、R3中输入源首址(例如0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如1FFFH),运行程序,检查0000-1FFFH中内容是否和2000-3FFFH中内容完全—致。
步骤:
1·、在单片机仿真实验系统下输入源程序并存盘;
2、对源程序进行编译、链接形成目标代码,同时排除源程序
中的错误;
3、利用单步、连续运行或运行到光标所在行等方式进行程序
调试;
4、检查程序运行结果、打开并观察寄存器窗口数据,并进行析。
1.程序原代码如下:
ORG 07B0H
SE22: MOV DPL,R3
MOV DPH,R2 ;建立源程序首址
MOVX A,@DPTR ;取数
MOV DPL,R5
MOV DPH,R4 ;目的地首址
MOVX @DPTR,A ;传送
CJNE R3,#0FFH,LO42
INC R2
LO42: INC R3 ;源地址加1
CJNE R5,#0FFH,LO43
微机原理及接口技术实验报告
《微机原理与接口技术》
实验报告
姓名:
学号:
班级:
专业:电气工程及其自动化
学院:电气与信息工程学院
目录
实验一数据传送 (2)
实验二算术运算 (4)
实验三代码转换 (6)
实验四程序的基本结构 (9)
1、分支程序 (9)
2、循环程序 (13)
3、子程序 (16)
实验五中断实验(8259) (19)
实验六并行接口实验(8255) (25)
实验七定时器/计数器实验(8235) (31)
实验八D/A接口实验 (36)
实验九A/D接口实验 (40)
实验十串行通信实验 (43)
实验一数据传送
一、实验目的
1. 掌握与数据有关的不同寻址方式。
2. 继续熟悉实验操作软件的环境及使用方法。
二、实验设备
PC微机一台、TD-PIT + 或TD-PIT ++ 实验系统一套。
三、实验内容
本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
四、实验步骤
(1) 运行Tdpit 集成操作软件,编写实验程序。
(2) 编译连接无误后,进入调试环境,进行程序的调试。按F8 键单步
运行程序,执行完MOV DS,AX 语句后,观察DS 寄存器中出现的段地址。
如图1-1所示可以看出DS数据段中MSR源数据串"HELLO,WORLD!$"。
图1-1 进入调试环境
(3)继续单步运行程序,执行MOV ES,AX 语句后,可以看数据段出现的段地址,用同样的方法可以查看ES:0000 的数据。数据传输还没开始进行,
此时ES 段的数据为空,如图1-1所示。继续单步运行程序如图1-2可以看出数据正在逐渐的进入ES段中。
微机实验三 串操作
实验三串操作
一、实验目的
1.熟悉串操作指令的功能。
2.了解串操作指令的使用方法。
二、实验预习要求
1.复习8086指令系统中的串操作类指令。
2.按照题目要求在实验前编写好实验中的程序段。
三、实验任务
1.输入以下程序段并运行之,回答后面的问题。
CLD
MOV DI,1000H
MOV AX,55AAH
MOV CX,10H
REP STOSW
上述程序段执行后:
(1) 从DS:1000H开始的16个字单元的内容是什么?。
(2) (DI)= ?(CX)= ?,并解释其原因。
2.在上题的基础上,再输入以下程序段并运行之,回答后面的问题。
MOV SI,1000H
MOV DI,2000H
MOV CX,20H
REP MOVSB
程序段执行后:
(1)从DS:2000H开始的16个字单元的内容是什么?
55AAH
(2)(SI)=?(DI)=?(CX)= ?,并分析之。
SI=1020H,DI=2020H,CX=0000H
3.从DS:1000H开始存放有一个字符串”This is a string”,要求把这个字符串从后往前传送到DS:2000H开始的内存区域中(即传送结束后,从DS:2000H开始的内存单元的内容为”gnirts a si sihT”),试编写程序段并上机验证之。
assume cs:code,ds:datasg,ss:stack
datasg segment
db 'THIS IS A STRING'
db 1000 dup(1)
datasg ends
stack segment
dw 0,0,0,0,0,0,0,0
单片机实验报告
单片机与嵌入式系统
实验报告
一、软件模拟调试实验:
本部分实验内容主要为指令系统和汇编语言程序设计。采用软件模拟调试的方法,目的在于通过这些实验使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
实验一数据传送实验
实验目的
1、熟悉软件模拟调试环境。
2、掌握汇编语言程序设计的方法,加深对指令的理解。
3、学会软件模拟调试和察看、验证结果方法。
4、印证数据传送指令的功能、寻址方式以及PC指针、SP指针、DPTR指针、Ri指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。
实验步骤
1、进入调试软件环境,输入源程序;
2、汇编源程序;
3、用单步方式运行程序;
4、检查并记录各寄存器和存储单元内容的变化。
实验内容:
将8031内部RAM 40H—4FH单元置初值A0H—AFH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。
源程序清单:
ORG 0000H
RESET:AJMP MAIN
ORG 003FH
MAIN:MOV R0,#40H
MOV R2,#10H
MOV A,#0A0H
A1:MOV @R0,A
INC R0
INC A
DJNZ R2, A1
MOV R1,#10H
MOV R0, #50H
MOV R2, #10H
A3: MOV A, @R1
MOV @R0, A
INC R1
INC R2
DJNZ R2, A3
SJMP $
END
实验结果与分析:
数据传送实验报告
数据传送实验报告
数据传送实验报告
引言:
在当今信息时代,数据传送是我们日常生活中不可或缺的一部分。无论是通过互联网传输文字、图片、音频还是视频,还是通过无线电波传送电话信号,数据传送技术的发展对于我们的生活产生了巨大的影响。为了深入了解数据传送的原理和性能,我们进行了一系列的实验。
实验一:串行传送与并行传送的对比
在这个实验中,我们选择了串行传送和并行传送作为对比对象。首先,我们使用了两台计算机,一台作为发送端,一台作为接收端。我们分别通过串口和并口连接两台计算机,并编写了相应的程序来进行数据传送。
结果显示,串行传送相比并行传送,传输速度较慢。这是因为串行传送是按位逐个传输数据,而并行传送是同时传输多个位的数据。虽然串行传送的速度较慢,但它具有更好的可靠性和稳定性,因为每个位的传输都经过了严格的校验和纠错处理。
实验二:有线传输与无线传输的对比
在这个实验中,我们选择了有线传输和无线传输作为对比对象。我们使用了两台手机,一台作为发送端,一台作为接收端。通过有线连接和无线连接分别进行数据传输,并记录传输速度和传输质量。
结果显示,有线传输相比无线传输,传输速度更快。这是因为有线传输不受信号干扰和传输距离限制,而无线传输需要经过信号传播和接收的过程,容易受到干扰和信号衰减的影响。然而,无线传输具有更好的灵活性和便携性,适用
于移动设备和远程通信。
实验三:不同传输介质的对比
在这个实验中,我们选择了光纤传输和铜线传输作为对比对象。我们使用了两台计算机,一台作为发送端,一台作为接收端。通过光纤连接和铜线连接分别进行数据传输,并记录传输速度和传输质量。
实验三 数据串传送和查表程序
实验三数据串传送和查表程序
实验三数据串传送和查表程序
实验目的
通过实验掌握下列知识:
1、利用简化段定义方法实现程序结构定义;
2、利用DOS的21H号中断调用完成输入输出;
3、查表法和查表指令XLAT;
4、数据串传送指令MOVS及重复前辍REP;
5、掌握EQU和DUP伪指令的用法。
实验内容及步骤
一、利用查表方法显示内存单元的内容
1、编辑下列程序:
.model small
.stack
.data
str1 db 'ABCDEFGHIJ' ;待显示的内存区内容
str2 db 'Please input the number you will display:',10,13,'$'
.code
.startup
mov ah,9
mov dx,offset str2
int 21h ;显示STR2字符串的内容,即提示信息
mov ah,1
int 21h ;输入待显示的字符序号(0-9)
mov bx,offset str1
sub al,30h
xlat ;查STR1表,对应序号的字符ASCII码进入AL
mov dl,al
mov ah,2
int 21h ;显示对应字符
.exit 0
End
2、程序汇编通过后,在运行过程中输入0-9
的任意数字,显示STR1字符串中对应位置
的
字符。
3、在DEBUG环境中,用P命令调试执行该程序,
察看AL寄存器的变化情况及结果的输出,
分析其执行过程。
二、数据串传送程序
1、编辑下列程序:
.model small
.stack
.data
str1 db 'abcdefghijklmn' ;
源串定义
实验三 表的基本操作
实验三表的基本操作
一、实验目的
1.掌握表建立的方法以及修改表结构的方法。
2.掌握表中数据输入的方法。
3.掌握记录指针的移动方法。
4.掌握表的基本操作:追加、插入、修改、显示、删除和恢复记录。
5.掌握表中的数据访问控制方式。
6.掌握表的排序和索引及使用。
7.掌握多个工作区和多表的操作方法。
二、实验内容和步骤
1.创建自由表。
(1)创建学生情况表(xsqk.dbf)
表结构如下:
字段名类型宽度小数位索引 null
学号 C 8
姓名 C 8
性别 C 2
专业 C 12
出生日期 D 8
入学分数 N 3 0
团员 L 1
备注 M 4
照片 G 4
①在D盘创建学生管理文件夹,选择“工具/选项/文件位置”把该文件夹设为VFP的默认工作目录。
②选择“文件/新建/表/新建文件”,在“创建”对话框中的输入表名文本框输入“xsqk”,单击“保存”按钮。
③进入图1所示的表设计器,依次设置表的所有字段名字、类型、宽度和小数位数。最后单击“确定”按钮。
④系统提示现在录入记录吗,单击“是”,录入下面两条记录。
⑤录入两条记录完毕,选择“显示/浏览…”命令查看录入的两条记录。
⑥ 选择“查看/追加方式”命令,继续输入以下三条记录。
⑦ 选择“显示/表设计器”命令,或在命令窗口输入“MODIFY STRUCTURE ”,打开表设计器,修改表结构,在性别后加一字段籍贯(c,20)。
(2)创建课程表(kc.dbf )
① 表结构如下:
字段名 类型 宽度 小数位 索引 null 课程号 C 4 课程名 C 12
学分 N 1 0 先修课 C 10
串及其应用的实验报告
串及其应用的实验报告
串及其应用的实验报告
引言:
串是计算机科学中一种基本的数据结构,它由一系列字符组成,可以是字母、数字或其他符号。在计算机编程中,串常常用于存储和处理文本信息。本实验旨在通过实践操作,探索串的基本特性和应用。
实验一:串的创建和操作
1. 实验目的
通过编写程序,学习串的创建和操作方法。
2. 实验步骤
(1)使用编程语言创建一个空串。
(2)向串中添加字符,观察串的变化。
(3)使用串的长度函数,计算串的长度。
(4)使用串的比较函数,比较两个串的大小。
(5)使用串的连接函数,将两个串连接起来。
(6)使用串的截取函数,截取指定位置和长度的子串。
3. 实验结果
通过实验步骤的操作,我们成功创建了一个空串,并向其中添加了字符。使用长度函数计算出了串的长度,并使用比较函数比较了两个串的大小。通过连接函数,我们将两个串连接成了一个新的串。最后,使用截取函数,我们截取了指定位置和长度的子串。
实验二:串的模式匹配
1. 实验目的
通过实验操作,了解串的模式匹配算法。
2. 实验步骤
(1)使用编程语言实现串的模式匹配算法。
(2)创建一个主串和一个模式串。
(3)使用模式匹配算法,在主串中查找模式串的位置。
3. 实验结果
通过实验步骤的操作,我们成功实现了串的模式匹配算法。创建了一个主串和一个模式串,并使用算法在主串中找到了模式串的位置。
实验三:串的应用——文本编辑器
1. 实验目的
通过实验操作,熟悉串的应用——文本编辑器。
2. 实验步骤
(1)使用编程语言实现一个简单的文本编辑器。
(2)实现文本插入、删除和替换功能。
MCS51单片机实验及课程设计指导书
MCS—51单片机实验及课程设计指导书
杨打生王忠远康瑞芳
内蒙古电子信息职业技术学院
2006.3
目录实验
实验一:WAVE软件使用
实验二:常用指令的使用练习
实验三:循环程序
实验四:查表程序
实验五:数制转换程序
实验六实用子程序:(编程器的使用)
实验七:输入检测与输出显示程序
实验八:中断/定时程序
课设
一、课程设计目的和意义
二、实验电路系统的结构和使用方法
三、设计参考题目介绍和设计提示性思考题
四、设计任务书及要求
五、课程设计报告格式及要求
六、考核办法
七、课程设计内容及学时安排
实验一:WAVE软件使用
一、预习内容
1、试验目的:学习WAVE软件安装和基本使用。
2、WAVE软件的安装
选择WAVE文件夹下的SETUP.EXE文件并双击接着下一步最后到完成。
3、安装后写出软件窗口中工具栏中各按钮的名称。
参考说明书
4、写出下面二实例各条指令的含义
二、试验内容
实例一指令的含义
ORG 0000H
MOV R0,#01H
L1: MOV A,R0
MOV P0,A
INC R0
AJMP L1
END
实例二
ORG 0000H 指令的含义
MOV R0,#01H
L2: MOV A,R0
MOV P2,A
RL A
MOV R0,A
LJMP L2
END
1、打开WAVE见面,新建一个文件后输入实例一程序内容,并保存在我的文档名为A1.ASM ,执行编译按钮或项目菜单中的编译
2、编译后,如正确扫描过去,不正确提示出错信息修改后再编译直到不提示错误为止。
3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。
4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口就并排在整个屏幕。
查表程序设计
例1 将l位十六进制数转换为ASCII码。
解: 在前面的例子中,我们介绍了将ASCII码转换为十六进数的程序,本例是 其逆变换。这里采用查表的方法完成十六进制数到ASCII码的转换。
建立一个表格,首先确定表格的首地址,在相对于表首的地址单元中存放ASCII 码。设十六进制存放在R0中,转换结果存放在R1中。程序为:
解: 设电压测量值X放在R2、R 3中(10位二进制数占两个字节),求出的温 度仍放R2、R3中(也是双字节数)。与X值的对应的温度放在地址为2X加 表格的首地址的单元中。
…
程序为:
MOV MOV CLR RLC MOV XCH RLC XCH ADD MOV MOV ADDC MOV CLR INC
;取出入口地址第一个字节
LNF:
LEND: TAB:
INC
DPTR
INC
DPTR
SJMP LOOP
(查不到处理程序)
DB
‘A’
DW
XA
DB
‘D’
DW
XD
DB
‘E’
DW
XE
DB
‘L’
DW
XL
DB
wenku.baidu.com
‘M’
DW
XM
DB
‘X’
;继续查
单片机原理及应用技术
DPTR, #TAB
实验三 数据区传送子程序
单片机原理及其接口技术实验报告
实验三:数据区传送子程序
学院:基础与信息工程学院专业:电子信息工程专业学号:姓名:日期:
一.实验目的:
1、掌握51汇编程序书写、编译。
2、熟悉51指令的运用。
3、掌握内51中子程序调用方法。
二.实验要求:
1、编写子程序:将7000H单元开始的二进制代码数据转移到20H
开始的内RAM单元,数据为00H时结束转移。
2、在主程序中调用子程序。
三.实验流程图及源程序:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
ACALL HASC
SJMP $
HASC: PUSH PSW
PUSH ACC
PUSH 00H
PUSH DPL
PUSH DPH
MOV DPTR,#7000H
MOV R0,#20H LOOP: MOVX A,@DPTR
JZ NEXT
MOV @R0,A
INC R0
INC DPTR
SJMP LOOP NEXT: POP DPH
POP DPL
POP 00H
POP ACC
POP PSW
RET
END
四.心得体会:
1.学会了使用ACALL addre11指令,了解了子程序的调用。
2.通过参照课本上的例子,加深了对课本上程序的理解。
3.实验时总有些不理解的部分,还要多多看书了解。
汇编语言上机实验
实验四 屏幕字符显示程序
二、实验内容及步骤
直接向VRAM送ASCII码显示字符 1、用A命令在100H处键入下列程序: MOV AX,B000 MOV DS,AX XORAL,AL XORBX,BX MOV CX,100 LOP: MOV [BX],AL INC BX INC AL PUSH CX MOV CX,8 DELY: PUSHCX MOV CX,0 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20 2、用N命令和W命令将此程序存入BB.COM文件中。(一定要先存入!) 3、用G命令运行此程序,仔细观察每一个ASCII码显示结果,并和字符表及上一道程序运行情况进行对照,其控制字符区(070DH)显示结果和INT 21H2号功能调用有何不同?
实验三 数据串传送和查表程序
二、实验内容及步骤
利用查表方法把DX的内容(16进制数)转换成ASCII码: 1、用A命令键入下列程序: MOV BX,1000 MOV DI,2000 MOV CX,4 LOP: PUSH CX MOV CL,4 ROL DX,CL POP CX MOV AL,DL AND AL,OF XLAT CLD STOSB LOOP LOP INT 20 2、用A命令在1000H处键入下列ASCII码并用D命令检查之: DB `0 1 2 3 4 5 6 7 8 9 A B C D E F' 用D命令检查时注意左边的ASCII码值和右边的字符。 3、用R命令给DX送一个四位的16进制数(例7F8E)。 4、用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检 查) 5、用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。可注意屏幕右边的ASCII字符 与DX是否一致。
实验3 数据块传送实验程序设计实验
实验3 数据块传送实验程序设计实验
一、实验目的
㈠学习和掌握DSP汇编语言程序的基本结构。
㈡熟悉和掌握常用的数据传送类指令。熟练掌握数据块传送的方法。
二、实验原理
数据传送的常用指令
数据存储器←→数据存储器: MVDK Smem,dmad
MVKD dmad,Smem
MVDD Xmem,Ymem
数据存储器←→MMR: MVDM dmad,MMR
MVMD MMR,dmad
MVMM mmr,mmr
程序存储器←→数据存储器 MVPD Pmad,Smem
MVDP Smem,Pmad
READA Smem
WRITA Smem
Smem——数据存储器的地址;Pmad——16位立即数程序存储器地址;MMR——任何一个存储映象寄存器;Xmem,Ymem——双操作数数据存储器地址;dmad——16位立即数数据存储器地址;
数据传送指令是最常用的一类指令,与RPT指令相结合,可以实现数据块传送。例如,在系统初始化过程中,可以将数据表格与文本一道驻留在程序存储器中,复位后通过程序存储器到数据存储器的数据块传送将数据表格传送到数据存储器,从而不需要配制数据ROM,使系统的成本降低。另外,在数字信号处理(如FFT)时,经常需要将数据存储器中的一批数据传送到数据存储器的另一个地址空间等等。
三、实验内容
阅读实验程序example,上机运行程序后,查看:
㈠检查程序存储器(PM)E000H~E01DH空间中的内容,检查程序存储器(PM)FF80H~
FF83H空间中的内容。
㈡数据存储器(DM)60H~69H(.bss)空间中的内容是什么?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:xxx 班级:xxx 姓名:xxx
实验三数据串传送和查表程序
实验目的:
通过实验掌握下列知识:
1、堆栈。堆栈指示器SP和堆栈操作指令PUSH。POP。
2、段寄存器和物理地址计算。
3、查表法和查表指令XLAT。
4、数据串传送程序和数据串传送指令MOVS。STOS及重复前辍REP。
5、循环指令ROL。逻辑与指令AND和清方向位指令CLD。
6、伪操作指令DB。
实验内容及步骤:
一、利用查表方法把DX的内容(16进制数)转换成ASCII码:
1、用A命令键入下列程序:
MOV BX,1000
MOV DI,2000
MOV CX,4
LOP: PUSH CX
MOV CL,4
ROL DX,CL
POP CX
MOV AL,DL
AND AL,OF
XLAT
CLD
STOSB
LOOP LOP
INT 20
2、用A命令在1000H处键入下列ASCII码并用D命令检查之:
DB `0 1 2 3 4 5 6 7 8 9 A B C D E F'
用D命令检查时注意左边的ASCII码值和右边的字符。
3、用R命令给DX送一个四位的16进制数(例7F8E)。
4、用T命令逐条运行这程序到LOOP指令处,观察并记录每次运行结果,特别是SP和堆栈内容(用D命令检查)
5、用G命令将此程序运行到结束,并用D命令检查2000H处所转换的结果。可注意屏幕右边的ASCII字符与DX是否一致。
二、数据串搬家程序:
1、用A命令键入下列程序:
MOV SI,1000
MOV DI,1500
MOV CX,0F
LOP: MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
LOOP LOP
INT 20
2、用A命令DB伪指令在1000H键入下列字符串:
‘IBM_PC COMPUTER'
3、用G命令运行此程序,并用D命令检查目的地址处的字符与源串是否一致。
4、若此程序中的目的地址改为1002H,再运行此程序,看能不能把1000H开始的
字符串搬到1002H开始的地方去?修改程序以做到这一点。
MOV SI,1000
MOV DI,1500
MOV CX,0F
LOP: MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
LOOP LOP
MOV SI,1500
MOV DI,1002
MOV CX,0F
LOP: MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
LOOP LOP
INT 20
三、段寄存器概念及字符串传送指令练习:
1、用A命令键入下列程序:
MOV SI,0
MOV DI,0
MOV AX,1000
MOV DS,AX
MOV AX,1500
MOV ES,AX
MOV CX,0F
CLD
REP MOVSB
INT 20
2、用A命令DB伪指令在1000:0000处键入字符串'IBM_PC COMPUTER',并用D命检查之
3、用D命令检查0F00:1000处内容,看是否一样。为什么?
他们是同一个物理地址。
4、用G命令运行此程序,检查目的地址1500:0000处内容。并记下DS与ES值。
5、修改此程序,使ES与DS为同一值,以减少一条指令,而源物理地址和目的物理地址(是多少?)仍和原来一样。
MOV SI,0
MOV DI,5000
MOV AX,1000
MOV DS,AX
MOV ES,AX
MOV CX,0F
CLD
REP MOVSB
INT 20
DS:SI 1000:0000
ES:DI 1000:5000
实验报告要求:
1、各项实验记录和思考题。
2、要求你修改的程序的清单(修改后)和调试记录。