汇编语言子程序编程求代码

目的:掌握子程序的定义指令

字符分类存储并统计每种字符个数COUNT-CHAR;程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字、及其他字符分类计数,然后将结果存入以letter,digit和other为名的存储单元中,其中第一个单元存放该类字符个数,从第二单元开始存放分类的字符。
提示:程序可采用0AH功能调用把键入字符直接送到缓冲区,然后逐个取出分类计数。也可采用01H功能调用在接收字符后先分类计数然后再存入缓冲区。
显示结果运用09H功能或02H功能显示输出。

0

1个回答

这种问题问得,唉,还是去RTFB(Read the fucking book)实在一 点

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
一个用汇编语言编写的求和程序
很简单的一个用汇编语言编写的程序 很适合刚学汇编语言的初学者 虽然程序简单却用到很多汇编的知识
汇编语言:编写子程序(上)
编写三个子程序,通过他们来认识几个常见的问题和掌握解决这些问题的方法 1、显示字符串 ; 显示字符串子程序show_str ; 参数1 ds:si指向要显示的字符串首地址,字符串以0结尾 ; 参数2 行号dh(0~24) ; 参数3 列号dl(0~79) ; 参数4 颜色属性 cl show_str: push ax ...
汇编语言 | 递归子程序实现阶乘
最近在弄一门课程(汇编语言)的复习,觉得这个部分的内容,对于回过头来理解以往学习的高级语言还是很有帮助的。   【例题】 阶乘函数,对于任一个大于等于0的正整数N,其函数值定义为:FACT(N)=1(当N = 0时) FACT(N)=N*FACT(N-1)  (当N> 0时)其算法为: (1)测试N=0吗?是,则令FACT(N)=1,返回; (2)保存N,并令N=N-1,调用自身求...
用80x86汇编语言编程--用递归方法求阶乘
用汇编语言编一程序从键盘上接收一个数值 N,利用递归方法求 N!,并将结果在屏幕显示。提问时间:2011-12-15 19:15 | 悬赏分:5 |;============================================最佳答案:;为了简化,数字就不弄太大的了。;如果把 N! 限定在 65535 之内,N 就不能大于 8。;其实,让计算机来算更大的数,也是可以的,只不过是时间问题
汇编语言简单求平均值程序
十个数,求平均值,精确到一位小数,并以十进制形式输出。 初学者自己编的,比较简单。
用汇编语言递归方法计算8以内的阶乘
标题用汇编语言递归方法计算8以内的阶乘斜体样式`.MODEL SMALL .DATA STRING1 DB ‘PLEASE INTPUT THE NMBER(0~8):′;请输入nSTRING2DB′THERESULT:'; 请输入n STRING2 DB 'THE RESULT:′;请输入nSTRING2DB′THERESULT:’; 这个结果是 ....
【汇编程序】实现求n阶乘子程序(递归)
程序需求:编写一个求n!的子程序,利用它求1!+2! +3! +4! +5! +6! +7! +8! 的和并输出。 编程思路:先写出C语言实现,再写汇编实现,汇编中使用栈来传递参数。 开发环境 Win10 + VS2017 C语言代码实现如下: #include <stdio.h> int sum = 0; int recursion(int n) { if (n == ...
汇编语言实现N!阶乘
用汇编语言编写的求N的阶乘小程序,在屏幕上输入0-9的数,求阶乘,并将结果显示在屏幕上
汇编实现n的累加和
汇编实现n的累加和
在8086模拟器中运行汇编求平均值程序
DATA1 SEGMENT data DW 90, 95, 54, 65, 36, 78, 66, 0, 99, 50, -1 Average DW 0 DATA1 ENDS CODE1 SEGMENT ASSUME CS:CODE1, DS:DATA1 START: MOV AX, DATA1 MOV DS, AX XOR AX, AX XOR DX, DX ;用(DX,AX)
拓展:汇编语言的子程序
一个近(near)调用的程序   一个简单的包含子程序的汇编程序是: ; 要设置栈段,以便于call和ret指令使用 assume cs:code, ss:stack stack segment db 16 dup (0) stack ends code segment start: mov ax,stack ...
子程序设计
上机实验08  子程序设计 知识提要: 掌握子程序的定义语句; 过程名  PROC  [near/far]    过程体 RET 过程名  ENDP 其中过程名的命名方法与变量名相同,同一源程序中不能有相同的过程名.PROC为过程定义开始的伪指令,ENDP为过程定义结束伪指令,且PROC-ENDP必须配对使用。配对的PROC-ENDP前面的过程名应相同。NEAR/FAR定义了过程的属性...
用汇编语言递归方法找出斐波那契数列的对应位数
用汇编语言递归方法找出斐波那契数列的对应位数 .MODEL SMALL .DATA STRING1 DB 'PLEASE INTPUT THE NMBER:$'; 请输入你想知道的第几个斐波那契数列 STRING2 DB 'THE RESULT:$'; 这个结果是 .CODE main proc far mov ax,@data; 为数据段开辟地址 mov ds,ax lea...
应用汇编语言实现 两数加法
应用汇编语言实现 两数加法 对初学者很有帮助哦
汇编语言数值显示 的子程序dtoc.asm
继续学习,昨天实验10.3数值显示的子程序dtoc.asm,请各位大神指正! assume cs:code,ds:data data segment db 10 dup (0) data ends code segment start: mov ax,12666 mov bx,data mov ds,bx mov si,0 call dtoc
举例说明汇编语言子程序递归调用过程中堆栈内容的变化过程
研讨:举例说明汇编语言子程序递归调用过程中堆栈内容的变化过程。
汇编语言 第三版 王爽 实验10-1 编写子程序 之 显示字符串
用子程序显示字符串,注意体会参数传入的思想
【汇编程序】实现求两数最大公约数子程序
程序需求:编程写一个名为Gcd的求两个数最大公约数子程序,主子程序间的参数传递通过堆栈完成。调用Gcd子程序求出三个双自变量:dvar1、dvar2与dvar3的最大公约数并输出。 编程思路:先写出C实现,再转换为汇编实现。为了降低难度,子程序中不单独开辟栈空间来存储变量,直接通过EBP对传入参数进行访问。 开发环境 Win10 + VS2017 C语言代码实现如下: #include ...
80x86汇编语言编程:查找字符串中的最大、最小值
汇编语言求无符号字节序列中的最大值和最小值题目要求:设有10个无符号数的字节序列。用汇编语言编写程序,找出其中的最大、最小值,并在屏幕上显示。数据可在数据段内定义,也可从键盘接收任意字符。;----------------------------------------------;做而论道编写的程序如下:;从键盘接收任意字符。ASSUME CS:CODE, DS:DATADATA  SEGMEN
汇编中的子程序
子程序就是用来实现某一个功能的程序,和语言的一个func差不多,要利用call和ret来实现,下面通过一段代码来学习一下。 assume cs:codesg data segment db "china",0 data ends codesg segement begin:mov ax,data mov ds,ax ...
汇编语言-子程序调用
汇编语言-子程序调用 ret与ref指令 ret ret == pop IP ret指令用栈中的数据,修改IP的内容,从而实现近转移; 功能介绍 retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移 CPU执行ret指令时,进行下面两步操作: (1)(IP) = ((ss) * 16 + (sp)) (2)(sp) = (sp) + 2 相当于进行: po...
汇编语言学习----汇编程序中的子程序设计
data segment var1 db 82h, 05h, 23h, 11h, 08h, 27h, 02h, 0c2h ;变量var1保存长度为8个字节的有符号数1 var2 db 8ch, 4ch, 0c2h, 0abh,7ah, 35h, 0a5h, 08h ;变量var2保存长度为8个字节的有符号数2 len equ $-var2 ;len计算每个加
【汇编语言实验二】多整数求和程序的编写
汇编语言系列文章仅作为实验报告和汇编学习参考,不作为任何技术文章,还望大佬们勿喷。 1. 实验名称 熟悉汇编语言的基本指令和条件指令的使用,理解汇编程序中,如何实现高级语言中的条件语句。 2. 实验要求 编写整数求和程序;运用kip irvine库中的部分过程,并阅读分析其实现源码。 3. 实验内容 编写多个整数求和的程序:对用户输入的多个整数进行求和,...
【汇编程序】实现冒泡排序子程序(BubbleSort)
程序需求:编程写一个名为BubbleSort的冒泡排序子程序,主子程序间的参数传递通过堆栈完成;并写主程序验证它。 编程思路:主程序向子程序传递数组的时候,传递的是数组的首地址,也就是传递的是指针,所以子程序中寻址采用间接寻址方式。 开发环境 Win10 + VS2017 C语言代码实现如下: #include <stdio.h> int array[10] =...
(汇编语言)实验11 编写子程序
编写一个子程序,将包含任意字符,以0结尾的字符串中的小写转大写 首先先用不是子程序的方法来解决一下: assume cs:code data segment db "ZouZeBin is a handsome boy!!",0 data ends code segment start: mov ax,data mov ds,ax mov si,0 s: mo...
王爽《汇编语言》第三版 实验11 编写子程序
解题思路在下面的代码中,这个实验不怎么复杂 assume cs:code datasg segment db "Beginner's All-purpose Symbolic Instruction Code.", 0 datasg ends ;这个程序的目的是把datasg段中的字符串中的小写字母替换成相应的大写字母,这就需要对他们的ASCII值 ;进行比较,以此判断此字母是大...
汇编语言程序设计-键盘处理程序
编写一个键盘处理程序,替换掉原计算机系统的键盘处理程序(BIOS的09H号中断)。要求当按下“QWERTYUIOP”键时,接收、显示的是示“ASDFGHJKL;”,并能处理换挡键shift。
王爽 汇编语言 第三版 实验10 编写子程序
显示字符串、解决除法溢出的问题、数值显示
汇编之宏(macro)和子程序(proc)
1.将 bl 和 cl 中的数字相加并输出结果 DATA SEGMENT STR1 DB 0AH,0DH ,'THE RESULT IS : $' ;0AH,0DH 为换行 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PRINT MACRO STR ; MACRO 为宏 MOV AX,DATA ...
汇编语言--寄存器间接寻址
在汇编语言中 , 我们主要涉及了7中存储方式 , 而涉及到数据在寄存器以及存储器之间的存取以及提出的方式就要显得复杂一些 . 本文旨在以通俗的语言描述这些寻址方式之间的联系 .          在认识以及应用这些寻址方式之前 , 我们首要应当了解一个数据在寄存器当中的物理地址是怎么算的 .          物理地址由段址和段内的偏移量决定的 , 这个段址有代码段寄存器(CS) , 数据段寄
80X86汇编子程序的设计与调用
 在以BUF为首址的字节数据存储区中,存放着5个学生的课程成绩表(百分制),每个学生的相关信息包括:姓名(占6个字节,都以 0DH 为结束标记),语文成绩(1个字节),数学成绩(1个字节),英语成绩(1个字节),平均成绩(1个字节)。 例如: BUF DB  ‘iceyp’,0DH,100,90,80,?  ; 请用自己的姓名拼音代替,分数自定 DB  ‘zh
汇编语言--如何调用子程序
最近刚学了汇编语言的子程序调用,刚开始有些迷惑,现在大概弄懂了点。 1:程序内部调用子程序              先看个例子: 编制一个子程序,求y=x^4,x为字节,y为字,且不会溢出 版本1:子程序的参数由寄存器bl提供,返回结果在ax中
汇编 子程序设计 求N!
汇编语言程序设计实验报告的子程序设计问题,求N!。
汇编程序 求数组元素的最大值和最小值
汇编程序 求数组元素的最大值和最小值汇编程序 求数组元素的最大值和最小值汇编程序 求数组元素的最大值和最小值
汇编语言:实验10 根据材料编程—3.数值显示,编程,将data段中的数据以十进制形式显示出来
问题描述 编程,将data段中的数据以十进制的形式显示出来。 data segment dw 123,12666,1,8,3,38 data ends 实验效果 实验要求 子程序描述 名称:dtoc 功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符。 参数:(ax)=word型数据,ds:si指向字符串的首地址 返回:无 实验代码 实现代码中
汇编程序:用子程序实现求幂
【任务】   编制一个子程序,求y=x4,自变量 x 为字节,应变量y可以在一个字内存放而不溢出   (1)版本1:子程序的参数由寄存器dl提供,返回结果在ax中;   (2)版本2:子程序不变,主程序中提供如下数据区,在主程序中,循环调用子程序,完成y=x4的求解,并将结果存入在相应的数据区: data segment ...
51 汇编语言编程:求最大、最小值的乘积
;求 MCS51 内部RAM 的 40H~4FH 中 16 个数据中最大值和最小值的积。;其中最大值和最小值分别放到 50H 和 51H 中,积的低位和高位分别放到 52H 和 53H 中。;题目链接:http://zhidao.baidu.com/question/518773968291621045.html;求最大、最小值,再相乘,做而论道编写出来了程序,将在后面列出。;为了进行验证,提问者
汇编-求两数最大公约数
最大公约数算法如下: gcd(num1,num2)=gcd(num2, num1 mod num2) gcd(num1 ,0)= num1 其中num1, num2 >=0根据算法有汇编程序如下:;功能:求两个数的最大公约数 ;作者:王文堃 ;创建时间:2016/4/11INCLUDE vcIO.inc .data str_input BYTE "请输入两个整数:",0ah,0
使用汇编语言编程常见错误与技巧
使用汇编语言编程常见错误与技巧(无限期小结中……): 1、定义的变量的位数与所涉及到的寄存器的位数不一致。。。。 2、没有把count1=$-string1 紧跟着放在string1的定义之后,注意$的含义噢!它用来保存当前正在汇编的指令的偏移地址。。。。 3、使用中断指令时,不光要对ah做出修改,还要影响al的值,大家注意咯!!!! 4、要学会将 能影响标志位的语句、判断
汇编递归过程
汇编的递归过程习惯写C程序后,一般很少会去敲汇编代码,最近在研究系统学习方面知识,需要用到汇编,考虑到编译器是如何将C程序编译成汇编代码的,这里对于C语言中的语句(赋值,运算,选择,循环)就不着重介绍,这些对应到汇编指令相对来说简单(当然忽略了编译器是如何把C语言编译成汇编代码的实现,只研究对应问题),今天主要分析C语言中函数在汇编中的实现,因为这里面涉及到栈的问题,对于汇编语言,指令完成命令无疑就