汇编语言程序(输入十个负数,输出其中最小的)
要求:输入包含10个整数(8位二进制补码表示)的数组M并存于RAM中,访问RAM中的数组元素,输出最小的负数。...
要求:输入包含10个整数(8位二进制补码表示)的数组M并存于RAM中,访问RAM中的数组元素,输出最小的负数。
展开
2个回答
展开全部
ORG 0000H
LJMP MAIN0
ORG 0030H
MAIN0:MOV A,#10H
ACALL MAIN ;长调用排序程序
MOV P1,A
SJMP $
MAIN: ;子程序入口
MOV R6,#00 ;起停标志位
LOOP:CLR 00H ;置换标志位
MOV R0,#40H ;数据存储单元
MOV R7,#10 ;循环次数控制
JIXU:MOV A,@R0 ;取第一个数
MOV 2AH,A ;存储
INC R0 ;调整数据指针
MOV 2BH,@R0 ;取第二个数,存储
CLR C ;清零
SUBB A,@R0 ;减法
JNC NEXT ;判断大小
MOV A,@R0 ;交换数据
XCH A,2AH
MOV @R0,A
DEC R0
MOV A,@R0
XCH A,2BH
MOV @R0,A
INC R0 ;调整数据指针
NEXT:SETB 00H ;置位标志位
DJNZ R7,JIXU ;没有完成继续
INC R6 ;是否比较完成
CJNE R6,#10,LOOP ;完成,返回
RET
END
LJMP MAIN0
ORG 0030H
MAIN0:MOV A,#10H
ACALL MAIN ;长调用排序程序
MOV P1,A
SJMP $
MAIN: ;子程序入口
MOV R6,#00 ;起停标志位
LOOP:CLR 00H ;置换标志位
MOV R0,#40H ;数据存储单元
MOV R7,#10 ;循环次数控制
JIXU:MOV A,@R0 ;取第一个数
MOV 2AH,A ;存储
INC R0 ;调整数据指针
MOV 2BH,@R0 ;取第二个数,存储
CLR C ;清零
SUBB A,@R0 ;减法
JNC NEXT ;判断大小
MOV A,@R0 ;交换数据
XCH A,2AH
MOV @R0,A
DEC R0
MOV A,@R0
XCH A,2BH
MOV @R0,A
INC R0 ;调整数据指针
NEXT:SETB 00H ;置位标志位
DJNZ R7,JIXU ;没有完成继续
INC R6 ;是否比较完成
CJNE R6,#10,LOOP ;完成,返回
RET
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询