汇编实验三:分类统计字符个数

合集下载

计算机硬件技术基础实验答案程序

计算机硬件技术基础实验答案程序

实验一:简单程序设计实验(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 。

汇编-统计输入字符串内的数字个数(最多三位数0—256)

汇编-统计输入字符串内的数字个数(最多三位数0—256)

汇编:统计输入字符串内的数字个数(最多三位数0—256);This is made by wq;编程从键盘读入不超过256 个字符的字符串;;编程统计其中数字的个数,并将结果在屏幕上输出。

;经进一步完善(能输出三位数啦)DATAS SEGMENT sum db 00h ;累加器string db 256 dup(0dh);存放字符tital db This program is made by wq.,0dh,0ah db It is used to calculater the amout of the number in the string ,0dh,0ah,$ tital1 db PLease input the string: ,$ overs db Amout of the nember is : ,$ tital2 db Do you want to have a try again(if yes,input “y” else “n”) : ,0dh,0ah, $ tital3 db Welcome to use this program again,$ kongzi db 0dh,0ah,$ result db 256 dup(?)DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX mov ax,offset tital;输出抬头mov dx,ax mov ah,09h int 21hmain: lea dx,kongzi mov ah,09h int 21h lea dx,tital1 ;输出抬头1 mov ah,09h int 21h mov si,0 mov ax,offset string mov dx,axagain: ;输入字符mov ah,01h int 21h cmp al,0dh jz then mov string[si],al inc si jmp again ;输入完毕then: ;传输mov di,0 mov si,0 mov bl,0exchang: ;判断字符的性质lea dx,string cmp string[si],0dh jz over cmp string[si],30h jnb next inc si dec cx jmp exchangnext: mov al,string[si] cmp string[si],39h jbe calculator inc si dec cx jmp exchangtips:感谢大家的阅读,本文由我司收集整编。

【精品文档】汇编语言-统计字符串中的字符个数

【精品文档】汇编语言-统计字符串中的字符个数

prompt2 byte cr, lf, "the string have ", 0 count1 dword 11 dup (?) prompt3 byte ' char',cr, lf, 0 string byte 100 dup (?)
.CODE count
proc near32 push ebp mov ebp, esp
INCLUDE io.h
; header file for input/output
cr
EQU 0dh ; carriage return character
Lf
EQU 0ah ; line feed
.STACK 4096
; reserve 4096-byte stack
.DATA prompt1 byte cr, lf, "Please input your string:",cr, lf,0
实 验 结 果 分 析 及 心 得 体 会
成 绩 评 定
备注:源代码附后,源代码要求有注释说明
教师签名mple assembly language program -- count number of chars in the string ; Author: duchuanhu ; Date: revised 12/08
.386 .MODEL FLAT
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
output prompt2 output count1 + 8 output prompt3
INVOKE ExitProcess, 0 ; exit with return code 0

分类统计字符个数

分类统计字符个数

分类统计字符个数
中文字符指的是汉字、拼音、汉语标点符号等,是构成中文语言的基本单位。

在中文领域,分类统计汉字的数量及其使用情况已有多年的历史,可以为文字记录、语言学研究、数字化技术应用提供重要依据。

首先,统计字符的数目可以有效地记录中文字符数据,以便研究如何使用字符及其使用情况的变化。

从古代开始,就有多种不同的方法用于统计字符数目,但是,近几年来,随着计算机技术和语言学的发展,新的变化也被引入到字符统计中。

例如,通过计算机对文本中的字符进行自动编码,可以准确统计汉字数量。

此外,在统计字符数目时,也可以按照字符的使用频率来分类。

其中,常用字符是指经常使用的汉字,较少使用的汉字称为次常用字符。

这种分类可以有效地了解字符的使用状况。

从类别上看,常用的字符数量一般较多,但次常用字符的使用数量却相对较少。

另外,分类统计字符也可以用来回答一系列关于中文字符使用情况的问题。

例如:有多少汉字总共存在?哪些字符使用最广泛?应该如何改进字符使用方式?等等。

这些问题的解决对于提高中文记录的质量,提升中文数字化技术的应用,以及改善中文字符数据的统计技术具有重要意义。

综上所述,分类统计字符的数量及其使用情况的研究与应用有着非常重要的意义。

它不仅可以有效地记录和统计中文字符数据,还可以回答有关中文字符使用情况的一系列问题。

未来,分类统计字符还
将在中文文字记录、语言学研究、数字化技术应用等方面发挥重要作用。

c语言字符个数统计长字符串中不同字符数 -回复

c语言字符个数统计长字符串中不同字符数 -回复

c语言字符个数统计长字符串中不同字符数-回复C语言字符个数统计长字符串中不同字符数在编程的世界中,经常会遇到需要统计字符串中不同字符个数的问题。

对于初学者来说,这似乎是一个相对简单的问题,但实际上,它涉及了很多基本的概念和技巧。

本文将以C语言为基础,详细解释如何使用C语言来统计长字符串中不同字符的个数。

首先,让我们了解一下C语言中的字符数据类型。

在C语言中,字符被定义为一种基本数据类型,用于存储单个字符。

我们可以使用单引号将字符常量括起来,例如'a','b','c'等。

字符变量可以用来存储单个字符,字符数组可以用来存储一系列字符。

在C语言中,字符串是由字符构成的字符数组。

字符串以空字符'\0'结尾,表示字符串的结束。

C语言提供了许多函数来操作字符串,包括字符串长度函数strlen(),字符串复制函数strcpy(),字符串连接函数strcat()等。

要统计长字符串中不同字符的个数,我们可以使用一个字符数组来存储已经出现的字符,并使用一个计数器变量来记录不同字符的个数。

具体的步骤如下:1. 声明一个字符数组和一个计数器变量。

char charArray[256]; 假设字符串中的字符取值范围在ASCII码的0-255之间int count = 0;2. 初始化字符数组中的元素为0。

这一步是非常重要的,因为在C语言中,未初始化的变量会被赋予一个随机的值,这可能导致错误的计算结果。

cmemset(charArray, 0, sizeof(charArray));3. 遍历长字符串的每个字符。

cfor (int i = 0; i < strlen(longString); i++) {统计每个字符出现的次数}4. 在循环中,对于每个字符,先判断它是否已经出现过。

如果字符数组中对应位置的值为0,则表示该字符尚未出现,需要将计数器加一,并将字符数组对应位置的值设为1。

从键盘输入一串字符,分别统计其中的字母,数字字符和其他

从键盘输入一串字符,分别统计其中的字母,数字字符和其他

汇编编程:从键盘输入一串字符,分别统计其中的字母(不区分大小写)、数字字符和其他键盘输入一串字符,统计出其中的数字字符个数,字母字符(不区分大小写)个数,其他字符个数,并显示出这三类统计结果(输入字符串以回车结束),可连续对多个字符串统计,用户输入N时退出程序。

要求:题目分析(如何实现,以及实现的关键技术或步骤)2.要有流程图3.写出程序代码4.写出上机操作步骤,给出输入的数据及程序运行结果。

; 题目名称:分类统计字符; 题目来源:/question/131013276.html; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。

Code SegmentAssume CS:Code,DS:Code; -------------------------------------; 功能:显示指定地址(Str_Addr)的字符串; 入口:; Str_Addr=字符串地址(要求在数据段); 用法: Output Str_Addr; 用法举例:Output PromptStrOutput MACRO Str_Addrlea dx,Str_Addrmov ah,9int 21hEndM; -------------------------------------; 功能:在当前光标位置显示一个字符; 入口:dl=要显示的字符Output_Chr proc Nearpush axmov ah,02hint 21hpop axretOutput_Chr Endp; -------------------------------------; 功能:显示、输出一个回车、换行Output_CTLF proc Nearpush axpush dxmov ah,02hmov dl,0dhint 21hmov dl,0ahint 21hpop dxpop axretOutput_CTLF Endp; -------------------------------------; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示; 入口:AX=二进制数; 出口:在当前光标位置显示转换后的ASCII码数字Unsi_Dec_ASCII Proc Nearpush dxpush bxpush dimov bx,10lea di,@@Temp_Save[5]mov BYTE PTR [di],'$'dec dicld@@Divide: xor dx,dxdiv bxor dl,30hmov [di],dldec ditest ax,axjnz @@Divideinc dipush dipop dxmov ah,9int 21hpop dipop bxpop dxret@@Temp_Save db 6 dup(?)Unsi_Dec_ASCII EndP; -------------------------------------; 功能:键盘输入一个字符,若输入的是'y'或'n'(不分大小写),则显示并返回; 入口:无; 出口:若输入的是'y',进位标志置位;若输入的是'n',进位标志复位。

IBM-PC汇编语言程序实验报告

IBM-PC汇编语言程序实验报告

华北电力大学实验报告名称:汇编语言程序设计综合实验院系:信息工程系班级:网络工程10k1 学号:学生姓名:指导教师:设计天数:成绩:日期:年月日实验一用表格形式显示ASCII字符一、实验说明:按15行X16列的表格显示表示ASCII码为10H—100H的所有字符,即以行为主的顺序及ASCII码递增的次序一次显示对应的字符。

每16个字符为一行,每行中的相邻来那个字符之间用空白(ASCII为0)隔开。

(1)显示每个字符可使用功能号为02的现实输出功能调用,使用方法如下:mov ah,02hmov dl,输出字符的ASCII码int 21h本题中可把dl初始化为10H,然后不断使其加1(用INC指令)以取得下一个字符的ASCII码。

(2)显示空白符时,用其ASCII码置入dl寄存器。

每行结束时,用显示回车(ASCII为0dh)和换行符(ASCII为0ah)来结束本行并开始下一行。

(3)由于逐个显示相继的ASCII字符时,需要保存并不断修改dl寄存器的内容,而现实空白、回车、换行符时也需要使用dl寄存器,为此可使用堆栈来保存相机的ASCII字符。

具体使用方法:在显示空白或回车、换行符前用指令push dx把dl的内容保存到堆栈中去。

在现实空白或回车、换行符后用指令pop dx恢复dl寄存器的原始内容。

二、程序代码:code segmentassume cs:codestart:mov dx,0010h ;初值为10hnext:mov cx,0010h ;16列loop1:mov ah,02h;int 21h ;显示输出dl字符inc dx ;dx加1push dx ;把dx推进栈保存mov dl,0 ;显示空白符int 21hpop dx ;把dx之前的数取回来loop loop1 ;当cx=0时会自动跳出loop1循环push dx ;保存dx的数,即为了保存ascii码mov dl,0ah ;显示回车int 21h ;02的显示输出功能调用mov dl,0dh ;显示换行符int 21hpop dx ;把dx之前的数取回来cmp dx,100h ;最后的字符的ascii码为100h,相比较jb next ;小于时就跳会nextmov ah,4ch ;带返回码终止int 21hcode endsend start三、运行结果实验二查找匹配字符串一、实验说明程序接受用户键入的一个关键字以及一个句子。

汇编_分类统计字符个数(附源代码)

汇编_分类统计字符个数(附源代码)

2.输入字符,得出结果备注:源代码附后,源代码要求有注释说明.386.model flatExitProcess proto near32 stdcall, dwexitcode:dwordINCLUDE io.hcr EQU 0dhlf EQU 0ah.STACK 4096.DA TAprompt1 BYTE cr,lf,lf,"Please enter the string(<80).",cr,lf,lfBYTE "The string is:",0stringIn BYTE 1 DUP (?)charLabel BYTE cr,lf,"The number of char is:"char BYTE 16 DUP (?)BYTE cr,lf,0numberLabel BYTE cr,lf,"The number of number is:"number BYTE 16 DUP (?)BYTE cr,lf,0otherLabel BYTE cr,lf,"The number of other is:"other BYTE 16 DUP (?)BYTE cr,lf,0.CODE_start: output prompt1 ;提示输入字符mov ax,0mov bx,0mov cx,0begin:input stringIn,1;输入字符cmp stringIn,0dhje forOut ;是回车则结束程序cmp stringIn,0dhjb forOther ;ASCII码值小于0dh则其他字符数加1cmp stringIn,2fhjbe forOther;ASCII码值小于或等于2fh则其他字符数加1cmp stringIn,39hjbe forNumber;ASCII码值小于或等于39h则数字数加1cmp stringIn,40hjbe forOther;ASCII码值小于或等于40h则其他字符数加1cmp stringIn,5ahjbe forChar;ASCII码值小于或等于5ah则字母数加1cmp stringIn,60hjbe forOther;ASCII码值小于或等于60h则其他字符数加1cmp stringIn,7ahjbe forChar;ASCII码值小于或等于7ah则字母数加1jmp forOther;其他字符数加1forOther: ;其他字符数加1,回到循环开始inc axjmp beginforNumber: ;数字数加1,回到循环开始inc bxjmp beginforChar: ;字母数加1,回到循环开始inc cxjmp beginforOut:itoa other,axoutput otherLabel ;输出其他字符数itoa number,bxoutput numberLabel ;输出数字数itoa char,cxoutput charLabel ;输出字母数INVOKE ExitProcess,0PUBLIC _startEND。

分类统计各类字符个数解题思路

分类统计各类字符个数解题思路

分类统计各类字符个数解题思路
解题思路可以分为以下几个步骤:
1. 数据预处理:首先,我们需要对原始数据进行预处理,包括去除无关字符、统一字符编码等。

这样可以确保我们的统计结果是准确的。

2. 定义字符类别:我们需要明确哪些字符属于同一类别。

例如,我们可以将字母、数字、标点符号等分别定义为不同的类别。

3. 遍历字符串:接下来,我们需要遍历整个字符串,对每个字符进行分类。

我们可以使用一个字典来记录每个类别的字符数量。

4. 计数与统计:在遍历过程中,如果当前字符属于某个类别,我们就将该类别的计数器加一。

这样,遍历结束后,我们就可以得到每个类别的字符数量。

5. 输出结果:最后,我们将统计结果输出。

这可以是一个列表、表格或者任何其他形式,取决于具体的需求。

下面是一个简单的Python代码示例,用于统计一个字符串中字母和数字的数量:
总结:
解题的关键在于对字符串进行适当的预处理,并定义清晰的字符类别。

通过遍历字符串并使用字典来记录每个类别的字符数量,我们可以快速得到统计结果。

最后,根据需求选择合适的输出形式。

汇编语言程序设计—字符与数据的显示

汇编语言程序设计—字符与数据的显示

实验三汇编语言程序设计——字符与数据的操作(二)
一、实验目的:
1.掌握显示提示信息的方法及接收键盘输入信息的方法,完成字符串匹配程序。

2.掌握字符和数据的显示方法,完成字符和数据的显示程序。

3.了解小写字母和大写字母在计算机内的表示方法,并掌握如何进行转换,完成将键盘输入的小写字母转换成大写字母。

二、实验内容:
1. 编写程序,先显示信息“INPUT STRING ,THE END FLAG IS $”,再接收字符。

如为非数字字符即非“0——9”,则计数器加1,并显示字符。

如为数字,则直接显示,但不计数。

2.编写程序,接收键盘字符(以^-C为结束),并将其中的大写字母转变为小写字母,然后进行显示。

三、实验原理
1.DB、 DUP、 EQU等伪指令的功能以及使用格式;INT 21H 的09H子功能的功能、工作情况以及使用格式;INT 21H的0AH子功能的功能、工作情况以及使用格式;串扫描指令SCASB的功能以及使用格式;入栈、出栈指令PUSH 、POP的使用情况。

2.程序跳转指令JMP的功能及用法;比较指令CMP 、JB、 JBE 等指令的功能及用法;循环移位指令ROL的用法及功能;逻辑指令AND的功能及用法。

3.比较指令JA的功能及用法;减法指令SUB的功能及用法。

四、程序框图
五、实验步骤
1.按实验要求编写程序
2.汇编连接程序生成可执行文件 3.执行程序观察结果。

汇编语言-统计字符串中的字符个数

汇编语言-统计字符串中的字符个数

汇编语言-统计字符串中的字符个数前言计算机语言的层次可以分为机器语言、汇编语言、高级语言等等。

在这些语言中,汇编语言是最接近于计算机硬件的一种语言,是二进制代码的直接书写形式。

虽然比机器语言更容易编写阅读,但汇编语言的学习和编写难度仍然比较大。

本篇文章将介绍在汇编语言中统计字符串中的字符个数的方法。

一、问题描述二、思路分析我们可以遍历这个字符串中的每一个字符,然后对每一个字符统计一次,最终就可以得到所有字符的总数。

在这个过程中需要注意以下几点:- 字符串的结束符,在C语言中,字符串以'\0'结尾,所以在统计字符串中字符个数的时候使用'cmpb $0, (%esi)'进行循环终止,因为字符串最后一个字符存放的是'\0'结束符。

- 字符串中可能含有同一个字符,所以在统计字符个数的时候,需要判断是否之前已经计算过了。

- 由于一个字符在ASCII码表中的值为0~255,这个范围有256个数,所以我们可以定义一个数组,将字符串中每个字符出现的次数存储在数组中。

三、具体实现下面是通过AT&T语法实现的代码。

.section .data ; 数据段str: .string "hello world ! This is a test." ; 字符串定义.section .bss ; 未初始化数据段count: .zero 256 ; 定义长度为256的数组,存放每个字符出现的次数.section .text ; 文本段.globl _start ; 入口标记_start:mov $str, %esi ; esi寄存器指向字符串地址xor %eax, %eax ; eax寄存器初始化为0.CountChar:cmpb $0, (%esi) ; 判断结束,碰到'\0'je EndCountmov (%esi), %al ; 从esi指向的地址取出一个字符,赋给al cmp $count, %al ; 比较字符是否越界jae NotLetteradd $1, count(%eax) ; 字符出现次数加1.NotLetter:add $1, %esi ; 下一个字符jmp CountChar.EndCount:mov $0, %ebx.Print:cmp $255, %ebx ; 假如循环到了255个字符,输出结果je EndPrintmov %bl, %bh ; 蓝色变红色mov count(%ebx), %ecx ; ecx中存放当前字符出现的次数cmp $0, %ecx ; 判断字符是否出现过jnz PrintChar ; 如果出现过,直接输出inc %ebxjmp Print.PrintChar:mov $4, %eax ; 输出mov $1, %ebx ; 标准输出mov $count(%ebx, %eax, 4), %ecx ; 取出次数 mov $1, %edx ; 字符个数mov $ebx, %eax ; 该字符的ASCII码add $48, %eax ; 将ASCII码转换为字符int $0x80 ; 输出字符mov $':', %al ; 输出':'int $0x80mov $ecx, %eax ; 输出次数xor %ebx, %ebxxor %ecx, %ecxmov $10, %ebx.Div:xor %edx, %edxdiv %ebxpush %edxcmp $0, %eax ; 进行取模除法jne DivPrintInt:pop %eaxadd $48, %eax ; 将ASCII码转换为字符int $0x80cmp $0, %esp ; 判断栈是否已经空了jne PrintInt ; 如果栈不为空,继续输出字符 mov $10, %al ; 输出换行符int $0x80 ; 停止程序.EndPrint:mov $1, %eax ; 退出xor %ebx, %ebxint $0x80.end _start四、总结统计字符串中字符个数是初学者熟悉汇编语言的一个适合练手的例子,可以对汇编语言的运行过程和寄存器的使用有一个较为直观的认识。

汇编实验三:分类统计字符个数

汇编实验三:分类统计字符个数

一、实验目的学习用汇编语言编写设计分支循环程序二、实验要求程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其它字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。

三、实验提示(1)程序可0AH功能调用把键入字符直接送到缓冲区中,然后再逐个取出分类计数。

也可01H功能调用在接收字符后先分类计数再存入缓冲区中。

(2)程序需要进入debug运行并查看计数结果。

四、实验程序datarea segmentstring db 80db ?db 80 dup(?);定义字符串string,长度为80letter db 0 ;定义存储单元letterdigit db 0 ;定义存储单元digitother db 0 ;定义存储单元otherdatarea endscase segmentmain proc farassume cs:case, ds:datareastart:mov ax, datareamov ds, axlea dx, stringmov ah, 0ahint 21hlea di, string + 2 ;输入一行字符,依次将每个字符存入字符串string中sub ch,chmov cl, string + 1add dx, 2check: ;将每个字符进行分类mov al, [di]cmp al, 0dhje exit ;字符串以回车符结束,若进行分类的字符是回车符,则跳转至exit,退出程序cmp al, 30h ;与ASCII码中的0,即30h比较jb o ;小于30h的,为其他类型字符,则跳转至o,在other块进行操作cmp al, 39h ;与ASCII码中的9,即39h比较jna d ;不大于39h的,结合不小于30h的,则跳转至d,在digit块进行操作ja loro ;剩下的为字母或者其他类型loro:cmp al, 41h ;与ASCII码中的A,即41h比较jb o ;小于41h的,结合大于39h的,则跳转至o,在other块进行操作cmp al, 7ah ;与ASCII码中的z,即7ah比较ja o ;大于7ah的,则条钻至o,在other块进行操作cmp al, 5ah ;与ASCII码中的Z,即5ah比较jna l ;不大于5ah的,结合大于41h的,则跳转至l,在letter块进行操作cmp al, 61h ;与ASCII码中的a,即61h比较jnb l ;不小于61h的,结合不大于7ah的,则跳转至l,在letter块进行操作jb o ;小于61h的,结合大于5ah的,则跳转至o,在other块进行操作l:inc letter ;属于letter类型,则letter增1inc dijmp check ;返回继续比较下一个字符d:inc digit ;属于digit类型,则digit增1inc dijmp checko:inc other ;属于other类型,则other增1inc dijmp checkexit: ;输出letter,digit,other类型的计数结果mov ah, 02mov dl, 0dhint 21hmov dl, 0ahint 21hmov dl, 4chint 21hmov dl, 3ahint 21hmov dl, 0int 21hxor ax, axcall display ;调用子程序display,输出mov ah, 02mov dl, 0dhint 21hmov dl, 0ahint 21hmov dl, 44hint 21hmov dl, 3ahint 21hmov dl, 0int 21hxor ax, axmov al, digitcall displaymov ah, 02mov dl, 0dhint 21hmov dl, 0ahint 21hmov dl, 4fhint 21hmov dl, 3ahint 21hmov dl, 0int 21hxor ax, axmov al, othercall displaymov ax, 4c00hint 21hmain endpdisplay proc near ;子程序display,用于将二进制数转换成十进制数mov bl, 10div blpush axmov dl, aladd dl, 30hmov ah, 2int 21hpop axadd dl, 30hmov ah, 2int 21hretdisplay endpcase endsend start五、调试结果。

华北电力大学汇编实验报告

华北电力大学汇编实验报告

华北电力大学实验报告||实验名称汇编语言程序设计实验课程名称IBM-PC汇编语言程序设计||专业班级:计科1103 学生姓名:李庆贺学号:201109010307 成绩:指导教师:王保义实验日期:1月实验一用表格形式显示字符一、实验要求按15*16列的表格形式显示ASCⅡ码为10H—100H的所有字符,即以行为主的顺序及ASCⅡ码递增的次序依次显示对应的字符。

每16个字符为一行,每行中的相邻两个字符之间用空白符隔开。

二、设计说明(1)显示每个字符可使用功能号为02的显示输出功能调用:Mov ah,02hMov dl,输出字符的ASCⅡ码Int 21h将dl初始化为10H,然后使用其加1以取得下一个字符的ASCⅡ码。

(2)显示空白符是,用其ASCⅡ码置0入dl寄存器。

每行结束时,用回车和换行来结束本行并开始下一行。

(3)由于逐个显示相继的ASCⅡ码字符是,需要不断修改dl寄存器的内容,而显示空白、回车、换行也需要使用dl寄存器,为此可使用堆栈保存dx。

三、实验程序及调试结果prognam segmentmain proc farassume cs:prognamstart:mov ah, 02hmov dl, 10h ;设置初始输出为ASCII的10hmov bl, 15 ;输出显示为15行e:mov cx, 16;设置循环次数,16,表示输出显示为16列l:int 21h ;显示输出push dx ;推入堆栈mov ah, 02hmov dl, 0int 21hmov ah, 02hmov dl, 0int 21h ;显示空白符pop dx ;将栈顶元素推出inc dl ;设置下一个元素loop l ;循环输出每行的16个ASCII元素push dx ;将下一行的首元素推入堆栈mov ah, 02h华 北 电 力 大 学 实 验 报 告- 3 -mov dl, 0dhint 21hmov ah, 02hmov dl, 0ahint 21h ;输出换行pop dx ;将栈顶元素推出dec blcmp bl, 0 ;比较确定是否已经输出15行元素jne e ;若还未完成输出,则跳转至e ,继续进行下一行元素的输出je exit ;否则退出程序exit:mov ax, 4c00hint 21hmain endpprognam endsend; start实验二 查找匹配字符串一、 实验要求程序接受用户键入的一个关键字以及一个句子,如果句子中不包含关键字则显示“No match!”;如果句子中包含关键字则显示“match!”,且把该字在句子中的位置用十六进制数显示出来。

微机原理实验统计字母数字个数

微机原理实验统计字母数字个数

微机原理与接口技术软件实验一姓名:常艳洁班级:电0904-1班学号:20092260一:实验内容在数据区定义字母数字串,分别统计数字、大写字母、小写字母的个数,分别存放在SHUZI、DAXIE 、XIAOXIE单元中。

多次统计,记录统计结果。

二:实验要求在熟悉wave6000编程环境的基础上,完成上述源程序的输入、汇编、修改、运行等实验步骤,直到程序执行得到正确结果为止。

熟练掌握单步运行、断点设置、自动运行、寄存器内容,数据区内容查看等程序调试技术。

三:源程序DATA SEGMENTSTRIN DB 'abcdAD258a;;'COUNT EQU $-STRINORG 20HSHUZI DB ?DAXIE DB ?XIAOXIE DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXXOR AX, AXMOV SHUZI, ALMOV DAXIE, ALMOV XIAOXIE, ALLEA SI, STRIN; 取偏移地址MOV CX, COUNTCLD;NEXT: LODSBCMP AL, 30HJB OTHER ;小于CMP AL, 39HJA BIJIAO1;大于INC SHUZIJMP OTHER; 段间直接转移/LOOP NEXTBIJIAO1: CMP AL, 'A'JB OTHERCMP AL, 'Z'JA BIJIAO2INC DAXIEJMP OTHERBIJIAO2: CMP AL, 'a'JB OTHERCMP AL, 'z'JA OTHERINC XIAOXIEOTHER: LOOP NEXTMOV AH, 4CHINT 21HCODE ENDSEND START四:实验结果五:实验总结通过本次实验熟练的掌握了wave6000的调试技术,并对一些细节性知识点有了进一步的认识和了解。

汇编语言程序设计实验报告

汇编语言程序设计实验报告

实验报告实验名称汇编语言程序设计||专业班级:信息安全学号:姓名:实验一汇编语言上机过程和Debug常用调试命令一.实验目的:学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。

二.实验题目:熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。

在调试过程中,学习及掌握debug程序的各种操作命令。

三.问题描述:试编写一程序:比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘match’; 否则,显示‘no match’。

四.方法说明:a) 使用ws、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。

b) 用汇编程序masm(或asm)对源文件汇编产生目标文件obj如:汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。

c) 用连接程序link 产生执行文件EXE.d) 执行程序,可直接从DOS执行程序。

e) 使用debug程序调试程序的方法。

五.实验步骤:1.调用字处理程序EDIT 建立以sample.asm文件datarea segmentstring1 db ‘move the cursor backward.’string2 db ‘move the cursor backward.’mess1 db ‘Match..’,13,10,’$’mess2 db ‘No match!..’,13,10,’$’datarea endsprognam segmentmain proc farassume cs:prognam,ds:datarea,es:datarea start:push dssub ax,axpush axmov ax,datareamov ds,axmov es,axlea si,string1lea di,string2cldmov cx,25repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx, mess1disp:mov ah,09int 21hretmain endpprognam endsend start2.对源文件汇编产生目标文件obj D:\masm 文件名。

汇编_分类统计字符个数(附源代码)

汇编_分类统计字符个数(附源代码)

汇编_分类统计字符个数(附源代码);****分类统计字符个数************data segmentstring db 82db 82 dup (?)letter dw ?digit dw ?other dw ?nextli db 0dh,0ah,'$'printl db 'please a string',0dh,0ah,'-:$' leprin db 'letter number:$'diprin db 'digiter number:$'otprin db 'other char:$'data ends;--------------------------------code segmentmain proc farassume ds:data,es:data,cs:codestart:mov ax,datamov ds,axmov es,ax;--------------------------------mov ah,09hlea dx,printlint 21hmov ax,0mov ah,0ahlea dx,stringint 21h;--------------------------------mov ah,09hlea dx,nextlimov si,0inc simov cl,string[si]mov ax,0mov bx,0mov dx,0;--------------------------------loop1:inc sicmp string[si],2fhjl cod1cmp string[si],3ahjnl cod2inc bxjmp cod4cod2:cmp string[si],40hjl cod1cmp string[si],5bhjnl cod3inc axjmp cod4cod3:cmp string[si],60hjl cod1cmp string[si],7bhjnl cod1inc axjmp cod4cod1:inc dxcod4:loop loop1mov digit,bxmov other,dxmov ah,09hlea dx,leprinint 21hmov ax,lettercall printmov ah,09hlea dx,nextliint 21hmov ah,09hlea dx,diprinint 21hmov ax,digitcall printmov ah,09hlea dx,nextliint 21hmov ah,09hlea dx,otprinint 21hmov ax,othercall printmov ah,09hlea dx,nextliint 21h;-------------------------------- mov ah,01hint 21hmov ah,4chint 21h;-------------------------------- main endp;-------------------------------- ;****实现输出的⼦程序************ print proc near push axpush simov bl,0ahloop2:div blmov dl,ahpush dxinc cxmov ah,0cmp ax,0jnz loop2printf:pop dxadd dx,30hmov ah,02hint 21hloop printfpop axpop bxpop cxpop dxpop siretprint endp;-------------------------------- code endsend start2.输⼊字符,得出结果.386.model flatExitProcess proto near32 stdcall, dwexitcode:dword INCLUDE io.hcr EQU 0dhprompt1 BYTE cr,lf,lf,"Please enter the string(<80).",cr,lf,lf BYTE "The string is:",0stringIn BYTE 1 DUP (?)charLabel BYTE cr,lf,"The number of char is:"char BYTE 16 DUP (?)BYTE cr,lf,0numberLabel BYTE cr,lf,"The number of number is:" number BYTE 16 DUP (?)BYTE cr,lf,0otherLabel BYTE cr,lf,"The number of other is:"other BYTE 16 DUP (?)BYTE cr,lf,0.CODE_start: output prompt1 ;提⽰输⼊字符mov ax,0mov bx,0mov cx,0begin:input stringIn,1;输⼊字符cmp stringIn,0dhje forOut ;是回车则结束程序cmp stringIn,0dhjb forOther ;ASCII码值⼩于0dh则其他字符数加1cmp stringIn,2fhjbe forOther;ASCII码值⼩于或等于2fh则其他字符数加1 cmp stringIn,39hjbe forNumber;ASCII码值⼩于或等于39h则数字数加1 cmp stringIn,40hjbe forOther;ASCII码值⼩于或等于40h则其他字符数加1 cmp stringIn,5ahjbe forChar;ASCII码值⼩于或等于5ah则字母数加1 cmp stringIn,60hjbe forChar;ASCII码值⼩于或等于7ah则字母数加1 jmp forOther;其他字符数加1forOther: ;其他字符数加1,回到循环开始inc ax jmp beginforNumber: ;数字数加1,回到循环开始inc bxjmp beginforChar: ;字母数加1,回到循环开始inc cxjmp beginforOut:itoa other,axoutput otherLabel ;输出其他字符数itoa number,bxoutput numberLabel ;输出数字数itoa char,cxoutput charLabel ;输出字母数INVOKE ExitProcess,0PUBLIC _startEND。

汇编分类统计字符个数[精品]

汇编分类统计字符个数[精品]

分类统计字符个数00一、实验目的000通过编程实现字符进行分类统计。

00利用DOS功能调用INT 21H的10(0Ah)号功能,掌握进行键盘输入字符串的方法以及数据区设置。

00掌握8086指令: CMP、JB、JA、SHL、INC、LEA、INT、JNZ、SCASB、LOOPE/LOOPNE等。

00二、实验内容0001、编写一个程序实现将数据段中存储在STRING处到NUM处的字符串进行分类统计,然后将结果存入以letter、digit和other为名的存储单元中。

查找字符串STRING中是否有空格,如有找出第一个出现的位置(先用十六进制显示,后修改为十进制显示),否则输出N。

002、修改前述1的程序,实现从键盘输入一个以回车键作为结束符的字符串(字符个数不超过80个),存入BUF中,分类统计BUF中字符串,将结果存入以letter、digit和other为名的存储单元中,屏幕输出大小写字母个数、数字个数和其它字符个数,并查找字符串BUF中是否有空格,如有找出第一个出现的位置(用十进制显示),否则输出N。

(对有余力的同学)00实验结果:00DEBUG 调试并查看结果的正确性。

000对存储区STRING的内容“12ABCDE#!@Y(78)=(1).”000屏幕显示:00N00对存储区STRING的内容“12ABCD E#! @Y(78)=(1).”000屏幕显示:00Place=700对第2部分,如键盘输入0012ABCDE# 3456789143!@Y(78)=(1).回车000输出结果:00Letter=6000Digit=1500Other=900Place=900三、分析与体会00本次实验我花了较长的时间来完成。

初略的程序花了5个多小时完成。

后来遇到转换为十进制的时候就卡住了。

后来在第六周周三的时候听了课以后才会做。

00第一个代码很长,有340多行代码。

其实核心代码不多。

主要是每一次转换为16进制以及10进制的时候,重复了相同的代码。

汇编语言实验报告2分类统计字符个数

汇编语言实验报告2分类统计字符个数

汇编语言实验报告2分类统计字符个数一、实验内容:经过分支程序设计实现字母、数字及其他字符的分类统计计数。

二、实验要求:程序接受用户键入的一行字符(字符个数不高出 80 个,该字符串用回车符结束),并按字母、数字及其他字符分类计数,尔后将结果存入以letter 、digit 和 other 为名的储藏单元中。

输出可以用十六进制数形式。

可以进一步考虑更细节的统计分类。

说明:数据变量的定义,单个字符的输入、字符串的输出、结果数字的输出,都是需要考虑的问题。

分类主若是数字:’0’~’9’,字母’A’~’Z’和’a’~’z’,其他。

对应的 ASCII码为 30H~39H, 41H~5AH, 61H~7AH,...1、单个字符的输入,可以使用DOS中断功能 01:MOV AH,01HINT 21H; 输入符号的 ASCII代码在 AL 寄存器中2、字符串的输出,可以使用DOS中断功能 09:LEA DX, message ; message需要早先定义好,必定是以’结$’尾的字符串 MOV AH, 09HINT21H3、字符串的输入,可以使用DOS中断功能在数据段中有string DB 80, , 80 DUP()0AH,但需要早先定义空间string,LEA DX, stringMOV AH, 0AHINT21H4、计数获取的是二进制数值,在输出时要考虑变换成哪一种进制形式的字符来显示。

三、实验源代码以下:DATAS SEGMENTSTRING1 DB'Please input a string:$'STRING2 DB'Number of chars:$STRING3 DB'Number of digits:$'STRING4 DB'Number of others:$'CHARS DB 0 ;字母DIGIT DB 0;数字OTHERS DB 0其;他DATAS ENDS ;输入提示信息'; 各样字符提示信息STACKS SEGMENT;此处输入货仓段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXLEA DX,STRING1 ;显示输入提示信息 Please input a string MOV AH,09HINT 21HMOV CX,100;设置循环次数足够大L1:MOV AH,01H INT 21H ;中断调用,单字符输入; 输入符号的ASCII代码在AL 寄存器中CMP AL,0DH;若输入回车符则结束JZ OVER2CMP AL,30H;若<30H(0),OTHERS++JB OTHERCMP AL,39H;若>39H(9),跳转进一步比较JA HIGHER1JMP DIGITAL;DIGIT++HIGHER1:CMP AL,41H;若IF<41H(A),OTHERS++ JB OTHERCMP AL,5AH;若IF>5AH(Z),跳转连续比较JA HIGHER2JMP CHAR;ALPHAU++HIGHER2:CMP AL,61H;若IF<61H(a),OTHERS++ JB OTHERCMP AL,7AH;若IF>7AH(z),OTHERS++JA OTHERJMP CHAR;ALPHAU++JMP OVER;比较结束OTHER: INC OTHERSJMP OVER CHAR: INC CHARSJMP OVER DIGITAL:INC DIGITJMP OVER ;OTHERS++ ;比较结束;ALPHAL++ ;比较结束;DIGIT++;比较结束JMP OVER;比较结束OVER:NOPLOOP L1;循环,输入下一字符OVER2:CALL ENDLINE;回车换行LEA DX,STRING2;字符串的输出Number of charsMOV AH,09HINT 21HXOR AX,AXMOV AL,CHARS;将统计的数字送AXCALL DISPLAY;调用输出两位数字的子程序CALL ENDLINELEA DX,STRING3;字符串的输出Number of digitsMOV AH,09HINT 21HXOR AX,AXMOV AL,DIGIT;将统计的数字送AXCALL DISPLAY;调用输出两位数字的子程序CALL ENDLINELEA DX,STRING4;字符串的输出Number of others MOV AH,09HINT 21HXOR AX,AXMOV AL,OTHERS;将统计的数字送AXCALL DISPLAY;调用输出两位数字的子程序MOV AH,4CHINT 21HENDLINE PROC NEAR;控制输出格式,输出回车换行子程序MOV AH,02HMOV DL,0AHINT 21H;输出换行符MOV AH,02HMOV DL,0DHINT 21H;输出回车符RETENDLINE ENDPDISPLAY PROC NEAR;输出两位数字的子程序(输出两位数字为十进制)MOV BL,10DIV BL;AX/BL,AL=商, AH=余数PUSH AX;保存 AX 中的信息MOV DL,ALADD DL,30HMOV AH,02HINT 21H;输出十位数POP AX;出栈送AXMOV DL,AHADD DL,30HMOV AH,02HINT 21H;输出个位数RETDISPLAY ENDPCODES ENDSEND START四、实验运行结果以下:(附截图)注:两位数为十进制。

理工汇编语言实验三字符串操作实验.

理工汇编语言实验三字符串操作实验.

实验三字符串操作实验(设计性实验一、实验要求和目的1.了解汇编语言字符串处理基本流程;2.熟悉汇编语言字符串处理基本指令的使用方法;3.掌握利用汇编语言实现字符串处理的程序设计方法。

二、软硬件环境1、硬件环境:计算机系统 windows ;2、软件环境:装有 MASM 、 DEBUG 、 LINK 、等应用程序。

三、实验涉及的主要知识1、字符串处理基本操作流程(1利用 SI 寄存器保存源串首地址;(2利用 DI 寄存器保存目的串首地址;(3利用 CX 寄存器保存字符串长度;(4利用 CLD 或 STD 指令设置字符串处理方向;(5利用字符串处理指令实现相关处理。

其中, CLD 指令使 DF=0,在执行串处理指令时可使地址自动增量; STD 使 DF=1,在执行串处理指令时可使地址自动减量。

提示:字符串处理一般都涉及到源串和目的串,汇编语言规定源串在数据段中定义,目的串在附加段中定义。

2、重复前缀指令 :重复次数由计数寄存器 CX 中存放的值决定,指令每重复执行一次,计数器 CX 中值减 1, 当 CX 中值减至 0 时,停止重复执行,继续执行下一条指令REP 无条件重复前缀,重复串操作直到计数寄存器的内容 CX 为 0 为止。

经常与 REP 配合工作的字符串处理指令有 MOVS 、 STOS 和 LODS 。

REPE/REPZ 判断计数寄存器的内容 CX 是否为 0 或 ZF=0(即比较的两个操作数不等 , 只要满足一个则重复执行结束,否则继续执行。

可以与 REPE/REPZ 配合工作的串指令有 CMPS 和 SCAS 。

REPNE/REPNZ 判断计数寄存器的内容是否为 0 或 ZF=1(即比较的两个操作数相等, 只要满足一个则重复执行结束,否则继续执行。

可以与 REPE/REPZ 配合工作的串指令有 CMPS 和 SCAS 。

3、字符串处理基本指令(1 MOVS 传送指令格式:MOVS DST, SRC 或 MOVSB (传送字节或 MOVSW (传送字。

计数字符在所有字符中的个数

计数字符在所有字符中的个数

计数字符在所有字符中的个数在现代社会中,计算机和互联网的普及使得人们更加关注字符的计数,尤其是在信息传递和文本处理方面。

字符的计数可以帮助人们更好地理解和分析文本,同时也对文本的编辑和排版起到重要的指导作用。

在我们日常的文字交流中,字符的计数无处不在。

无论是写作文章、发送短信,还是编写程序代码,都需要对字符进行计数。

而字符的计数也是评估文本长度、统计信息量的重要手段之一。

下面我们将深入探讨字符计数的相关问题。

我们需要明确字符的定义。

字符是计算机中的最小的数据单元,可以是字母、数字、标点符号、空格等。

不同的字符在计算机中有不同的编码方式,比如ASCII码、Unicode等。

在进行字符计数时,我们需要考虑所有的字符类型,确保计数的准确性。

字符计数的方法也有多种。

最常见的方法是通过计算文本中的字符数量来得到结果。

这种方法简单直接,适用于大多数情况。

另外,还可以通过编写程序来实现字符计数。

通过编程,我们可以更加灵活地控制计数的方式,比如可以排除特定的字符或统计特定字符的数量。

在实际应用中,字符计数有着广泛的应用。

在写作方面,字符计数可以帮助作者控制文章的长度,确保文章的完整性和准确性。

在新闻报道中,字符计数可以帮助编辑控制标题的长度,使标题简洁明了,吸引读者的注意力。

在程序开发中,字符计数可以帮助程序员检查代码中的字符数量,避免代码过长或过繁琐。

字符计数也可以用于统计文本的信息量。

在自然语言处理领域,字符计数可以帮助研究人员统计文本中的词频、短语频率等,从而得到更加准确的语言模型。

在信息检索和搜索引擎中,字符计数可以帮助排名算法对搜索结果进行排序,提高搜索的准确性和效率。

尽管字符计数在很多场景中都有着重要的作用,但我们也需要注意一些问题。

首先,字符计数可能受到文本的格式和编码方式的影响。

比如在HTML文档中,标签和样式信息也会被计入字符的数量中。

另外,字符计数也不一定等同于字数计数,因为不同的语言和文字系统中,字符和字的关系可能并不一致。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的
学习用汇编语言编写设计分支循环程序
二、实验要求
程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其它字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。

三、实验提示
(1)程序可0AH功能调用把键入字符直接送到缓冲区中,然后再逐个取出分类计数。

也可01H功能调用在接收字符后先分类计数再存入缓冲区中。

(2)程序需要进入debug运行并查看计数结果。

四、实验程序
datarea segment
string db 80
db ?
db 80 dup(?);定义字符串string,长度为80
letter db 0 ;定义存储单元letter
digit db 0 ;定义存储单元digit
other db 0 ;定义存储单元other
datarea ends
case segment
main proc far
assume cs:case, ds:datarea
start:
mov ax, datarea
mov ds, ax
lea dx, string
mov ah, 0ah
int 21h
lea di, string + 2 ;输入一行字符,依次将每个字符存入字符串string中
sub ch,ch
mov cl, string + 1
add dx, 2
check: ;将每个字符进行分类
mov al, [di]
cmp al, 0dh
je exit ;字符串以回车符结束,若进行分类的字符是回车符,则跳转至exit,退出程序
cmp al, 30h ;与ASCII码中的0,即30h比较
jb o ;小于30h的,为其他类型字符,则跳转至o,在other块进行操作
cmp al, 39h ;与ASCII码中的9,即39h比较
jna d ;不大于39h的,结合不小于30h的,则跳转至d,在digit块进行操作
ja loro ;剩下的为字母或者其他类型
loro:
cmp al, 41h ;与ASCII码中的A,即41h比较
jb o ;小于41h的,结合大于39h的,则跳转至o,在other块进行操作
cmp al, 7ah ;与ASCII码中的z,即7ah比较
ja o ;大于7ah的,则条钻至o,在other块进行操作
cmp al, 5ah ;与ASCII码中的Z,即5ah比较
jna l ;不大于5ah的,结合大于41h的,则跳转至l,在letter块进行操作
cmp al, 61h ;与ASCII码中的a,即61h比较
jnb l ;不小于61h的,结合不大于7ah的,则跳转至l,在letter块进行操作
jb o ;小于61h的,结合大于5ah的,则跳转至o,在other块进行操作
l:
inc letter ;属于letter类型,则letter增1
inc di
jmp check ;返回继续比较下一个字符
d:
inc digit ;属于digit类型,则digit增1
inc di
jmp check
o:
inc other ;属于other类型,则other增1
inc di
jmp check
exit: ;输出letter,digit,other类型的计数结果
mov ah, 02
mov dl, 0dh
int 21h
mov dl, 0ah
int 21h
mov dl, 4ch
int 21h
mov dl, 3ah
int 21h
mov dl, 0
int 21h
xor ax, ax
call display ;调用子程序display,输出
mov ah, 02
mov dl, 0dh
int 21h
mov dl, 0ah
int 21h
mov dl, 44h
int 21h
mov dl, 3ah
int 21h
mov dl, 0
int 21h
xor ax, ax
mov al, digit
call display
mov ah, 02
mov dl, 0dh
int 21h
mov dl, 0ah
int 21h
mov dl, 4fh
int 21h
mov dl, 3ah
int 21h
mov dl, 0
int 21h
xor ax, ax
mov al, other
call display
mov ax, 4c00h
int 21h
main endp
display proc near ;子程序display,用于将二进制数转换成十进制数mov bl, 10
div bl
push ax
mov dl, al
add dl, 30h
mov ah, 2
int 21h
pop ax
add dl, 30h
mov ah, 2
int 21h
ret
display endp
case ends
end start
五、调试结果。

相关文档
最新文档