《计算机硬件技术基础》实验答案程序
- 格式:doc
- 大小:362.00 KB
- 文档页数:31
实验一:简单程序设计实验(1)编写一个32 位无符号数除法的程序,要求将存放在NUM1 中的32 位无符号数与存放在NUM2 中的16 位无符号数相除,结果存放在程序流程图略。
参考源程序:NUM1 DD 2A8B7654HNUM2 DW 5ABCHNUM3 DW ?NUM4 DW ?ASSUME DS:DATA, CS:CODE;数据段寄存器初始化MOV AX, WORD PTR NUM1MOV DX, WORD PTR NUM1+2DIV NUM2MOV NUM3,AXMOV NUM4,DXEND START(2)编写一个拆字程序。
要求将存放在ARY 单元的2 位十六进制数X1X2 拆为X1 和X2 两部分,并以0X1 和0X2 的形式分别存入ARY+1 和ARY+2 单元中。
程序流程图略。
参考源程序:DATA SEGMENTARY DB 2AH,?,?DATA ENDSCODE SEGMENTASSUME DS:DATA, CS:CODESTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET ARY MOV AL,[SI] ;取ARY 的偏移地址;取16进制数至ALNUM3 和NUM4 中。
DATA SEGMENTDATA ENDS CODE SEGMENTSTART: MOV AX,DATAMOV DS,AXCODE MOV AH,4CHINT 21HENDS;正常返回DOS 系统MOV BL,ALAND AL,0F0H;取16进制数的高四位,即X1SHR AL,4MOV [SI+1],AL ;存0X1 MOV AL,BLAND AL,0FH; 取16 进制数的低四位,即X2MOV [SI+2],AL ;存0X2MOV AH,4CHINT 21HENDSEND STARTCODE实验二:分支程序设计实验(1)编写一个字符比较程序,比较 3 个无符号字节数 A ,B ,C 的大小,并根据比较结果 对变量 K 赋值:如果 3 个数不相等,则 K=0 ; 如果 3 个数中有两个相等,则 K=1 ; 如果 3 个数都相等,则 K=2 。
精品---专科《计算机硬件技术基础》一、(共75题,共150分)1. PCI总线系统采用的总线时钟可以是33MHz和66MHz,当采用66MHz总线时钟工作于64位系统时,其数据传输速率是( )。
(2分)A.132MB/sB.264MB/sC.528MB/sD.1024MB/s.标准答案:C2. USB口最多可连接的外设个数是( )。
(2分)A.16B.64C.127D.255.标准答案:C3. 由于外设和CPU速度不一致,通常在I/O接口电路中选用一个器件完成数据传送功能,该器件是()。
(2分)A.缓冲器B.锁存器C.译码器D.移位器.标准答案:A4. 8259A的中断屏蔽字OCW1()设置。
(2分)A.在ICW之前B.只允许一次C.可允许多次D.仅屏蔽其中断源时.标准答案:C5. 微处理器系统中采用统一编址方式时存储单元与I/O端口是通过( )来区分的。
(2分)A.不同的地址编码B.不同的读控制逻辑C.不同的写控制逻辑D.专用I/O指令.标准答案:A6. 8254引脚CS#、RD#、WR#、A1、A0为()时表示对计数器0设置计数初值。
(2分)A.01000BB.01001BC.01011BD.01010B.标准答案:A7. 8254工作在方式1和方式5时,门控信号为()触发。
(2分)A.上升沿B.下降沿C.高电平D.低电平.标准答案:A8. 8086访问I/O端口的指令,常以寄存器间接寻址方式在DX中存放()。
(2分)A.I/O端口状态B.I/O端口数据C.I/O端口地址D.I/O端口控制字.标准答案:C9. 8259A是()。
(2分)A.可编程DMA控制器B.可编程中断控制器C.可编程定时/计数器D.总线仲裁器.标准答案:B10. 用8259A管理优先级时,当一个中断请求服务结束后,其中断源的优先级降为最低,其余中断源优先级也相应变化,这是一种()方式。
(2分)A.自动循环B.完全嵌套C.特殊循环D.特殊屏蔽.标准答案:A11. 8255A内部A组控制()。
第五章习题答案一选择题(1)D (2)C(3)C (4)A(5)A(6)C (7)D(8)C (9)A(10)C 二简答题1.计算机输入/输出接口的基本功能是什么?计算机输入/输出接口基本功能:数据缓冲、数据类型和格式的转换、控制功能、传送主机命令、程序中断、地址译码、反应设备的工作状态。
2.请简述I/O端口的寻址方式。
微型计算机系统中,对I/O接口的端口进行编址的目地在于确定哪个端口被主机访问。
编址的方法有以下两种:(1)统一编址:指将每个端口视为一个存储单元,并赋以相应的存储地址。
(2)独立编址:把所有的I/O端口看成一个独立于存储空间的I/O空间,每个端口都被分配一个地址与之对应。
3.中断排优方式有哪些?(1)软件排优;(2)硬件排优:(a)链式硬件排优电路(b)可编程中断控制器4.与程序控制方式和中断控制方式相比,DMA有以下不同之处有哪些?直接存储器访问(DMA)方式是一种完全由硬件执行I/O交换的工作方式,它的关键是另外构造一个控制器,代替CPU管理与主存间的数据交换,这个控制器就是DMA控制器。
由于DMA控制器(专门的硬件设备)从CPU手中接管了对总线的控制权,使得数据交换在内存和外设之间高速进行,不需要经过CPU,当然也就不用进行保护现场和恢复现场之类的额外操作,就可以直接对存储器进行存取。
5.简述DMA的操作过程与其3种工作方式。
DMA的数据传送过程可分为传送前预处理、正式传送、传送后处理3个处理阶段。
工作方式:CPU暂停访问主存方式、周期窃取方式、DMA与CPU交替使用总线访问存储器方式。
6.请简述DMA控制器的组成。
DMA控制器由以下几个部分组成:(1)字数计数器(2)内存地址计数器(3)数据缓冲寄存器(4)“控制/状态”逻辑(5)“DMA请求”标志(6)中断控制逻辑。
7.常用接口标准有哪些?(1)图形显示接口标准(2)传统串并行接口标准(3)外存设备接口标准(4)通用外设接口标准。
计算机基础硬件作业4答案
本文档提供了计算机基础硬件作业4的答案。
问题一
问题描述:请解释什么是计算机总线?
答案:计算机总线是计算机内部各个组件之间传输数据和控制
信号的一种通信路径。
它可以分为三种类型:数据总线、地址总线
和控制总线。
数据总线用于传输数据,地址总线用于指定数据的存
储位置,控制总线用于控制计算机的操作。
问题二
问题描述:请说明什么是主板?
答案:主板是计算机系统中最重要的组成部分之一,也被称为
系统板或母板。
它是连接各种硬件设备的中心电路板,包括处理器、
内存、扩展插槽、其他外部设备接口等。
主板提供了这些硬件之间的电气连接和数据传输。
问题三
问题描述:请简要描述计算机存储层次结构。
答案:计算机存储层次结构是指计算机内部存储器按照速度和容量的不同划分为多个层次。
一般来说,高层次的存储器速度较慢但容量较大,低层次的存储器速度较快但容量较小。
这样的划分可以提高数据访问的效率和速度。
问题四
问题描述:请解释什么是主存储器和辅助存储器?
答案:主存储器是计算机内部的一种易失性存储器,用于存储当前正在执行的程序和数据。
它是计算机直接访问的存储器,读写速度较高。
辅助存储器是计算机外部的一种非易失性存储器,用于长期存储程序和数据。
它的容量通常较大,但读写速度较慢。
以上是计算机基础硬件作业4的答案。
注意:本文档的内容仅供参考,请自行核实。
第一章1见《大学计算机基础(第2版)应用指导》P113 第16题答案2见《大学计算机基础(第2版)应用指导》P112 第15题答案3操作系统(Operating System)是计算机系统软件的核心。
其主要功能是管理计算机的硬件资源和软件资源,合理地组织计算机系统的工作流程,提高计算机系统的效率,并为用户提供一个良好的界面,以方便用户对计算机的使用。
从用户角度看,操作系统是用户与计算机之间的接口设置操作系统有两个主要目的,其一是管理和控制一台计算机的所有硬件资源,其二是为用户使用计算机创造良好的工作环境。
从管理目的来说,操作系统具有如下功能:CPU管理、存储管理、设备管理、文件管理、进程管理。
一个程序的执行过程称为进程式任务,进程管理就是对程序执行过程的管理,它负责监控程序执行过程的基本状态,控制程序执行过程的速度,在多个执行程序之间传递数据,解决程序执行过程中的资源竞争问题等。
4根据操作系统提供的工作环境,可分为批处理操作系统、分时处理操作系统、实时处理操作系统、网络操作系统、分布式操作系统。
从操作系统支持的硬件环境,又可分为通用操作系统、工作站操作系统、个人计算机操作系统。
个人计算机操作系统是单用户操作系统,因此在CPU管理和内存管理等方面就比较简单。
早期的个人计算机使用CP/M(Control Program for Microprocessors)系统,20世纪80年代初开始使用DOS(Disk Operating System),这是一个单用户单任务操作系统。
近些年来,由于多媒体技术的广泛应用及个人计算机硬件系统的迅速发展,个人计算机操作系统也得到极大的发展。
如今在个人计算机上可以使用Windows、Linux、UNIX等多任务操作系统。
5微型计算机系统的软件也分为两大类,即系统软件和应用软件。
系统软件是指由计算机生产厂(部分由“第三方” )为使用计算机而提供的基本软件。
最常用的有:操作系统、文字处理程序、计算机语言处理程序、数据库管理程序、联网及通信软件、各类服务程序和工具软件等。
《计算机硬件基础》课程实验指导书辽宁工程技术大学软件学院2010年2月目录实验上机操作范例实验一汇编语言程序的调试与运行实验二简单程序设计实验三循环程序设计实验四综合程序设计(一)实验五综合程序设计(二)实验六高级汇编技术实验上机操作范例【范例】完成具有如下功能的分段函数1 X>0Y = 0 X=0-1 X<0其中:X存放在内存单元中,Y为结果单元。
【问题分析】根据题意画出程序流程图,如图1所示。
图1 分段函数的程序流程图根据程序流程图编写如下程序DSEG SEGMENTX DW ?Y DW ?DSEG ENDSCSEG SEGMENTASSUME CS: CSEG, DS: DSEGSTART:MOV AX, DSEGMOV DS, AXLEA SI, XMOV AX, [SI]AND AX, AXJNS LP1MOV Y, 0FFH ; X<0JMP END1LP1: JNZ LP2MOV Y, 00HJMP END1LP2: MOV Y, 01HEND1: MOV AH, 4CHINT 21HCSEG ENDSEND START汇编语言程序的开发分为以下4个部分:编辑(生成.asm文件)—→汇编(生成.obj文件)—→连接(生成.exe文件)—→调试。
下面分别通过两种上机环境介绍汇编语言源程序从编辑到生成一个可执行文件(.exe文件)的过程。
一种方法是利用Microsoft公司提供的MASM5版本的工具包(包括edit.exe、masm.exe、link.exe、debug.exe),如图2所示;另一种是利用汇编集成编辑器来完成。
图2 D盘下的MASM5工具包下面的例子按以下几个步骤完成:(1)先编写一个fenduan.asm文件;(2)保存并通过运行masm.exe生成目标文件fenduan.obj;(3)再利用link.exe生成可执行文件fenduan.exe;(4)运行fenduan.exe文件;(5)运行debug fenduan.exe后即可对程序进行跟踪调试。
(完整版)计算机硬件技术基础习题答案(太原理⼯)计算机硬件技术基础习题答案习题⼀:1-8: 28 Bytes = 256 Bytes;216 Bytes = 210×26Bytes = 64KB;220 Bytes = 210×210Bytes = 1MB;232 Bytes = 210×210×210×22 Bytes = 4GB 。
1-12:指令通常包括操作码和操作数两部分。
操作码表⽰计算机执⾏什么具体操作;操作数表⽰参加操作的数的本⾝或操作数所在的地址(操作数的地址码)。
1-22:[+89]补= 0 101 1001B;[-89]补= 1 010 0111B;[+67]补= 0 100 0011B;[-67]补= 1 011 1101B。
(1)[-89]补+ [+67]补= 10100111B + 01000011B= 1 110 1010B = eaHV = D7C D6C=00=0 ⽆溢出D7C = 0; D6C = 0(2)[+89]补+ [-(-67)]补= [+89]补+ [+67]补=01011001B + 01000011B= 1 001 1100B = 9cHV = D7C D6C=01=1溢出D7C = 0; D6C = 1(3)[-89]补+ [-67]补= 10100111B + 10111101B= 1, 0 110 0100B = 64HV = D7C D6C=10=1溢出D7C = 1; D6C = 0(4)[-89]补+ [-(-67)]补= [-89]补+ [+67]补=10100111B + 01000011B= 1 110 1010B = eaHV = D7C D6C=00=0 ⽆溢出D7C = 0; D6C = 01-30:(1) 01111001 + 01110000补码竖式:01111001+ 01110000———————11101001V = D7C D6C=01=1 溢出;两正数相加,其结果应为正数;但结果为负数,故产⽣了溢出,正溢出。
第三章习题答案1.名词解释随机存储器:随机存取存储器简称RAM,也叫做读/写存储器,它能够通过指令随机地、个别地对其中各个单元进行读/写操作。
随机存储器中任何一个存储单元都能由CPU或I/O设备随机存取,且存取时间与存取单元的物理位置无关。
按照存放信息原理的不同,随机存储器又可分为静态和动态两种。
只读存储器:只读存储器是只能随机读出已经存储的信息,但不能写入新的信息的存储器。
位扩展:位扩展是指用多个存储器器件对字长进行扩充。
位数的扩展是利用芯片的并联方式来实现的,各存储芯片地址线、片选端和读写控制线并联,数据端单独引出。
全译码法:除了将低位地址总线直接连至各芯片的地址线外,余下的高位地址总线全部参加译码,译码输出作为各芯片的片选信号。
相联存储器地址映象:地址映像的功能是应用某种函数把CPU发送来的主存地址转换成Cache的地址。
地址映象方式通常采用直接映象、全相联映象、组相联映象三种方式。
Cache:高速缓冲存储器。
虚拟存储器:虚拟存储器(VirtualMemory)又称为虚拟存储系统,是以存储器访问的局部性为基础,建立在主存一辅存物理体系结构上的存储管理技术。
它是为了扩大存储容量,把辅存当作主存使用,在辅助软、硬件的控制下,将主存和辅存的地址空间统一编址,形成个庞大的存储空间。
程序运行时,用户可以访问辅存中的信息,可以使用与访问主存同样的寻址方式,所需要的程序和数据由辅助软件和硬件自动调入主存,这个扩大了的存储空间,就称为虚拟存储器。
存储器带宽:内存储器每秒钟访问二进制位的数目称为存储器带宽,用Bm表示。
它标明了一个存储器在单位时间内处理信息的能力。
存取时间存取时间又称存储器访问时间,是指启动一次存储器操作到完成该操作所需的时间。
逻辑地址:用户可以像使用内存一样利用虚拟存储器的辅存部分。
编程时,涉及辅存大小的空间范围的指令地址称为“虚地址(Virtual Address)”或“逻辑地址”。
物理地址:实际的主存储器单元地址则称为“实地址”或“物理地址(Physical Address)。
实验一:简单程序设计实验(1)编写一个 32 位无符号数除法的程序,要求将存放在 NUM1 中的 32 位无符号数与存放 在 NUM2 中的 16 位无符号数相除,结果存放在 NUM3 和 NUM4 中。
程序流程图略。
参考源程序:DATASEGMENTNUM1 DD 2A8B7654H NUM2 DW 5ABCH NUM3 DW ? NUM4 DW ?DATAENDSCODESEGMENTASSUME DS:DATA, CS:CODESTART: MOV AX,DATA;数据段寄存器初始化MOV DS,AXMOV AX, WORD PTR NUM1 MOV DX, WORD PTR NUM1+2 DIV NUM2 MOV NUM3,AX MOV NUM4,DX MOV AH,4CH ;正常返回DOS 系统INT 21HCODEENDS END START(2)编写一个拆字程序。
要求将存放在 ARY 单元的 2 位十六进制数 X 1X 2 拆为 X 1 和 X 2 两 部分,并以 0X 1 和 0X 2 的形式分别存入 ARY+1 和 ARY+2 单元中。
程序流程图略。
参考源程序:DATA SEGMENTARY DB 2AH,?,?DATA ENDSCODESEGMENTASSUME DS:DATA, CS:CODESTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET ARY ;取ARY 的偏移地址 MOV AL,[SI];取16进制数至ALMOV BL,ALAND AL,0F0H ;取16进制数的高四位,即X1SHR AL,4MOV [SI+1],AL ;存0X1MOV AL,BLAND AL,0FH ;取16进制数的低四位,即X2MOV [SI+2],AL ;存0X2MOV AH,4CHINT 21HCODE ENDSEND START实验二:分支程序设计实验(1)编写一个字符比较程序,比较3 个无符号字节数A,B,C 的大小,并根据比较结果对变量K 赋值:如果3 个数不相等,则K=0;如果3 个数中有两个相等,则K=1;如果3 个数都相等,则K=2。
程序流程图略。
参考源程序:DATA SEGMENT ;定义待比较数A、B、C,比较结果KA DB 20HB DB 20HC DB 20HK DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,ACMP AL,B ;对A、B进行比较,不相等则转到COMP2JNE COMP2 ;相等则比较A、CCMP AL,CJNE K1 ;A、C不相等则K=1JMP K2 ;A、C相等则K=2COMP2: MOV BL,BCMP BL,CJE K1 ;对B、C进行比较,相等则K=1CMP AL,CJE K1 ;对A、C进行比较,相等则K=1K0: MOV K,0JMP EXITK1: MOV K,1JMP EXITK2: MOV K,2EXIT: MOV AH,4CHINT 21HCODE ENDSEND START(2)编写一个能实现下列表达式的程序:⎧N = ⎨A + B A ≤B设A,B,C 为小于128 的正整数。
⎩A −B +C程序流程图略。
参考源程序:DATA SEGMENTA > BA DB 22H ;定义A、B、C、NB DB 10HC DB 01HN DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL, ACMP AL, BJG CALCUL ;A 小于或等于B 则N=A+BADD AL,BJMP EXITCALCUL: SUB AL, BADC AL, CEXIT: MOV N, ALMOV AH,4CHINT 21HCODE ENDSEND START实验三循环程序设计实验(1)将字符串STRN(以“$”结尾)中的每一个字符均加上偶校验位,并统计有多少个字符因含有奇数个“1”而加上了校验位。
统计结果存于N单元中。
程序流程图略。
参考源程序:DA TA SEGMENTSTRN DB 'What$' ;任意定义一个字串,以“$”结尾COUNT EQU $-STRNN DB ?BUF DB COUNT DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AX, DATAMOV ES, AXLEA SI, STRNLEA DI, BUFMOV CX, COUNTMOV AL, 0LP1: MOV BL, [SI] ;逐个取字符进行判断AND BL, BL ;自己和自己做与运算JP NEXT ;根据PF 标志位的变化进行跳转INC ALOR BL, 80HNEXT: MOV [DI], BLINC SIINC DILOOP LP1MOV N, ALMOV AH, 4CHINT 21HCODE ENDSEND START(2)在FIRST 开始的一片连续的数据区中存放着100 个数据,编写一个程序,统计第1个数据‘0’之前的数据个数。
程序流程图略。
参考源程序:DA TA SEGMENTFIRST DB 10H,24H,34H, 73H,20H,44H,03H,36H,41H ;任取9 个数做演示COUNT EQU $-FIRSTNUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DL, 0 ;计数值初始为0MOV CX,COUNTMOV BX, OFFSET FIRSTLP1: MOV AL, [BX] ;每次取一个数,与0 比较CMP AL, 00HJNE NEXTJMP EXIT ;找到0 则退出NEXT: INC DL ;没找到0 则计数值加1 INC BXLOOP LP1EXIT: MOV NUM, DLMOV AH, 4CHINT 21HCODE ENDSEND START实验四:子程序设计实验将BUF开始的10个单元中两位十六进制数转换成ASCII码,并在屏幕上显示出来。
要求码型转换通过子程序HEXASC实现,参数传送采用寄存器传送方式。
程序流程图略。
参考源程序:(1)实现方法一:远过程调用DA TA SEGMENTBUF DB 10H,2FH,0D0H,0FEH,33H,0F0H,20H,10H,3DH,0A2HCOUNT EQU $-BUF ;定义任意长度的一段BUFDA TA ENDSSTACK1 SEGMENT STACKDB 100 DUP(?) ;设置足够深度的栈区STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUFMOV CX,COUNTAGAIN: MOV AL,[SI] ;逐个取数MOV BL,ALSHR AL,4AND AL,0FH ;先对高字节部分转换(寄存器AL 传参)CALL FAR PTR HEXASC ;调用子程序MOV DL,ALMOV AH,02H ;显示高字节部分对应的字符INT 21HMOV AL,BLAND AL,0FH ;再对低字节部分转换(寄存器AL 传参)CALL FAR PTR HEXASC ;调用子程序MOV DL,ALMOV AH,02H ;显示低字节部分对应的字符INT 21HMOV DL,20HMOV AH,02H ;显示空格INT 21HINC SILOOP AGAINMOV AH,4CHINT 21HCODE ENDSCODEB SEGMENTASSUME CS:CODEBHEXASC PROC FARCMP AL,09H ;判断是不是数字JA HEXATOF ;是字母则转到HEXATOFADD AL,30H ;是数字则对应到数字的ASCII 码JMP ENDHEXHEXATOF:ADD AL,37H ;是字母则对应到字母的ASCII 码ENDHEX: RETHEXASC E NDPCODEB ENDSEND START(2)实现方法二:近过程调用DA TA SEGMENTBUF DB 10H,2FH,0D0H,0FEH,33H,0F0H,20H,10H,3DH,0A2HCOUNT EQU $-BUF ;定义任意长度的一段BUFDA TA ENDSSTACK1 SEGMENT STACKDB 100 DUP(?) ;设置足够深度的栈区STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUFMOV CX,COUNTAGAIN: MOV AL,[SI] ;逐个取数MOV BL,ALSHR AL,4AND AL,0FH ;先对高字节部分做转换CALL HEXASCMOV DL,AL ;显示高字节部分对应的字符MOV AH,02HINT 21HMOV AL,BLAND AL,0FH ;再对低字节部分做转换CALL HEXASCMOV DL,AL ;显示低字节部分对应的字符MOV AH,02HINT 21HMOV DL,20H ;显示空格MOV AH,02HINT 21HINC SI ;继续循环或退出LOOP AGAINMOV AH,4CHINT 21HHEXASC PROC NEARCMP AL,09HJA HEXATOFADD AL,30HJMP ENDHEXHEXATOF:ADD AL,37HENDHEX: RETHEXASC ENDPCODE ENDSEND START实验五:DOS 中断调用实验(1)如果从键盘上依次输入的是一个数字和一个字母,则输出“RIGHT”标记后结束程序,否则输出标记“ERROR”后转向原出错处重做。
试编程实现该功能。
程序流程图略。
参考源程序:DA TA SEGMENTMSG DB 0AH,0DH,'RIGHT',0AH,0DH,'$'WRN DB 0AH,0DH,'ERROR',0AH,0DH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXAGAIN: MOV AH,01H ;等待用户输入1 个字符并显示INT 21HCMP AL,39HJA EMSGCMP AL,30HJB EMSG ;判断输入是否是数字,不是则报错MOV AH,01H ;等待用户输入1 个字符并显示INT 21HCMP AL,'A'JB EMSGCMP AL,'Z' ;判断输入是否是大写字母,不是则继续JB EXIT ;判断是不是小写字母CMP AL,'a'JB EMSGCMP AL,'z'JB EXIT ;不是字母则报错,是字母则转到EXITEMSG: LEA DX,WRNMOV AH,09HINT 21HJMP AGAINEXIT: MOV DX,OFFSET MSGMOV AH,09H ;显示“RIGHT”并退出INT 21HMOV AH,4CHINT 21HCODE ENDSEND START(2)编写一程序分类统计字符个数:即接收键入的一串字符(字符个数不超过50个,该字符串用回车作为结束),并按数字、字母和其它字符分类计数,然后将结果存入digit、letter 和other 3个存储单元中,并显示结果。