微机原理实验指导一(2015-2)
- 格式:doc
- 大小:401.00 KB
- 文档页数:14
微机原理实验报告班 级:2012级电子科学与技术卓工班级电子科学与技术卓工班姓 名: 黄中一黄中一 学 号: 201236460273序 号:评阅分数:评阅分数:实验一一、实验目的1、学会如何建立汇编源文件ASM2、学会调用MASM 宏汇编程序对源文件进行汇编,获得目标程序宏汇编程序对源文件进行汇编,获得目标程序 OBJ 及LST 列表文件列表文件3、学会调用LINK 连接程序汇编后的目标文件OBJ 连接成可执行的文件连接成可执行的文件EXE 4、学会使用DEBUG 调试程序把可执行文件装入内存并调试运行,用D 命令显示目标程序,用U 命令对可执行文件反汇编,用G 命令运行调试。
命令运行调试。
二、实验设备装有MASM 软件的IBM PC 机三、实验内容1、汇编程序对源程序进行编译,生成扩展名为OBJ 的目标文件;连接程序是将目标程序和库文件进行连接、定位,生成扩展名为EXE 的可执行文件;调试程序是对目标文件进行调试,验证它的正确性。
是对目标文件进行调试,验证它的正确性。
2、DEBUG 程序各种命令的使用方法程序各种命令的使用方法功能功能命令格式命令格式 使用说明使用说明显示内存单元内容显示内存单元内容D 地址地址从指定地址开始显示40H 个字节或80H 个字节个字节 修改内存单元内容修改内存单元内容 E 地址地址先显示地址和单元内容等待输入修改的内容输入修改的内容检查和修改寄检查和修改寄存器的内容存器的内容R 显示全部寄存器和标志位及下条指令单元十六进制数码和反汇编格式和反汇编格式反汇编反汇编U 地址地址从指定地址开始反汇编16个或32个字节个字节 汇编汇编 A 地址地址从指定地址直接输入语句并从指定指定汇编装入内存从指定指定汇编装入内存跟踪跟踪 T =地址=地址 从指定地址开始逐条跟踪指令运行运行 G =地址=地址无断点,执行正在调试的指令执行正在调试的指令 退出退出Q退出DEBUG 返回DOS3、实验过程①、在edit 环境,写字板,记事本等中输入源程序。
微机原理及应用交卷时间:2015-11-27 10:44:06一、单选题1.(4分)指令TEST AL,02H的含义是()。
• A. 测试AL的bit0位的逻辑值• B. 测试AL的bit1位的逻辑值• C. 测试AL的bit2位的逻辑值• D. 测试AL的值得分:0 知识点:微机原理及应用,微机原理及应用作业题收起解析解答案B解析2.(4分)波特率是()。
• A. 每秒钟传送的位数• B. 每秒钟传送的字节数• C. 每秒钟传送的字数• D. 每秒钟传送的ASCII码字符数得分:0 知识点:微机原理及应用,微机原理及应用作业题收起解析解答案A解析3.(4分)8237 DMA控制器有四种工作方式,其中,传输率较高的一种是()。
• A. 单字节传送方式• B. 请求传送方式• C. 块传送方式• D. 级联方式得分:0 知识点:微机原理及应用作业题,微机原理及应用收起解析解答案C解析4.(4分)设SP=2000H,当执行POP AX之后,SP=()。
• A. 1FFEH• B. 2002H• C. 1FFFFH• D. 2001H得分:0 知识点:微机原理及应用作业题,微机原理及应用收起解析解答案B解析5.(4分)8255芯片有()种基本工作方式。
• A. 为增加内存的容量• B. 减少高速CPU和慢速内存之间的速度差异• C. 增加寄存器• D. 增加I/O接口得分:0 知识点:微机原理及应用,微机原理及应用作业题收起解析解答案B解析6.(4分)十进制数-75用二进制数10110101表示,其表示方式是()。
• A. 原码• B. 补码• C. 反码• D. ASCⅡ码得分:0 知识点:微机原理及应用,微机原理及应用作业题收起解析解答案B解析7.(4分)适合程序查询传递控制方式的外部设备是()。
• A. CRT显示器• B. 打印机• C. LED显示器• D. BCD拨码盘得分:0 知识点:微机原理及应用,微机原理及应用作业题收起解析解答案B解析8.(4分)某静态RAM芯片的容量为8K×8位,则()。
微机原理与接口技术课后答案第二版【篇一:《微机原理与接口技术》(第二版)龚尚福-习题解析和实验指导】xt>2.2 8086微处理器由哪几部分组成?各部分的功能是什么?16355【解】:按功能可分为两部分:总线接口单元biu(bus interface unit)和执行单元eu(execution unit)。
总线接口单元biu是8086 cpu在存储器和i/o设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和i/o设备的所有操作都是由biu完成的。
所有对外部总线的操作都必须有正确的地址和适当的控制信号,biu中的各部件主要是围绕这个目标设计的。
它提供了16位双向数据总线、20位地址总线和若干条控制总线。
其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。
cpu执行指令时,总线接口单元要配合执行单元,从指定的内存单元或i/o端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或i/o端口中。
执行单元eu中包含1个16位的运算器alu、8个16位的寄存器、1个16位标志寄存器fr、1个运算暂存器和执行单元的控制电路。
这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。
eu对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。
如果指令队列缓冲器中是空的,那么eu就要等待biu通过外部总线从存储器中取得指令并送到eu,通过译码电路分析,发出相应控制命令,控制alu数据总线中数据的流向。
2.3 简述8086 cpu的寄存器组织。
【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。
当用作16位时,称为ax、bx、cx、dx。
当用作8位时,ah、bh、ch、dh 存放高字节,al、bl、cl、dl存放低字节,并且可独立寻址。
这样,4个16位寄存器就可当作8个8位寄存器来使用。
微机原理课程设计学院:机电工程学院专业:自动化班级:XXXX学号:XXXX姓名:XX指导教师:XXXXXXXX 完成时间:2015一、课程设计的基本要求•设计8088微处理器最小系统•用8284设计频率恒定的时钟电路•用6264和2764设计存储器(RAM和ROM)电路。
•用ADC0809组成8位温度检测A/D变换接口电路•用DAC0832设计8位D/A变换接口电路驱动直流电机•用8255和8253设计步进电机控制电路•用8255外联LED和键盘显示电路二、设计的基本思路采用8088的最小方式,利用三片74LS373锁存器设计20位地址总线电路,利用一片74LS245收发器形成数据总线电路。
利用8254芯片提供频率恒定的时钟信号,同时具有复位信号和准备好信号发送给8088系统。
运用两片2764和两片6264进行扩展,形成16K的ROM和16K的RAM电路。
系统的定时计数器由一片8253构成,中断系统由8259组成,并行接口电路由8255构成。
AD转换电路由ADC0809及其外围电路构成,由DAC0832及其外围电路构成DA转换电路驱动直流电机。
芯片所需的片选信号均由74LS138译码电路产生。
三、系统的地址分配ROM2764(1):0FC000H~0FDFFFH;ROM2764(2):0FE000H~0FFFFFH;RAM6264(1):00000H~01FFFH;RAM6264(2):02000H~03FFFH;ADC0809:0058H~005FH;DAC0832:0074H;计时器8253:0020H~0023H;并行接口芯片8255:0028H~002BH;键盘地址:0070H~0073H; LED地址:0080H~0083H。
四、具体设计1、8088微处理器最小系统1.1 8088微处理器介绍8088微处理器采用40条引脚的双列直插式封装。
为减少引脚,采用分时复用的地址/数据总线,因而部分引脚具有两种功能。
《微机原理及接口技术B》实验指导书※实验环境实验设备——唐都TD-PITE 80X86 微机原理及接口技术微机实验平台。
每套设备包括实验箱一台、配备安装有Wmd86联机操作软件的PC微机一台、连接线及电源线。
图1 实验平台连接示意图图2 唐都TD-PITE实验箱图3 唐都TD-PITE实验箱布局图操作步骤:1、打开电脑。
2、插好实验平台电源线。
3、通过串口连接线连接实验箱与微机。
4、打开Wmd86联机操作软件。
5、检查端口是否选择好。
6、进行实验接线。
7、录入汇编程序。
8、编译、链接、下载,观察结果。
图4 Wmd86联机操作软件实验一定时器的使用1.实验目的和意义●熟悉接口试验箱的使用环境。
●体会接口电路通过外部总线与处理器连接原理。
●掌握可编程芯片8253的编程方法。
2.实验设备PC 机一台,TD-PITE 实验装置一套。
3.实验内容1、编写程序,将8254 的计数器0 和计数器1 都设为方式3,用信号源1MHz 作为CLK0时钟,OUT0 为波形输出1ms 方波,再通过CLK1 输入,OUT1 输出1s 方波。
2、编写程序,将8254 的计数器0 设为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动 5 次后产生中断请求,在Wmd86程序运行结果栏上显示字符M 。
改变计数值,验证8254 的计数功能。
4.背景知识〔1〕8254的功能➢8253具有三个独立的16位计数器〔0#~2#通道〕;➢每个通道有6种工作方式;➢可以进行二进制或十进制计数,计数方式为减1计数。
〔最高计数频率2.6MHZ〕〔2〕8254 的内部结构和外部引脚图1.1 8254内部结构图1.2 8254外部引脚〔3〕8254 的工作方式●方式0:计数到0 结束输出正跃变信号方式。
●方式1:硬件可重触发单稳方式。
●方式2:频率发生器方式。
●方式3:方波发生器。
●方式4:软件触发选通方式。
郑州科技学院微机原理与接口技术课程设计任务书专业计算机科学与技术班级1班学号201215010 姓名冯莲一、设计题目裁判评分系统的设计与实现二、设计任务与要求1、键盘上输入7名裁判的评分(0-10,整数),扣除一个最高分,扣除一个最低分,计算出其它五个分数的平均值(保留整数);2、显示器输出“The final score is:”显示相应的结果。
三、参考文献(不少于5个)[1]陆忠华.汇编语言程序设计[M].科学出版社,1993[2]迟成文,王保秀.汇编语言程序设计[M].中国科学技术大学出版社,1993[3]彭虎,周培玲,傅忠谦.微机原理与接口技术(第2版)[M].电子工业出版社,2008[4]张荣标,微型计算机原理与接口技术[M].机械工业出版社,2009.4[5]徐建民.汇编语言程序设计[M].电子工业出版社.2005年[6]宋杰,汪志宏,江敏,微机原理与接口技术课程设计[M].机械工业出版社,2005.4[7]郑州科技学院微机原理与接口技术实验指导书[M].四、设计时间2015年1 月5 日至2015 年1 月11 日指导教师签名:2015 年 1 月 5 日郑州科技学院《微机原理与接口技术》课程设计题目_裁判评分系统的设计与实现学生姓目录1 引言 (1)2 设计方案与论证 (2)2.1 方案一 (2)2.2 方案二 (2)2.3 设计思路 (3)3 设计原理及功能说明 (4)3.1 软件 (4)3.1.1 设计实验总流程图 (4)3.1.2 设计子程序流程图 (6)3.2 部分代码实现 (8)3.2.1 运行结果界面的代码 (8)3.2.2 实现去掉一个最大值和最小值的代码 (8)3.2.3 小数处理的代码实现 (9)4 调试与结果测试 (10)4.1初始化运行界面 (10)4.2输出最终成绩界面 (10)5 总结 (13)参考文献 (15)附录:源代码 (16)1引言随着社会的发展,文化的进步,各种比赛层出不穷。
计算机组成原理实验二脱机运算器实验实验目的深入了解AM2901运算器的功能与具体用法,4片AM2901的级连方式,深化运算器部件的组成、设计、控制与使用等诸项知识。
实验说明脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。
12位微型开关的具体控制功能分配如下:A口、B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号;I8-I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位的控制码;SCi、SSH和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理AM2901产生的状态标志位的结果。
运算器的控制信号的编码及功能参见《TEC-2000教学计算机系统技术说明与实验指导》中的第三章《硬件系统的基本组成和实现》中的有关运算器的部分。
实验内容1.将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。
2.接下来,按下表所列的操作在十六位机上进行运算器脱机实验,将结果填入表中:其中D1取为0101H,D2取为1010H;通过两个12位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。
注:用*标记的运算,表示D1、D2的数据是由拨动开关SW给出的。
实验要求1.实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等,否则实验效率会很低,所学到的内容也会大受影响;2.实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果;3.实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。
电子信息专业实验报告课程微机原理与接口技术实验实验题目十六进制数转换成ASCII码学生姓名lz评分学号20171414xxxxxx班级同实验者无实验时间2019.11.2上午地点望江实验室基教B520电子信息学院专业实验中心一、实验目的1、掌握十六进制数转换成ASCII码以及掌握高位与低位分离的处理方法;2、掌握计算机常用ASCII码转换成十六进制数及组合;3、掌握循环程序的设计,以及循环次数等的修改。
二、实验内容(含技术指标)十六进制数转换成ASCII码:1、按要求编写将十六进制转换成ASCII码的程序;2、编译链接并对程序进行调试:在调试框中设置寄存器DS的值;先用特殊数据9AH、0A9H对程序进行测试,单步执行每条指令,完成基本功能并记录;3、修改循环次数,将0~FH转换成ASCII码并记录。
ASCII码转换成十六进制数:1、按照要求编写ASCII码转换成十六进制数的程序;2、编译链接并对程序进行调试:在调试框中设置寄存器DS的值;先用特殊数据39、41、41、39对程序进行测试,单步执行每条指令,完成基本功能并记录;4、修改循环次数,将30、31、32、33、34、35、36、37、38、39、41、42、43、44、45、46转换成十六进制数并记录。
三、实验仪器(仪器名称、型号,元器件名称、清单,软件名称、版本等)1、联想笔记本电脑Windows10系统2、Masm for Windows集成实验环境2015四、实验原理(基本原理,主要公式,参数计算,实现方法及框图,相关电路等)1、由十六进制数与ASCII码之间关系可知:0至9的数转换成ASCII码时,作加30H操作;A至F 的数转换成ASCII码时,作加37H操作。
41-46的ASCII码转换成16进制数时,作减37H操作;30-39的ASCII码转换成16进制数时,作减30H操作。
2、SHR:逻辑右移指令,将目的操作数顺序右移1为或CL寄存器指定的位数。
微机原理实验心得体会篇一:微机原理实验总结微机原理实验总结不知不觉,微机原理与接口技术实验课程已经结束了。
回忆起来收获颇丰,主如果加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机械语言最接近的了,若是用它来编程序的话,会比用其它高级语言要快得多。
本学期咱们在老师的率领下,进行了微机原理实验六到十这五组实验。
它们别离是:实验六8255 PA口控制PB口实验目的掌握单片机系统中扩展外围芯片的方式,了解8255 芯片的结构及编程方式。
实验内容用8255 PA 口作开关量输入口,PB 口作输出口。
实验步骤一、用8 芯线将8 255 PA口接至开关Kl~K8,PB口接至发光二极管L1~L8;二、运行程序,拨动开关K1~K8,观察L1~L8发光二极管是不是对应点亮。
实验七8255控制交通灯实验目的进一步了解8 255 芯片的结构及编程方式,学习模拟交通控制的实现方式。
实验内容用8255 做输出口,控制六个发光二极管燃灭,模拟交通灯管理。
实验步骤一、用双头线将8 255 PA0~PA2 口接至发光二极管L3~L1,PA3~PA5口接至发光二极管L7~L5;二、执行程序,初始态为四个路口的红灯全亮,以后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,以后重复以上进程。
实验八简单I /O口扩展实验目的学习单片机系统中扩展简单I/O 口的方式;学习数据输入输出程序的编制方式。
实验内容利用74LS244 作为输入口,读取开关状态,并将此状态,通过74LS273再驱动发光二极管显示出来。
五、实验步骤一、用8 芯线将Y0~Y7接至开关K1~K8,Q0~Q7 接至发光二极管L1~L8,用双头线将CS1 接至8 000 孔,CS2 接至9 000 孔,用8 芯线将J X0 接至JX7(D0~D7数据线);二、执行程序,按动开关K1~K8,观察发光二极管L1~L8是不是对应点亮。
一、系统认识实验 1.1 实验目的 掌握QASM轻松汇编(TD系列微机原理及接口技术教学实验系统)的操作,熟悉QASM(Wmd86联机集成开发调试软件)的操作环境。学习和掌握程序编写,汇编,调试的方法和技术。
1.2 实验设备 PC机一台,(TD-PITE实验装置或TD-PITC实验装置一套)。 1.3 实验内容 编写实验程序,将00H~0FH共16个数写入内存03000H开始的连续16个存储单元中。
1.4 实验步骤 1. 进入QASM编程环境:将TDASM和ASMPRO文件夹复制到D盘根目录上,运行TDASM下的QASM,进入集成开发环境。 2.输入汇编源程序:编写输入实验程序,如图所示,并保存为A1,此时系统会提示输入新的文件名,输完后点击保存。可以用打开文件方式将以前保存的源程序调入。
程序编辑界面 3. 程序的汇编与连接:点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方运行调试程序。 编译输出信息界面 4. 观察程序及变量分配:点击“交叉文件”,观察源程序代码与机器代码与存储形式。 点击“汇编程序”返回汇编程序窗口。 操作练习:1、对上述程序进行观察。看汇编源程序的指令与机器码指令的对应关系及程序存放形式。 2、打开程序EX1,观察变量定义及存放关系。 3、打开EX3—2,观察变量定义及内存分配。
5.集成调试环境的使用: 单步执行:点击“调试”菜单下的“单步”,可以一条一条的执行指令。 查看修改寄存器:在调试过程中,可能通过调试窗口的“调试”选单,观察和修改CPU中寄存器的内容。 查看变量和存储单元内容:在调试过程中,可能通过调试窗口的“查看”选单,可以添加要查看的存储单元或者变量的的内容。 断点设置:在程序的对应指令行点击行号,可以设置程序断点(出现红色园点)。或者取消断点。 连续运行:点击调试菜单下的“GO”,或让程序连续运行到断点处停止。
操作练习: 1、打开程序EX1,单步运行程序,观察寄存器及存储单元变化。并记录。 3、打开EX3—2,观察变量定义及内存分配。单步运行程序,观察寄存器及存储单元变化。并记录。
6.TRUBODEBUGGER的使用:(详细说明见TRUBODEBUGGER一览表) 进入TD:汇编连接完成后,点击“调试”菜单下的“TD。。。”可进入TRUBODEBUGGER调试环境。 单步执行:点击“STEP”,可以一条一条的执行指令。 查看修改寄存器:点击“VIEW”菜单下的“REGISTER”选单,可以观察和修改CPU中寄存器的内容。 查看和修改变量单元内容:点击“VIEW”菜单下的“VARIABLE”选单,可以观察和修改变量单元的内容。 查看和修改存储单元内容:点击“VIEW”菜单下的“DUMP”选单,可以观察和修改存储单元的内容。 断点设置:在程序的对应指令行点击,再点击“BKPT”,可以在该得设置断点。 连续运行:点击 “RUN”,让程序连续运行到断点处停止。
操作练习: 1、打开程序A1,单步和设置断点运行程序,观察寄存器及存储单元变化。 程序观察程序运行前后 0000:3000开始的十六个字节单元的数据。 2、打开EX1,单步和设置断点运行程序,输入不同数,运行后检查变量X和XXX的值,并记录。 3、编写程序,将内存0000:3500H单元开始的8个数据复制到0000:3600H单元开始的数据区中。通过调试验证程序功能。使用TD调试程序,先将0000:3500H单元写入8个数,然后运行程序,观察程序是否将数据复制到0000:3600H单元中。
二、数制转换实验 计算机与外设间的数制转换关系如图2-1所示,数制对应关系如表2-1所示。
主机
键 盘二进制光 电 机拨码开关数据开关CRT显示打 印 机多段显示位 显 示二进制二进制
ASCII码BCD码BCD码ASCII码ASCII码ASCII码
图2-1 数制转换关系
1.操作练习: 1、打开程序A1,单步和设置断点运行程序,观察寄存器及存储单元变化。 程序观察程序运行前后 0000:3000开始的十六个字节单元的数据。 2、打开EX1,单步和设置断点运行程序,输入不同数,运行后检查变量X和XXX的值,并记录。 3、编写程序,将内存0000:3500H单元开始的8个数据复制到0000:3600H单元开始的数据区中。通过调试验证程序功能。使用TD调试程序,先将0000:3500H单元写入8个数,然后运行程序,观察程序是否将数据复制到0000:3600H单元中。
2. 将ASCII码表示的十进制数转换为二进制数 十进制表示为: n0iii001n1nn
n10D10D10D10D (1)
Di代表十进制数0,1,2,…,9; 上式转换为: 012n1nnn0iiiD10)D10)D10)D10D(((10D
(2)
由式(2)可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。
表2-1 数制对应关系表 十六进制 BCD码 二进制 机器码 ASCII码 七段码 共阳 共阴 0 0000 0000 30H 40H 3FH 1 0001 0001 31H 79H 06H 2 0010 0010 32H 24H 5BH 3 0011 0011 33H 30H 4FH 4 0100 0100 34H 19H 66H 5 0101 0101 35H 12H 6DH 6 0110 0110 36H 02H 7DH 7 0111 0111 37H 78H 07H 8 1000 1000 38H 00H 7FH 9 1001 1001 39H 18H 67H A 1010 41H 08H 77H B 1011 42H 03H 7CH C 1100 43H 46H 39H D 1101 44H 21H 5EH E 1110 45H 06H 79H F 1111 46H 0EH 71H
程序流程图如图2-2所示。实验参考程序如下。 实验程序清单(例程文件名:A2-1.ASM) SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS DATA SEGMENT SADD DB 30H,30H,32H,35H,36H ;十进制数:00256 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV AX, OFFSET SADD MOV SI, AX MOV BX, 000AH MOV CX, 0004H MOV AH, 00H MOV AL, [SI] SUB AL, 30H A1: IMUL BX MOV DX, [SI+01]
程序开始初始化转换首地址转换次数→CX取第一位ASCII码减去30H乘10加下一位ASCII码减30H转换完否?程序结束N
Y AND DX, 00FFH ADC AX, DX SUB AX, 30H INC SI LOOP A1 A2: JMP A2 CODE ENDS END START 实验步骤 (1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统。 (2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H。 (3)在A2处设置断点,然后运行程序。 (4)到断点后查看AX寄存器,即为转换结果,应为:0100 。 (5)数据区的数据修改为自己学号的后四位数据(如:03526),按照上面步骤运行程序,记录结果。 (6)修改数据区数据,按照上面步骤运行程序,验证程序的正确性,记录结果。
4. 将十进制数的ASCII码转换为BCD码
从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。由表2-1可知,一字节ASCII码取其低四位即变为BCD码。 实验程序清单(例程文件名:A2-2.ASM) SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: XOR AX,AX MOV DS,AX MOV CX, 0005H ;转换位数 MOV DI, 3500H ;ASCII码首地址 A1: MOV BL, 0FFH ;将错误标志存入BL MOV AL, [DI] CMP AL, 3AH JNB A2 ;不低于3AH则转A2 SUB AL, 30H JB A2 ;低于30H则转A2 MOV BL, AL A2: MOV AL, BL ;结果或错误标志送入AL MOV [DI+0AH],AL ;结果存入目标地址 INC DI LOOP A1 MOV AX,4C00H INT 21H ;程序终止 CODE ENDS END START 实验步骤 (1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统。 (2)在0000:3500H~0000:3504H单元中存放五位十进制数的ASCII码,即: 31,32,33,34,35。 (3)在 MOV AX,4C00H指令处设置断点,运行程序到断点。 (4)0000:350AH单元,显示运行结果,应为: 0000:350A 01 02 03 04 05 CC … (5)反复测试几组数据,验证程序功能。
图2-2 转换程序流程图