微机原理实验 新颖 完整

合集下载

微机原理综合实验报告

微机原理综合实验报告

微机原理综合实验报告目录一.8255并行口实验二.8259中断实验(一)三.8253定时/计数器实验四.A/D转换实验五.步进电机实验六.综合实验:十字路口交通灯实验七.实验体会四.8255并行口实验1.实验目的:(1)学习利用并行接口芯片8255构成并行接口电路的基本方法(2)熟悉掌握并行接口芯片8255的基本性能及在时间应用中的硬件连接、初始化编程方法2.实验内容:编写程序,使8255的PB口为输出口,PA口为输入口,从PA口将K0~K7作为一个字节读入,在从PB口输出这一反码字节。

3.实验程序:CODE SEGMENTASSUME CS:CODESTART:MOV DX,21BH ;8255初始化命令字MOV AL,90HOUT DX,ALBG: MOV DX,218H ;从PA口读入数据IN AL,DXXOR AL,FFH ;求反MOV DX,219HOUT DX,AL ;从PB口输出JMP BGCODE ENDSEND START4.实验框图5. 实验电路图6.实验方法说明通过8255控制字设定PA口为输入口,PB口为数据输出口,读取PA口的数值并通过求反指令将数据取反后,经由PB口输出。

8259中断实验(一)1.实验目的:(1)了解PC机的中断结构及8259中断控制器的初始化(2)熟悉8259中断控制器的工作原理和硬件连线方法(3)了解8259的应用和硬件编程方法了解8259中断屏蔽2.实验内容:编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FFH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。

3.实验程序INT0 EQU 220hINT1 EQU 221hP8255B EQU 219HP8255K EQU 21BHSTACK SEGMENTSTA DB 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:CLIMOV AX,TOPMOV SP,AXPUSH DSMOV AX,0000H ;定义IRQ0中断MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,0000HMOV SI,20HMOV [SI],AXMOV AX,CSMOV SI,22HMOV [SI],AXPOP DSMOV AL,13H ;对8259进行初始化ICW1MOV DX,INT0OUT DX,ALMOV AL,8 ;对8259进行初始化ICW2 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV AL,9 ;对8259进行初始化ICW4 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT1MOV AL,0FEH ;对8259进行初始化OCW1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT0 ;对8259进行初始化OCW2,普通EOI返回MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $STIMOV DX,P8255K ;对8255进行初始化MOV AL,90HOUT DX,ALDSP: MOV AL,0FFHMOV DX,P8255BOUT DX,ALJMP DSPIRQ0: STIMOV CX,0FFFFHLOOP $MOV AL,0FHMOV DX,P8255BOUT DX,ALMOV DX,INT0MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $MOV CX,0FFFFHLOOP $IRETCODE ENDSEND START4.实验框图5. 实验电路图6. 实验方法说明主程序使8255输出高电平,实现L0~L7指示灯全亮。

微机原理优秀课设

微机原理优秀课设

伟福 Lab8000单片机仿真实验系统 自动检测
® 恒定温度控制实验
一、实验要求
利用实验仪上显示电路,键盘电路,A/D 变换电路,完成类似恒温控制实验,可以利用实验仪上的电位器模仿温度变化,加热和致冷电机可以用发光管代替。

要求可以用键盘设定恒温温度,当外界温度超过设定温度+/-2℃时,就要启动加热或致冷电机。

二、实验目的
1.了解闭环控制的基本原理。

2.进一步熟悉A/D 变换原理和编程方法。

3.进一步了键盘扫描和LED 显示原理和编程方法。

三、实验电路及连接
LED 显示电路和键盘电路实验仪上已接好。

原理图见图1。

A/D 变换电路只要接上模拟量输入和地址选择信号即可。

四、实验说明
这是一个综合硬件实验,其中各部分实验已单独做过.现联合起来形成一个控制系统. 其中LED 显示实验和键盘扫描实验可参见硬件实验十六、十七。

A/D 变换实验可参见硬件实验十三。

I/O 口输入输出可参见8255硬件实验。

五、实验程序框图
A/D 采样子程序框图
伟福 Lab8000单片机仿真实验系统 自动检测
®
LED 显示子程序框图
键盘扫描子程序框图
®
伟福Lab8000单片机仿真实验系统自动检测
温度控制主程序框图。

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

(完整版)北航微机原理实验报告

(完整版)北航微机原理实验报告

微计算机原理及运用实验报告目录实验一:I/O地址译码实验 (4)一、实验目的 (4)二、实验原理和内容 (4)三、实验程序 (4)四.实验总结 (5)实验二:8255并行接口实验 (6)一、实验目的 (6)二、实验原理和内容 (6)三、程序框图 (7)四.实验程序 (7)五.实验总结 (8)实验三:键盘显示控制实验 (9)一、实验目的 (9)二、实验内容及原理 (9)三、流程图 (10)四.程序 (10)五.实验总结 (13)实验四:8254定时器/计数器实验 (14)一、实验目的 (14)二、实验原理和内容 (14)三、实验程序 (14)四.实验总结 (15)实验五:继电器控制实验 (16)一、实验目的 (16)二、实验原理和内容 (16)三、实验中使用的程序 (16)四.实验总结 (18)实验六:DMA传送 (18)一、实验目的 (18)二、实验原理和内容 (18)三、程序 (19)四.实验总结 (20)实验七:8259 中断控制实验 (20)一、实验目的 (20)二、实验原理和内容 (21)三、流程图 (21)四.程序 (21)五.实验总结 (25)实验八:8255中断实验 (25)一、实验目的 (25)二、实验原理和内容 (25)三.实验程序 (26)四.实验总结 (27)实验一:I/O地址译码实验一、实验目的掌握I/O地址译码电路的工作原理。

二、实验原理和内容实验电路如附图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

附图1 I/O地址译码电路利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

微机原理的实验报告

微机原理的实验报告

微机原理的实验报告一、实验目的本实验旨在深入理解微机原理的相关知识,并通过实践操作,掌握微机原理的实验方法与技巧。

二、实验内容1. 搭建微机实验系统:根据实验所需,搭建适当的微机实验系统,包括各种硬件设备的连接与设置。

2. 硬件接口的实验:通过连接不同的硬件接口,进行实验操作,学习硬件接口的使用方法和原理。

3. 程序设计与调试实验:使用相应的汇编语言或高级语言,编写程序并进行调试,观察程序的执行结果。

4. 中断实验:通过调用不同的中断服务例程,进行实验操作,学习中断的使用原理和应用场景。

三、实验步骤与结果1. 实验步骤:(1) 搭建微机实验系统:按照实验指导书的要求,连接各种硬件设备,确保能够正常工作。

(2) 硬件接口的实验:选择一个硬件接口,例如并行口,通过编写相应的程序,实现读取和输出数据的功能。

观察实验现象并记录。

(3) 程序设计与调试实验:根据实验要求,选择适当的编程语言,编写相应的程序,并进行调试。

观察程序的执行结果,并记录相关数据。

(4) 中断实验:选择一个中断服务例程,例如键盘中断,通过编写相应的程序,实现对键盘输入的响应。

观察实验现象并记录相关数据。

2. 实验结果:(1) 硬件接口的实验结果:通过编写程序并连接硬件接口,成功读取和输出数据,实现了相应的功能。

(2) 程序设计与调试实验结果:编写的程序能够正确执行,并得到了预期的结果。

(3) 中断实验结果:编写的程序能够响应相应的中断信号,并实现了对键盘输入的处理。

四、实验分析与讨论1. 实验分析:通过本次实验,我们深入了解了微机原理的相关知识,并通过实践操作,掌握了微机原理的实验方法和技巧。

2. 实验讨论:在实验过程中,我们遇到了一些困难和问题,例如硬件接口的连接和调试,程序的编写和调试等。

但通过彼此的合作与讨论,我们最终解决了这些问题,并成功完成了实验。

五、实验总结通过本次实验,我们对微机原理有了更深入的理解,并通过实践操作,掌握了微机原理的实验方法和技巧。

微机原理(单片机汇编)实验报告

微机原理(单片机汇编)实验报告

软件实验报告软件实验一一、实验目的1.熟悉软件实验的基本步骤和汇编程序的调试方法;2.了解内存块的移动方法;3.了解将十六进制数转换成ASCII值的方法。

二、实验原理用MOV和MOVX指令可以进行数据的赋值和移动,用循环可以完成大量数据的复制。

三、实验内容及步骤1、软件设置为模拟调试状态,在所建的Project文件中添加例程1的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。

打开CPU窗口,观察CPU窗口各寄存器的变化。

打开View菜单中的Memory Window,可以观察内部RAM、外部RAM的数据和程序存储器中的程序。

在Address窗口输入X:8000H后回车,观察8000H-800FF起始的256个字节单元的内容。

2、新建一个Project文件,添加例程2的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。

打开View菜单中的Memory Window,在Address 窗口的Memory#1输入X:3000H后回车,点击运行按钮后, 在Memory#2输入X:4000H后回车,观察外部RAM3000H和4000H中的内容。

3、添加将片内30H-3FH单元的内容复制片外片外1030H~103FH中的源程序,编译运行,观察比较30-3FH单元中的内容和片外1030H-103FH中的内容。

4、添加将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中的源程序,编译运行,观察结果。

5、添加求内部RAM 30H—37H单元中8个无符号数的算术和的源程序,8个无符号数设定为25H,36H,4AH,65H,7FH,82H,9BH,1DH,观察39H,38H中的数字是否分别为02H,C3H。

四、实验结果1.步骤1的结果为8000H-80FFH的内容都为1.2.步骤2的结果为3000H起始的256个字节存储块与4000H起始的256个字节存储块各单元内数据对应相同。

(完整word版)微机原理完整实验报告+程序

实验题目8253定时/计数器实验一、实验目的与要求:1。

学会8253芯片和微机接口原理和方法。

2. 掌握8253定时器/计数器的工作方式和编程原理。

二、实验内容:1、实验原理本实验原理图如图1所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表1所示.8253A的片选地址为48H~ 4FH。

因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字.采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ, 输出OUTO 要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地(”0"电平)或甩空(”1"电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。

2、实验线路连接(1) 8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。

(2) 8253A的GATE0接+5V.3、实验步骤(1) 按图1连好实验线路(2)运行实验程序1.按“调试”按钮2。

选“窗口”“进入示波器窗口",然后最小化3。

按“运行按钮”4.将模拟示波器窗口打开,选择“串行口2",再按ctrl+F2 按钮即可看到波形图1显示“8253-1”用示波器测量8253A的OUT2输出插孔,应有频率为1KHZ的方波输出,幅值0~4V三、实验代码:CODE SEGMENTASSUME CS:CODETCONTRO EQU 004BHTCON2 EQU 004AHCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA1 EQU 0500HSTART: JMP TCONTTCONT:CALL FORMATCALL LEDDISPMOV DX,TCONTROMOV AL,0B6H ;要使用方式2,0B6H要改为0B4HOUT DX,ALMOV DX,TCON2MOV AL,00 ;输入频率(即时间常数)OUT DX,AL ;要修改频率,只需更改送给AL的值(注意先送低8位,MOV AL,10H ;后送高8位)OUT DX,ALHLTLEDDISP:MOV AL,90H ;显示数据方式命令字送8279控制字MOV DX,CONTPORT ;8279命令状态口OUT DX,ALMOV BYTE PTR DS:[0600H],00 ;置显示位数初值为0 LED1: CMP BYTE PTR DS:[0600H],07H ;判断显示位数满8为否?JA LED2 ;满8位转子程序返回MOV BL,DS:[0600H] ;未满8位从数据区取数MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORT ;8279数据口OUT DX,ALADD BYTE PTR DS:[0600H],01H ;显示位数加1JNZ LED1LED2: RET ;子程序返回FORMAT: MOV BX,0 ;显示8253———1 MOV WORD PTR DS:[BX+0500H],4006HADD BX,2MOV WORD PTR DS:[BX+0500H],4040HADD BX,2MOV WORD PTR DS:[BX+0500H],6D4FHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BHRETCODE ENDSEND START四、思考题若改用方式2,并改变时间常数,如何编写程序。

北京理工大学微机原理实验报告一

本科实验报告实验名称:基于并行接口的键盘控制实验一基于并行接口的键盘控制一、实验目的1、掌握简单并行接口(8255)的工作原理及使用方法。

2、了解小键盘的工作原理,学会设计小键盘的接口技术。

3、利用8255并行接口芯片作为小键盘的接口电路,掌握它们之间的线路连接。

4、程序实现实验系统上的4×4键盘输入。

二、实验内容与步骤1、接线:PA0-PA3 /8255 接行0-行3 /4×4键盘PB0-PB3 /8255 接列0-列3 /4×4键盘CS /8255 接YI/IO地址2、编程:实现在按下小键盘上的任意键后,在微机屏幕上显示相应的字符。

输入输出关系如下:小键盘显示小键盘显示0 -- 0 8 -- 81 -- 1 9 -- 92 -- 2 A -- A3 -- 3 B -- B4 -- 4 C -- C5 -- 5 D -- D6 -- 6 E -- E7 -- 7 F -- F三、实验原理1、熟悉8255A-5芯片工作方式的设置(1)基本控制字基本控制字的格式如下:各位含义如下:D7:设定工作方式标识,1有效。

D6、D5:A组方式选择:00--方式0 01--方式1 1X—方式2D4:端口A功能(1=输入,0=输出)D3:端口C高四位功能(1=输入,0=输出)(2)端口C置位/复位控制字端口C置位/复位控制字如下:各位含义如下:D7:位置0位置1标识,0有效。

D6、D5、D4:不用,可人任意值。

D3、D2、D1:端口C的每位选择,由111—000分别表示第7位—第0位。

D0:位置1/置0,1=置1,0=置0.2、键盘阵列由8255芯片控制,并将行列连接到8255芯片的A口、B口,还需要连接8255芯片的片选到YI/IO地址(288H~28FH),以使键盘阵列由8255芯片控制。

其线路连接图如下:3、编程方法对于片选信号根据设置的YI/IO地址来具体连接相应的输出端口。

微机原理软件实验报告

实验名称:汇编语言程序设计实验日期:2023年3月10日实验地点:计算机实验室实验者:张三一、实验目的1. 熟悉汇编语言的基本语法和指令系统。

2. 掌握汇编语言程序设计的基本方法。

3. 通过实验,加深对微机原理的理解。

二、实验内容本次实验主要涉及以下内容:1. 数据传送指令的应用2. 算术运算指令的应用3. 控制转移指令的应用4. 子程序设计三、实验步骤1. 编写一个简单的程序,实现以下功能:(1)将数据0x1234存入寄存器AX;(2)将数据0x5678存入寄存器BX;(3)计算AX和BX的乘积,并将结果存入寄存器DX;(4)将乘积的高16位和低16位分别存入寄存器CX和AX。

2. 编写一个程序,实现以下功能:(1)将数据0x1A2B3C4D存入内存单元[0x1000];(2)从内存单元[0x1000]开始,读取连续4个字节的数据;3. 编写一个程序,实现以下功能:(1)定义一个子程序,实现两个整数的加法运算;(2)在主程序中调用该子程序,实现两个整数的加法运算。

四、实验结果与分析1. 数据传送指令的应用(1)将数据0x1234存入寄存器AX;MOV AX, 0x1234(2)将数据0x5678存入寄存器BX;MOV BX, 0x5678(3)计算AX和BX的乘积,并将结果存入寄存器DX;MUL BX(4)将乘积的高16位和低16位分别存入寄存器CX和AX; MOV CX, DXMOV AX, DX2. 算术运算指令的应用(1)将数据0x1A2B3C4D存入内存单元[0x1000];MOV [0x1000], 0x1A2B3C4D(2)从内存单元[0x1000]开始,读取连续4个字节的数据; MOV AX, [0x1000]MOV BX, [0x1000+2]MOV CX, [0x1000+4]MOV DX, [0x1000+6]MOV AH, 0x0EINT 0x103. 控制转移指令的应用(1)定义一个子程序,实现两个整数的加法运算;ADD procedure:ADD AX, BXRET(2)在主程序中调用该子程序,实现两个整数的加法运算;MOV AX, 0x1MOV BX, 0x2CALL ADDMOV CX, AX五、实验心得通过本次实验,我深刻理解了汇编语言的基本语法和指令系统,掌握了汇编语言程序设计的基本方法。

微机原理实验

实验一8255输入、输出实验一、实验要求:1、利用8255可编程并行口芯片,实现输入/输出实验,2、实验中用8255PA口作输出,PB口作输入。

二、实验目的:1、了解8255芯片结构及编程方法。

2、了解8255输入/输出实验方法。

三、实验原理:8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。

PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。

数据线、读/写控制、地址线、复位信号板上已接好。

可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。

本实验采用的是方式0:PA,PC口输出,PB口输入。

很多I/O实验都可以通过8255来实现。

四、程序代码1、流水灯程序code segmentAssume cs:codestart proc nearStart:mov al, 82hmov dx, 8003hout dx, al ; 输出控制字mov al, 80Hmov cx, 08Hmov dx,8002hout dx,alOutA:mov dx, 8000hout dx, alshr al, 1 ; 移位mov ah,100call delay ; 延时loop OutAjmp startendpdelay proc nearpush axmov al,0push cxmov cx,axloop $pop cxpop axretdelay endpcode endsend start2、按键控制小灯程序code segmentassume cs:codestart proc nearStart:mov al, 82hmov dx, 8003hout dx, al ; 输出控制字mov dx, 8001hin al, dx ; 读入PortBmov dx, 8000hout dx, al ; 输出到PortAmov ah, 200call delayjmp Startendpdelay proc nearpush axmov al,0push cxmov cx,axloop $pop cxpop axretdelay endpcode endsend start实验二8253定时器实验一、实验要求:用8253对标准脉冲信号进行计数,就可以实现定时功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
The Nembers of Digital is:XXH
The Nembers of Capital Letters is:XXH
The Nembers of Small Letters is:XXH
程序要求:
1、二进制转十六进制并显示的功能由BTOHDSP实现
2、回车换行用CRLF宏指令实现
3、字符H的显示用OUTPUT宏指令实现
软件实验一
实验内容
在数据区定义字母数字串,分别统计数字、大写字母、小写字母个数,分别存放在SHUZI、DAXIE、XIAOXIE单元中。多次统计,记录统计结果。
实验要求
在熟悉wave 6000编程环境的基础上,完成上述源程序的输入、汇编、修改、运行等实验步骤,直到程序执行得到正确结果为止。熟练掌握单步运行、断点设置、自动运行、寄存器内容,数据区内容查看等程序调试技术。
4、提示信息的显示用宏INOUT宏指令实现
实验要求:调试程序,直到正确实现所要求的功能。
XS MACRO OPR
LOCAL CZ1,CZ2
MOV BL,OPR
MOV CL,4
XOR CH,CH
SHR BL,CL
CMP BL,0AH
JB CZ1
ADD BL,07H
CZ1:ADD BL,30H
MOV DL,BL
CMP AL,30H
JB OTHER
CMP AL,39H
JA NEXT1
INC SHUZI
JMP OTHER
NEXT1:CMP AL,41H
JB OTHER
CMP AL,5AH
JA NEXT2
INC DAXIE
JMP OTHER
NEXT2:CMP AL,61H
JB OTHER
CMP AL,7AH
JA OTHER
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
ENDM
DATA SEGMENT
BUFSIZE DB 10
ACTCHAR DB ?
CHARTEXT DB 10 DUP(20H)
DB '$'
ORG 0020H
SHUZI DB ?
DAXIE DB ?
XIAOXIE DB ?
TS DB 'Please Enter A String(<=10):','$'
INC DAXIE
JMP OTHER
NEXT2:CMP AL,61H
JB OTHER
CMP AL,7AH
JA OTHER
INC XIAOXIE
OTHER:LOOP GET
MOV AH,4CH
INT 21H
CODE ENDS
END START
软件实验三
实验内容
将内存区定义的字母数字串的统计结果以16进制形式显示出来,显示格式为:
2、在显示器上显示
The string you inputed is:XXXXXXXXXX
3、在显示器上分行显示十进制统计结果
The Nembers of Digital is:XX
The Nembers of Capital Letters is:XX
The Nembers of Small Letters is:XX
INC XIAOXIE
OTHER:LOOP NEXT
MOV DL,OFFSET TS1
MOV AH,09H
INT 21H
MOV AL,SHUZI
XS AL
CRLF
MOV DL,OFFSET TS2
MOV AH,09H
INT 21H
MOV AL,DAXIE
XS AL
CRLF
MOV DL,OFFSET TS3
TS1 DB 'The Number Of Digital Is:','$'
TS2 DB 'The Number Of Capital Letter Is:','$'
TS3 DB 'The Number Of Small Letter Is:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MOV DS,AX
XOR AX,AX
MOV CL,COUNT
XOR CH,CH
LEA SI,BUF
CLD
GET:LODSB
CMP AL,30H
JB OTHER
CMP AL,39H
JA NEXT1
INC SHUZI
JMP OTHER
NEXT1:CMP AL,41H
JB OTHER
CMP AL,5AH
JA NEXT2
MOV AH,2
INT 21H
MOV BL,OPR
AND BL,0FH
CMP BL,0AH
JB CZ2
ADD BL,07
CZ2:ADD BL,30H
MOV DL,BL
MOV AH,2
INT 21H
MOV DL,'H'
MOV AH,2
INT 21H
ENDM
CRLF MACRO
MOV DL,0DH
MOV AH,2
MOV AH,09H
INT 21H
MOV AL,XIAOXIE
XS AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
软件实验四
实验内容
从键盘键入字母数字串,统计各类字符个数并以十进制形式在显示器上显示出来。
显示格式要求
1、在显示器上显示提示信息:
Pleace input any digital and letter string
4、分类统计功能由子程序TONGJI实现
5、二进制转十进制并显示功能由子程序BTOD实现
INOUT MACRO OPR1
DATA SEGMENT
BUF DB 'DADD\545s....'
COUNT EQU $-BUF
ORG 0020H
SHUZI DB 00H
DAXIE DB 00H
XIAOXIE DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
4、在显示器上显示提示信息
Are you continue?(Y/N)
按Y继续1~3的统计显示过程,按N或其它字符均退出统计返回DOS。
这里建议:不区分输入Y或N的大小写,均为有效。
程序要求:
1、提示字符串的显示功能用宏指令INOUT实现
2、回车换行用CRLF宏指令实现
3、单个字符输入用INPUT宏指令实现
START:MOV AX,DATA
MOV DS,AX
XOR AX,AX
LEA SI,CHARTEXT
CLD
MOV DL,OFFSET TS
MOV AH,09H
INT 21H
MOV H
INT 21H
XOR CX,CX
MOV CL,ACTCHAR
NEXT:LODSB
相关文档
最新文档