永发信息网

编写程序,将内部RAM30H-40H单元共32个有符号数最大者找出,存入50H单元。

答案:2  悬赏:80  手机版
解决时间 2021-11-23 04:48
编写程序,将内部RAM30H-40H单元共32个有符号数最大者找出,存入50H单元。
最佳答案
NUMBERS DATA 30H  
RESULT DATA 50H  
COUNT EQU 32     
ORG 0000H    
LJMP MAIN     
ORG 0030H  
MAIN:     
MOV RESULT, #0FFH  
; MOV RESULT, #080H;test     
MOV R0, #NUMBERS     
MOV R5, #COUNT  ;
;mov 30h,#0fbh  ;-5 test 
;mov 31h,#0fCh  ;-4 test
NEXT:      
MOV A, RESULT     
JB ACC.7,RN;判断RESULT是否为负数,  
RP:;RESULT正数      
MOV A, @R0     
JB ACC.7,RPNN;判断是否为负数,  
RPNP:;正数      
CLR C     
MOV A, RESULT     
SUBB A, @R0     
JNC NOEXCH; 若C不等于1,则A大,不需要交换      
JMP EXCH;C=1,说明A小,需要交换值,使result为大  
RPNN:;负数      
JMP NOEXCH  
RN:;RESULT负数     
 MOV A, @R0 ;     
JNB ACC.7,RPNP;判断是否为正数,      
JNB ACC.7,RNNP;判断是否为正数,;【修改】  
RNNN:;负数      
MOV A, RESULT     
CLR C      
SUBB A, @R0     
JNC NOEXCH   
; JC NOEXCH  ;【修改】  
RNNP:;【新增】          
JMP EXCH  
EXCH:    MOV RESULT, @R0  
NOEXCH:     
INC R0     
DJNZ R5, NEXT    
 SJMP $ 
 END老师写错了。
全部回答

程序,其实,写得很罗嗦。


他是把正数和正数相减,判断一下大小;

负数和负数相减,也判断一下大小。


其实,负数和负数相减后的判断,和正数相减的判断准则相同。


两个带负号的数,其形式是补码。

FFH,是-1,在负数中,它最大。

80H,是-128。它比 FF 小。


负数和负数相减后,CY=1,则说明,被减数较小。


减法程序,不用分开写两段。


另外,既然是求最大值,那么,开始时,在 RESULT 中,

应该先存放一个最小的数字,即-128。

他存放的是-1,这是错误的。


正确程序如下:

MAIN:

    MOV   RESULT, #80H  ;关键字,不应该是0FFH
    MOV   R0, #NUMBERS
    MOV   R5, #COUNT

NEXT:

    MOV   A, RESULT     ;取关键字
    JB    ACC.7, RN     ;是负数则转移
    MOV   A, @R0
    JNB   ACC.7, _SUB_  ;两个都是正数,转去相减
    JMP   NOEXCH        ;是负数则不用更换

RN:
    MOV   A, @R0
    JB    ACC.7, _SUB_  ;两个都是负数,转去相减
    JMP   EXCH          ;是正数则更换

_SUB_:
    CLR   C
    MOV   A, RESULT
    SUBB  A, @R0        ;都是正数或都是负数,相减
    JNC   NOEXCH        ;够减就不更换

EXCH:
    MOV   RESULT, @R0
NOEXCH:
    INC   R0
    DJNZ  R5, NEXT

    SJMP  $

END
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如果我给大雁写歌词要写什么
郑州创泰科技有限公司是不是骗人的?
照明母线槽的规格有多大的?
从宁乡蓝色港湾到宁乡服务区外面怎么走
请教一下燕窝里含有碘吗?如果有,大概是什么
想学素描.用报个班吗
上图没戴帽子的和下图谁漂亮一点
借名买房的效力如何?
为什么hspice会出现invalid memory reference
苹果的DCIM文件夹是不是不能直接把电脑照片拖
请问大连到昆明怎样坐火车最快最省钱呢?需要
忠臣电陶炉耗电?烧2小时大概用多少度电?
函数y=4-8x-x平方的图像的顶点的坐标是(),
零食店加盟怎么才能完胜竞争对手
福睿斯飞歌链接不上蓝牙。手机搜索不到导航的
推荐资讯
墙上很多这种虫子。这是什么虫子吧
乐视二手机的悬浮窗在哪设置
长沙的夜景的日记(106个字)
如何以踏石留印,抓铁有痕的劲头抓作风建设
上网本如何调亮度
英语penq是什么意思
赞美厨房兄弟辛苦的语句
磁带存储器的简介
289车牌号意义
London ( ) the evening of June 1 st. 括号
主创装饰怎么样?
小米最低配的游戏本和最高配的pro选哪
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?