《2022年新编微机原理实验指导书归类 .pdf》由会员分享,可在线阅读,更多相关《2022年新编微机原理实验指导书归类 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微型计算机原理及应用B 实验指导书1 班级学号姓名实验日期实验一两个多位十进制数相加实验一、实验目的1熟悉在 PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。2掌握数据传送、算术运算、BCD码调整和循环指令的用法,掌握字符显示的方法。3熟悉和掌握用DEBUG 调试程序的方法。二、实验内容1将两个 5 位十进制数相加,要求被加数(本题选47193)和加数(本题选28056)均以 ASCII 码形式各自顺序存放在以DATAl和 DATA2为首的 5 个内存单元中(低位在前),结果送回以DATA3为首的 5 个内存单元中(低位在前),并显示相加的结果。2将第 1 题改为(高位在前)的形式存放
2、数据,程序如何修改?3上述程序只显示了相加的结果,没有显示被加数和加数,如果在第1 题的基础上将显示格式改为471932805675249,则程序如何修改?4上面程序没有考虑运算结果最高位有进位的情况,如果考虑可能产生的进位,则要显示完整的结果,程序如何修改?(提示:INC 和 LOOP 指令均不影响CF)三、实验要求1实验内容1、内容 2 为基础题,必须做,完成后可得7 分。2实验内容3为提高题,完成后可再加2 分。3实验内容4为提高题,完成后可再加1 分。四、实验程序和结果1将两个 5 位十进制数相加,要求被加数(本题选47193)和加数(本题选28056)均以 ASCII 码形式各自顺序
3、存放在以DATAl和 DATA2为首的 5 个内存单元中(低位在前),结果送回以DATA3为首的 5 个内存单元中(低位在前),并显示相加的结果。DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H ;存放被加数47193,ASCII 码形式,低位在前DATA2 DB 36H,35H,30H,38H,32H ;存放加数28056,ASCII 码形式,低位在前DATA3 DB 5 DUP(?);留出 5 个存放结果的单元DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX
4、MOV CX,5;循环次数置5,5 个位要相加5 次MOV SI,0;SI 放地址位移量,每个数的第一字节地址位移量为0 CLC ;CF清 0,防止第1 个字节相加时ADC指令多加CF中可能的1 NEXT:MOV AL,DATA1SI ;取被加数一个字节送AL,DATA1偏移地址 SI 为有效地址ADC AL,DATA2SI ;AL加数对应字节CF(低位相加时可能的进位)结果送AL AAA ;AL中两字节相加的和调整成非压缩的BCD码,进位在CF中MOV DATA3 SI,AL ;结果送入DATA3对应字节单元中INC SI;地址位移量加1 指向高一位字节单元 LOOP NEXT;5 次未到,
5、继续循环MOV SI,5;显示 5 个位,SI 中的数既是循环次数又作地址位移量名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 13 页 -微型计算机原理及应用B 实验指导书2 DISP:ADD DATA3 SI-1,30H ;将结果从高位单元开始把非压缩的BCD码变成 ASCII 码 MOV DL,DATA3 SI-1 ;将 ASCII 码送 DL以满足 2 号功能调用的规定要求 MOV AH,2;功能号送AH INT 21H ;调用 2 号功能,显示一位数字 DEC SI ;次数减 1 JNZ DISP ;5 次未到,继续循环 MOV AH,4CH;功能号送AH INT 21
6、H ;调用 4CH号功能,返回DOS CODE ENDS END START运行结果:75249 2将第 1 题改为(高位在前)的形式存放数据,程序如何修改?(要求给出程序、注释、运行结果)五、实验总结和体会名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 13 页 -微型计算机原理及应用B 实验指导书3 班级学号姓名实验日期实验二字符串匹配实验一、实验目的1掌握提示信息的使用方法及键盘输入字符串的用法。2掌握串操作指令的编程使用方法。二、实验内容1编程实现:从键盘分别输入两个字符串(不必等长),然后进行比较,若两个字符串有相同的字符,则显示“MATCH”,若字符都不相同则显示“N
7、O MATCH”。2(选做)编程实现:从键盘分别输入两个字符串,然后进行比较,若两个字符串的长度和对应字符都完全相同,则显示“MATCH”,否则显示“NO MATCH”。三、实验程序结构流程图1编程实现:从键盘分别输入两个字符串(不必等长),然后进行比较,若两个字符串有相同的字符,则显示“MATCH”,若字符都不相同则显示“NO MATCH”。宏定义回车换行,0DH 回车 0AH 换行,用 2 号功能调用数据段开始。定义字符串MATCH、NO MATCH、输入串1 提示、输入串2 提示定义用 0AH 号功能调用输入字符串1 和字符串2 的存放缓冲区,包括最大个数、实际个数和字符串缓冲区。数据段
8、结束定义堆栈段(建议不使用组合类型),开辟 50 个字节堆栈空间代码段开始。ASSUME 程序开始,DS、ES、SS 装入,SP赋初值用 9 号功能调用显示输入字符串1 的提示用 0AH 号功能调用输入字符串1 宏调用回车换行用 9 号功能调用显示输入字符串2 的提示名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 13 页 -微型计算机原理及应用B 实验指导书4 用 0AH 号功能调用输入字符串2 宏调用回车换行方向标志置成按增址方向操作SI 指向字符串1 首地址取出字符串1 实际个数送CX 用堆栈保护CX DI 指向字符串2首地址取出字符串2 实际个数送CX 从字符串 1 中将
9、 SI 所指单元的字符取出送AL 串搜索,不相等则重复找到了相同的字符吗?SI 加 1 指向字符串1 中下一个字符从堆栈恢复CX 字符串 1中的字符都取完了吗?用 9 号功能调用显示NO MATCH 用 9 号功能调用显示MATCH 返回 DOS 代码段结束。程序汇编结束Y N Y N 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 13 页 -微型计算机原理及应用B 实验指导书5 四、实验程序和结果1编程实现:从键盘分别输入两个字符串(不必等长),然后进行比较,若两个字符串有相同的字符,则显示“MATCH”,若字符都不相同则显示“NO MATCH”。(要求给出程序、注释、运行结
10、果)名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 13 页 -微型计算机原理及应用B 实验指导书6 五、实验总结和体会名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 13 页 -微型计算机原理及应用B 实验指导书7 班级学号姓名实验日期实验四从键盘输入数据并显示实验一、实验目的1掌握键盘输入字符的方法和十六进制数字字符的ASCII 码转换为二进制数的原理。2掌握子程序定义和调用的方法。3掌握循环移位指令的用法和无符号数比较大小的方法。二、实验内容从键盘上输入4 位十六进制数,将其转换为16 位二进制数并在显示器上显示出来。要求输入的数字字符串以回车键结束。如果输入
11、的数字超过4 个,则以最后输入的4 个为准。若按下的键不是十六进制数字字符,则显示出错信息。三、实验原理提示从键盘上输入的十六进制数字字符进入计算机后并不是相应的十六进制数或二进制数,而是与字符对应的 ASCII 码,现要找出ASCII 码与该数字对应的二进制数之间的关系。关系如下:十六进制数字字符字符对应的ASCII 码数字对应的二进制数0 9 30H 39H ASCII 码-30H A F 41H 46H ASCII 码-37H a f 61H 66H ASCII 码-57H 六、实验总结和体会名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 13 页 -微型计算机原理及应用B
12、 实验指导书8 四、实验程序结构流程图宏定义回车换行代码段开始。ASSUME 定义堆栈段数据段开始。定义输入十六进制数提示信息,带回车换行定义输入出错提示信息,不带回车换行。数据段结束程序开始,DS、SS装入,SP 赋初值要显示的位数16 送 CX 显示输入十六进制数提示信息BL 送 DL DL 加 30H 变为 ASCII 码,显示这1 位调用接收键入数字子程序GETNUM,返回时BX 中是 4 位十六进制数对应的16 位二进制数BX 向左小循环1 次,将最高位循环移位到最低位屏蔽 DL 高 7 位返回 DOS 16 位都显示完了吗?N Y 名师资料总结-精品资料欢迎下载-名师精心整理-第
13、8 页,共 13 页 -微型计算机原理及应用B 实验指导书9 子程序 GETNUM:过程定义开始是回车键吗?(0DH)用 1 号功能调用从键盘接收一个字符ASCII 码 30H 吗?ASCII 码 39H 吗?ASCII 码 41H 吗?BX 逻辑左移4 次AL 30H AL 57H AL 37H ASCII 码 46H 吗?ASCII 码 61H 吗?ASCII 码 66H 吗?AL 加到 BL 中显示输入出错提示信息过程定义结束。代码段结束。程序汇编结束宏调用回车换行子程序返回Y Y Y Y Y Y Y N N N N N N N 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,
14、共 13 页 -微型计算机原理及应用B 实验指导书10 五、实验程序和结果(要求给出程序、注释、运行结果)名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 13 页 -微型计算机原理及应用B 实验指导书11 班级学号姓名实验日期实验六计数器/定时器 8253和并行接口 8255综合实验一、实验目的1掌握 8253 定时原理和初始化方法。2掌握 8255 并行输入输出原理和初始化方法。3掌握定时器8253 和并行接口8255 的综合应用设计技术。二、实验内容用 8253 定时 1 秒钟,“时间到”信号可由8255 端口的一个位检测得到。在8255 的另一个端口连接8个发光二极管,则
15、可实现每隔1 秒钟循环点亮1 个灯。还可以在8255 端口的另一个位连接一只开关,当开关拨到1时进入运行状态,当拨到0 时返回 DOS。三、实验程序流程图8255 初始化检测开关,是0 吗?8253 初始化设置灯点亮初始状态寄存器,并点亮1 只灯查询时间到状态信号,是 1 吗?循环点亮 1 个灯查询时间到状态信号,是 0 吗?返回 DOS Y Y Y N N N 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 13 页 -微型计算机原理及应用B 实验指导书12 四、实验硬件接线图名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 13 页 -微型计算机原理及应用B 实验指导书13 五、实验程序和结果(要求给出程序、注释、运行结果)六、实验总结和体会名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 13 页 -