问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求最大值和最小值的汇编程序

发布网友 发布时间:2022-05-13 00:41

我来回答

1个回答

热心网友 时间:2023-08-24 04:49

(一)MCS-51定点运算子程序库及其使用说明

定点运算子程序库文件名为DQ51.ASM,为便于使用,先将有关约定说明如下:

1.多字节定点操作数:用[R0]或[R1]来表示存放在由R0或R1指示的连续单元中的数据。地址小的单元存放数据的高字节。例如:[R0]=123456H,若(R0)=30H,则(30H)=12H,(31H)=34H,(32H)=56H。

2.运算精度:单次定点运算精度为结果最低位的当量值。

3.工作区:数据工作区固定在PSW、A、B、R2~R7,用户只要不在工作区中存放无关的或非消耗性的信息,程序就具有较好的透明性。

(25) 标号: MMS功能:求单字节十六进制有符号数据块的极值

入口条件:数据块的首址在DPTR中,数据个数在R7中。
出口信息:最大值在R6中, 地址在R2R3中;最小值在R7中,地址在R4R5中。
影响资源:PSW、A、B、R1~R7 堆栈需求: 4字节

MMS: MOV B,R7 ;保存数据个数
MOVX A,@DPTR ;读取第一个数据
MOV R6,A ;作为最大值的初始值
MOV R7,A ;也作为最小值的初始值
MOV A,DPL ;取第一个数据的地址
MOV R3,A ;作为最大值存放地址的初始值
MOV R5,A ;也作为最小值存放地址的初始值
MOV A,DPH
MOV R2,A
MOV R4,A
MOV A,B ;取数据个数
DEC A ;减一,得到需要比较的次数
JZ MMSE ;只有一个数据,不需要比较
MOV R1,A ;保存比较次数
PUSH DPL ;保护数据块的首址
PUSH DPH
MMS1: INC DPTR ;调整数据指针
MOVX A,@DPTR ;读取一个数据
MOV B,A ;保存
SETB C ;与最大值比较
SUBB A,R6
JZ MMS4 ;相同,不更新最大值
JNB OV,MMS2 ;差未溢出,符号位有效
CPL ACC.7 ;差溢出,符号位取反
MMS2: JB ACC.7,MMS4;差为负,不更新最大值
MOV R6,B ;更新最大值
MOV R2,DPH ;更新最大值存放地址
MOV R3,DPL
SJMP MMS7
MMS4: MOV A,B ;与最小值比较
CLR C
SUBB A,R7
JNB OV,MMS6 ;差未溢出,符号位有效
CPL ACC.7 ;差溢出,符号位取反
MMS6: JNB ACC.7,MMS7;差为正,不更新最小值
MOV R7,B ;更新最小值
MOV R4,DPH ;更新最小值存放地址
MOV R5,DPL
MMS7: DJNZ R1,MMS1 ;处理完全部数据
POP DPH ;恢复数据首址
POP DPL
MMSE: RET
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天将雄师观后感600字 为什么喝酒会降血糖 牛栏山 52度浓香型白酒-购买最佳价格 全兴大曲 52度浓香型白酒-购买最佳价格 笔记本电脑怎么接音箱电脑如何连接外置音箱 笔记本电脑有音箱插孔吗笔记本电脑如何连接喇叭 冰箱压缩机过热启动5秒就停了 周长相等的正方形和圆,其面积比是多少 周长相等的正方形和圆面积比是多少 周长相等的正方形与圆形,边长与半径的比是( ),面积之比是( )。 要有... 怎样可以让QQ宠物心情快速好起来? 十个数求最大值和最小值C语言程序怎么编写 由键盘输入10个数,求出其中的最大值、最小值及平均值的C程序 “输入一组数,找出最大值和最小值”的c程序怎么写 登不上,显示账号或密码错误怎么回事? 跪求今年最新电影,【在线观看】免费百度云资源 【合集】今年新上映的电影,【在线观看】免费百度云资源 黑椒鸡胸肉的做法步骤图,黑椒鸡胸肉怎么做 跪求今年上映过的电影,【在线观看】免费百度云资源 黑胡椒汁烧鸡腿肉怎么做 跪求今年的最新电影,【在线观看】免费百度云资源 红烧全鸡怎么做好吃窍门 跪求今年的新电影,【在线观看】免费百度云资源 小鸡怎么红烧 跪求今年新出的电影有什么名字,【免费高清】在线观看百度网盘资源 【合集】2020年最新电影排行榜前十名,【在线观看】免费百度云资源 跪求2020年新上映的欧美电影排行榜,【免费高清】在线观看百度网盘资源 PC版疤面煞星下载 计算机应用技术与计算机网络技术有什么区别? 计算机应用与计算机网络技术有什么区别 qq宠物心情怎么变好 保温壶316不锈钢内胆是不是已经算很好的了?帝伯朗新出的保温壶说是18/10无缝内胆的,会比316更好吗? C语言编程序:输入a,b,c,d四个整数,求最小值,最大值。 微信密码是对的,为什么修改需要输入密码时,一直提示账号或密码错误?_百度问一问 怎样才能使QQ宠物的心情变好? C语言编程问题:编写程序求最大值、最小值及平均值。 微信密码是对的,为什么修改需要输入密码时,一直提示账号或密码错误? 用c语言编写程序求数组元素的最大值最小值 用比较,循环语句 什么方法可以让QQ宠物心情变好? 怎么样才能让QQ宠物的心情变好? 求若干个数中的最大值和最小值的程序 如何设计“输入m个数,求其最大值、最小值、平均数”的c程序 QQ宠物心情怎么提升? c++最大值最小值程序编写 怎样才能使QQ宠物的心情变好。? 怎么样才能最快的让QQ宠物的心情变好? 用手机注册的微信要换手机号想保留怎么办 为什么没1米六的床? 哪种木材做的实木床比较好? 求懂木材的师傅!要买实木床但是看材质真的太纠结了