微机实验三 串操作
微机实验操作步骤

微机实验操作步骤1.检查实验箱串口是否和计算机串口COM1(有的计算机有两个COM口,请注意识别)相连,连接是否紧密,如果连接不紧密,请先关闭实验箱电源,如果已经检查无误,进入步骤2。
2.关闭实验箱电源,按照实验指导书的连线说明把连线连接好(连线前请先看清楚实验箱区域布局图),把线连接完毕后,再打开实验箱电源(主电源位于实验箱箱体右侧,电路板上的电源控制模块位于电路板右上角。
),进入步骤3(注意:实验箱电源处于打开状态时,不能做接线或者拆线动作!)。
3.实验箱通电后,箱上中部下方的液晶屏出现两排方形黑色框框,表明实验箱没有启动,这时需要按实验箱的按钮S01(该按钮位于液晶屏上方文字“中断模块”的上方,如下图),按下不放若干秒后松开,松开稍等,液晶屏会有英文提示出现,表明实验箱开始初始化,如果液晶屏没有变化,重复按S01,直到液晶屏出现英文提示后进入步骤4。
4.等待液晶屏显示提示字符串:“NOW COM IS STANDBY!”,然后再打开联机程序“湖北众友”(在没有出现“NOW COM IS STANDBY!”字样的时候,请先关闭联机程序)5.联机程序启动后,出现以下窗口,直接按确定按钮即可!6.如果出现以下窗口:说明以上某一步骤发生错误,这时,应该关闭实验箱电源,同时关闭联机软件,跳回步骤1进行重新操作!如果没有出现以上窗口,程序将进入汇编编程环境,说明硬件连接以及以上步骤都没有问题,可以进行输入汇编语言的工作。
7.在保存汇编程序的时候,应注意文件名不能用中文&空格,只能用英文、数字以及下划线组成的不超过8个字符的名字,并且文件的全路径不能含有中文&空格。
8.文件成功保存后,先执行【编译】、【编译、连接】,【编译、连接、装载】三个步骤。
如图:9.如果上述的【编译】、【编译、连接】,【编译、连接、装载】三个步骤都没有问题,那么将显示如下窗口:10.转载成功后,计算机已经把程序装载进实验箱上的芯片了,但程序还没有开始运行,需要按绿色的“全速运行”按钮控制实验箱开始运行程序。
微机原理实验三实验报告

实验3. 循环程序设计一、实验目的⒈掌握移位指令的使用方法。
⒉学会循环结构程序的编程方法。
⒊利用DEBUG调试程序查看循环程序循环过程中CS和IP的变化情况。
二、实验要求⒈编写程序并上机调试,记录运行结果。
⒉用DEBUG调试程序调试所编程序,查看并记录每条指令内存单元地址及执行结果(包括F标志寄存各位值。
)⒊注意观察并记录每条指令执行后CS和IP寄存器值变化情况,以加深对循环程序的概念的理解。
三、实验内容⒉编写统计15个学生数学学习成绩程序。
要求:分别统计出低于60分,60-69分,70-79分,80-89分,90-100分的人数,并存放到S5,S6,S7,S8,S9,S10对应内存单元中。
源程序代码;DATA SEGMENTDATA1 DB 55,60,65,88,67,70,75,80,77,85,90,66,95,53,100DATA2 DB 5 DUP(?)DATA ENDS;CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,15LEA SI,DATA1LEA DI,DATA2AGAIN:MOV AL,[SI]CMP AL,90JB NEXT1INC BYTE PTR[DI]JMP NEXT0NEXT1:CMP AL,80JB NEXT2INC BYTE PTR[DI+1]JMP NEXT0NEXT2:CMP AL,70JB NEXT3INC BYTE PTR[DI+2]JMP NEXT0NEXT3:CMP AL,60JB NEXT4INC BYTE PTR[DI+3]JMP NEXT0NEXT4:INC BYTE PTR[DI+4]NEXT0:INC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSEND START程序运行结果截图:四、实验总结本次实验掌握移位指令的使用方法。
微机原理实验操作步骤:微机原理实验联机运行步骤

微机原理实验联机运行步骤
1、开机进入DV88系统;
2、结合电路图并按实验内容正确连线;
3、用数据线连接计算机与试验箱;
4、打开程序;
5、按复位键(试验箱)后机箱显示“P.”,再按PCDBG
键(试验箱);
6、点击联接(计算机),随后点击一下屏幕中间的任意位
置;
7、再点击编译(计算机),若有错误则改正程序;
8、继续点击调试(计算机);
9、最后点击运行(此时屏幕显示OK),查看并记录运行
结果;
10、按复位键(试验箱),再按PCDBG键(试验箱),并
点击OK(计算机)退出实验。
查看存储器内容步骤:在实验步骤6后面,用右键点击数据窗口,然后输入要查看的地址,会显示相应地址下的内容。
计算机基础实验

实验一微机的基本操作一、实验目的1.学习正确启动与关闭计算机;2.了解计算机系统的硬件组成,熟练掌握主机、显示器、键盘和鼠标的连接操作;3.了解计算机当前所使用的为何种操作系统;4.了解键盘的布局,熟悉键盘的使用及基本指法;5.掌握鼠标的操作。
二、预备知识1.微机使用一般常识(1)计算机开机原则:首先打开外部设备的电源开关,再打开主机开关。
由于我们所使用的计算机一般都会连接显示器这个外部设备,所以我们开机时,先开显示器的开关,再开主机的开关,等候计算机启动就可以了。
(2)当微机接通电源时,绝对不允许带电插拔外部设备(键盘、鼠标、显示器信号线等、热插拔设备如U盘除外),必须时要先关断电源、再进行设备连接操作。
(3)不要频繁开关计算机。
关机后不要Array立即开机,要等待大约30秒后方可进行。
(4)计算机关机原则:与开机顺序相反,首先关闭主机开关,再关闭外部设备开关。
当我们上机结束时,如果想关闭计算机,由于计算机使用的是Windows操作系统,所以不能采用直接关闭计算机电源开关的方法关机。
在Windows状态下关闭计算机的正确方法是:使用鼠标单击【开始】菜单,选择【关闭计算机】,实验图1关闭Windows对话框打开如实验图1所示的对话框。
在此处如点击待机则可进入低耗电能的等待状态;点击关闭将关闭Windows,然后切断计算机的电源;点击重新启动则重新启动Windows。
2.鼠标鼠标是Windows下的主要控制、输入设备。
用于控制屏幕上的光标随着鼠标器的移动而移动,光标和鼠标器的移动方向是一致的,而且与移动的距离成正比例。
在Windows系统系统中,用户可以使用鼠标进行指针移动、单击、双击、拖动、选定等操作。
实验表1 鼠标基本操作3.软盘的使用及注意事项(1)软磁盘的使用插入时要注意正面朝上且方向正确,不要用力强推,以防损坏。
(2)软磁盘使用的注意事项:防磁、防折、防尘、防划、防潮湿等。
当磁盘读写时(读写指示灯亮且有读写声)不要插入或取出磁盘。
实验三 查表及串操作(信计)

实验三串操作及查表一、实验目的:掌握串操作及查表程序设计的方法,学会编写串操作及查表程序。
二、实验题目:题目一:(题6.8)编写程序,将字符串STING1的内容复制到字符串STRING2中。
要求由子程序来实现字符串的复制,并采用寄存器来传递参数。
编程要求:1)根据功能正确切分程序,并根据题意画流程图,将主程序和子程序分别画,使得程序思路清晰,便于根据流程图编写汇编程序。
2)在编写子程序后,要对子程序说明,子程序说明是为了更好的使用子程序,便于别人使用该子程序时了解子程序的功能和调用方法,子程序说明应包括:子程序名、功能、入口参数、出口参数、执行时间等。
3)在子程序中用到的寄存器,在执行子程序之前应保存,以免破坏子程序以外的信息,执行完子程序再恢复原有信息。
编程提示:参考例题:例5-151)串传送时采用串传送指令REP MOVSD。
2)用寄存器传递的参数:字符串STRING1和STRING2的首地址,字符串STRING1的长度。
程序代码:DATA SEGMENTSTRING1 DB 'duxuejie'STRING2 DB ?N EQU($-STRING1)/4DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV CX,NCLDMOV SI,OFFSET STRING1MOV DI,OFFSET STRING1MOV AX,DSMOV ES,AXMOV SI,OFFSET STRING1MOV DI,OFFSET STRING1MOV CX,NCLDREP MOVSWMOV AX,4C00HINT 21HCODE ENDSEND START程序结果截图思考题:1)串传送时采用串传送指令REP MOVSD,因此在使用该指令之前要设置?2)传递参数还可以用什么方法?请修改程序。
实验三串基本操作的编程实现

实验三串基本操作的编程实现【实验目的】内容:串基本操作的编程实现要求:串基本操作的编程实现(2学时,验证型),掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部实现。
也鼓励学生利用基本操作进行一些应用的程序设计。
【实验性质】验证性实验(学时数:2H)【实验内容】字符串用常规的顺序存储法来存储,实现常用的功能。
自己编程模式:开发一个程序,用来统计文件中各种信息,如字符个数,行数等。
修改程序模式:将下面程序空白的地方填空。
程序检查模式:将本文件夹中的程序运行后总结相关功能。
【思考问题】1. 字符串的顺序存储和链表存储的差异2. 在字符串处理方面主要有什么操作3. 字符串的操作的主要特点是什么4. 举出几个字符串的应用范例【参考代码】立顺序串(仅限单行的字符串,建议不用汉字。
)"<<endl;cout<<"2. 显示串"<<endl;cout<<"3. 修改串"<<endl;cout<<"4. 插入串"<<endl;cout<<"5. 删除串"<<endl;C 语言中是如何实现字符串的cout<<"6. 查找串"<<endl; cout<<"7. 求串长度"<<endl;cout<<"8. cout<<"——结束程序"<<endl; : ---------- "<<e ndl;}int mai n(){int flag=O,return value,positi on, begi npositi on,en dpositi on ,le ngth;char choice,choose ,n ewstr[maxsize];string newstring;menu();while(1){cout<<"请输入选择:";cin> >choice;switch(choice){case '1':if(flag){cout<<"数据已存在,是否覆盖(y/n)";cin> >choose;if(choose=='N'||choose==' n')cout<<"数据没有发生更改!"<<endl; break;}if(choose=='Y'||choose=='y'){retur nvalue=();if(retur nvalue==success)cout<<"创建成功!"<<endl;flag=1;}elsecout<<"输入错误!"<<endl;}else{returnvalue=();if(retur nvalue==success)cout<<"创建成功!"<<endl;flag=1;}break;case 2:if(flag==0)cout<<"请先建立串!"<<endl;else();break;case 3:if(flag==0)cout<<"请先建立串!"<<endl;else{();cout<<"请输入要修改的初始位置:";cin> >beg in positi on;cout<<"请输入要修改的终止位置:";cin»en dpositi on;cout<<"请输入修改后的字符串:";cin»n ewstr;retur nvalue=(beg in positi on,en dpositi on,n ewstr);if(retur nvalue==success){cout<<"修改成功!"<<endl;();}if(returnvalue==overflow){cout<<"字符串的最大长度为"<<maxsize<<endl;cout<<"发生溢出,操作失败!"<<endl;}if(returnvalue==ra nge_error)cout<<"位置错误,操作失败!"<<endl;if(returnvalue==empty)cout<<"字符串为空,操作失败!"<<endl;}break;case '4':if(flag==0)cout<<"请先建立串!"<<endl;else{();cout<<"请输入要插入的位置:";cin> >positi on;cout<<"请输入要插入的字符串cin»n ewstr;len gth=strle n(n ewstr);retur nvalue=(positi on,n ewstr,le ngth); if(retur nvalue==success){cout<<"插入成功!"<<endl; ();}if(returnvalue==overflow){cout<<"发生溢出,操作失败!"<<endl; } if(returnvalue==ra nge_error) cout<<"位置错误,操作失败!"<<endl; } break; case '5': if(flag==0) cout<<"请先建立串!"<<endl; else { (); cout<<"请输入要删除的初始位置:"; cin> >beg in positi on; cout<<"请输入要删除的终止位置 :"; cin»en dpositi on; retur nvalue=(beg in positi on,en dpositi on); if(retur nvalue==success) { cout<<"删除成功!"<<endl; (); } if(returnvalue==ra nge_error) cout<<"位置错误,操作失败!"<<endl; cout<<"字符串的最大长度为 "<<maxsize<<e ndl;if(returnvalue==empty)cout<<"字符串为空,操作失败!"<<endl;}break;case '6':if(flag==0)cout<<"请先建立串!"<<endl;else{();cout<<"请输入要查找的字符串:";cin»n ewstr;positi on=(n ewstr);if(positi on>0){cout<<"已找到!"<<endl;cout<<"字符串出现的初始位置为:"<<position<<endl;}if(positi on==0)cout<<"您要查找的字符串不存在!"<<endl;if(positi on==-1)cout<<"字符串为空,操作失败!"<<endl;}break;case '7':v1.0可编辑可修改if(flag==O)cout<<"请先建立串!"<<endl;else{();len gth=();cout<<"当前串的长度为:"<<length<<endl;}break;case 8:exit(0);break;default:cout<<"输入错误!\n";break;}cout<<"按任意键继续..... "<<endl;getch();system("cls");men u();}getch();return 0;}。
微机实验三 串操作

实验三串操作一、实验目的1.熟悉串操作指令的功能。
2.了解串操作指令的使用方法。
二、实验预习要求1.复习8086指令系统中的串操作类指令。
2.按照题目要求在实验前编写好实验中的程序段。
三、实验任务1.输入以下程序段并运行之,回答后面的问题。
CLDMOV DI,1000HMOV AX,55AAHMOV CX,10HREP STOSW上述程序段执行后:(1) 从DS:1000H开始的16个字单元的内容是什么?。
(2) (DI)= ?(CX)= ?,并解释其原因。
2.在上题的基础上,再输入以下程序段并运行之,回答后面的问题。
MOV SI,1000HMOV DI,2000HMOV CX,20HREP MOVSB程序段执行后:(1)从DS:2000H开始的16个字单元的内容是什么?55AAH(2)(SI)=?(DI)=?(CX)= ?,并分析之。
SI=1020H,DI=2020H,CX=0000H3.从DS:1000H开始存放有一个字符串”This is a string”,要求把这个字符串从后往前传送到DS:2000H开始的内存区域中(即传送结束后,从DS:2000H开始的内存单元的内容为”gnirts a si sihT”),试编写程序段并上机验证之。
assume cs:code,ds:datasg,ss:stackdatasg segmentdb 'THIS IS A STRING'db 1000 dup(1)datasg endsstack segmentdw 0,0,0,0,0,0,0,0stack endscode segmentstart: mov ax,datasgmov ds,axmov es,axmov si,0mov di,30cld;rep movsbdmov cx,16tag: CLDLODSBSTDSTOSBLOOP tagmov ax,4c00hint 21hcode endsend start四、实验心得与体会本次实验,我运用了以往所学的知识,实验进行的很顺利,现在越来越能够掌握这门课的精髓了。
实验三串基本操作的编程实现

实验三-串基本操作的编程实现一、实验目的本实验旨在深入理解和掌握串(字符串)的基本操作,包括串的创建、拼接、比较、子串查找等,并通过编程实现这些操作来加深对理论知识的理解。
二、实验内容1.串的创建与拼接2.串的比较3.子串的查找三、实验步骤与实现1.串的创建与拼接在Python中,我们可以使用字符串来创建串。
字符串是不可变的,这意味着我们不能改变字符串中的字符,但我们可以创建一个新的字符串。
拼接两个字符串可以通过加号(+)来实现。
# 串的创建str1 = "Hello"str2 = "World"# 串的拼接str3 = str1 + " " + str2print(str3) # 输出:Hello World2.串的比较在Python中,我们可以使用比较运算符(如==、<、>)来比较两个字符串。
字符串的比较是基于字符的ASCII值来进行的。
# 串的比较str1 = "Hello"str2 = "World"# 比较两个串是否相等if str1 == str2:print("两个串相等")else:print("两个串不相等") # 输出:两个串不相等3.子串的查找在Python中,我们可以使用find方法来查找一个字符串是否包含另一个字符串。
如果找到了子串,它将返回子串在主串中第一次出现的位置的索引;如果没有找到,它将返回-1。
# 子串的查找str1 = "Hello, world!"str2 = "world"# 查找子串的位置index = str1.find(str2)if index != -1:print("子串在主串中的位置是:", index) # 输出:子串在主串中的位置是: 7else:print("没有找到子串")四、实验总结与思考通过本次实验,我们了解了如何使用Python来实现串的基本操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三串操作
一、实验目的
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
stack ends
code segment
start: mov ax,datasg
mov ds,ax
mov es,ax
mov si,0
mov di,30
cld
;rep movsbd
mov cx,16
tag: CLD
LODSB
STD
STOSB
LOOP tag
mov ax,4c00h
int 21h
code ends
end start
四、实验心得与体会
本次实验,我运用了以往所学的知识,实验进行的很顺利,现在越来越能够掌握这门课的精髓了。