汇编语言求三个无符号数的汇编找出最大值最小值 设从TABLE单元开始内存中有三个互不相等的无符号数据,求其最大

请哪位高手帮忙用汇编语言编写一段程序,求三个带符号字节数据中的最大值,并将该最大值存入MAX字单元中。_百度知道
请哪位高手帮忙用汇编语言编写一段程序,求三个带符号字节数据中的最大值,并将该最大值存入MAX字单元中。
AL,50MAX DB
ENDSSTACK SEGMENT STACK DB
DUP(0)STACK ENDSCODE SEGMENT ASSUME
CS,我怎么把最大值输出,SS,DS谢谢:CODE,OFFSET N1 MOV
AL: MOV MAX,DATA MOV DS?DATA SEGMENTN1 DB
1,但最大值大于10时怎么输出: MOV AX,MAX ADD DL,[BX] CMP
AL,4,[BX+2]S2,2 INT 21H MOV AH,AL MOV DL:DATA: CMP
AL:STACKSTART,30H MOV AH,AX MOV
BX,[BX+1]S1,[BX+2] JG
AL,最大值为个数时可以输出
提问者采纳
offset n1mov al,[bx+1]s1,[bx+2]s2:cmp al,[bx+2]jg s2mov al.n1 db 1:mov max.mov bx,-2max db 0,[bx+1]jg s1mov al,[bx]cmp al,99
谢谢,怎么把最大值在命令窗口输出。
要实现输出比较麻烦:1、因为是带符号数,所以必须先判断正负,即高位是否为1,为1是负数(需求补码),否则为正。2、将该数除以100确定百位数字,余数再除以10确定十位数字,除以10后的余数为个位数字。3、将百位、十位及个位数字转换成ASCII码(即分别加上30H)4、分别将转换成ASCII码后的百位、十位及个位数字放入DX寄存器,用DOS的2号功能调用实现显示。说的很详细了,你应该可以自己看懂以下代码了。。。DATA SEGMENTN1 DB
-1,-4,-50MAX DB
ENDSSTACK SEGMENT STACK DB
DUP(0)STACK ENDSCODE SEGMENT ASSUME
CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV
BX,OFFSET N1 MOV
AL,[BX] CMP
AL,[BX+1] JG
AL,[BX+1]S1: CMP
AL,[BX+2] JG
AL,[BX+2]S2: MOV MAX,ALtest al,80hjz zzzneg almov dl,'-'push axmov ah,2int 21hpop axzzz:mov ah,0mov dl,100div dlpush axmov ah,2mov dl,aladd dl,30hint 21hpop axmov al,ahmov ah,0mov dl,10div dladd ax,3030hpush axmov ah,2mov dl,alint 21hpop axmov dl,ahmov ah,2int 21hMOV AH,4CH INT 21HCODE ENDS END START
提问者评价
Thank you very much!
其他类似问题
为您推荐:
汇编语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
第3章-汇编语言程序设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口汇编语言程序设计练习题 - 百度文库
汇编语言程序设计练习题
汇编语言程序设计练习题
一、字符与串处理类
1.逆序输出字符串“BASED ADDRESSING”。
2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。
3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。
4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。
5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。
6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。
7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。
8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。
9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。
10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。
11.在内存区域0B800::0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。
12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。
13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。
二、数字输入输出类
1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。
2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。
3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。
4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。
5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。
6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。
7.试编写一段程序,从键盘接收一个-间的十进制有符号数,并在终端上显示与它等值的二进制数。
8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制
贡献者:JkyMCS-51单片机问题:对内部RAM中以R0位首地址的连续三单元中的无符号数求和,要求用汇编语言_百度知道
MCS-51单片机问题:对内部RAM中以R0位首地址的连续三单元中的无符号数求和,要求用汇编语言
提问者采纳
CLR CMOV A,@R0INC R0ADDC A,@R0INC R0ADDC A,@R0A中即为最后的和
提问者评价
来自团队:
其他类似问题
为您推荐:
其他2条回答
A,R0ADDC A,01HADDC A,02H
51单片机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁很抱歉,该文档已经被删除了...先到其它地方遛一圈吧!
您可以在豆丁搜索您要找的内容
您可能感兴趣的文档
&2008- Inc. All Rights Reserved 豆丁网
扫描下载APP
扫描关注豆丁网
微信号:doudingwang
随时赢取精美礼品

我要回帖

更多关于 汇编语言求最大值 的文章

 

随机推荐