找出8个无符号二进制数的最大值

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

找出8个无符号二进制数的最大值

内部RAM 20H单元开始存放8个8位无符号二进制数,找出其中的最大数,设计程序如下:ORG 0000H

LJMP MAIN ;程序入口

MAIN: MOV 20H,#0F2H ;程序初始化

MOV 21H,#05H

MOV 22H,#54H

MOV 23H,#9H

MOV 24H,#0F7H

MOV 25H,#12H

MOV 26H,#0E8H

MOV 27H,#23H

MOV R0,#20H ;首地址到R0

MOV R7,#07H ;长度计数器

MOV A,@R0 ;读第一个数到累加器

LOOP:CLR C ;清零进位标志位CY INC R0 ;修改地址

MOV 2AH,A ;累加器中的数送2AH

MOV 2BH,@R0 ;读下一个数

SUBB A,2BH ;把累加器中的数与2BH中的数相减JC ABC ;判断进位标志,=1执行ABC,=0向下执行

MOV A,2AH ;把较大数送人累加器

LJMP TT ;跳转到TT

ABC:MOV A,2BH ;把较大数送入累加器

TT:DJNZ R7,LOOP ;判断8个数比完没,没完去LOOP,完了向下执行

SJMP $ ;等待

END

ORG 0000H

LJMP MAIN

MAIN: MOV 50H,#01H

MOV 51H,#02H

MOV 52H,#03H

MOV 53H,#04H

MOV 54H,#05H

MOV 55H,#06H

MOV 56H,#07H

MOV 57H,#08H

MOV 58H,#09H

MOV 59H,#0AH

MOV 5AH,#0BH

MOV 5BH,#0CH

MOV 5CH,#0DH

MOV 5DH,#0EH

MOV 5EH,#0F1H

MOV 5FH,#10H

MOV R0,#50H

MOV R1,#50H

MOV R7,#10H

MOV A,@R0

L1:CLR C

MOV 70H,A

INC R0

MOV 71H,@R0

SUBB A,71H

JC LZ

MOV A,70H

JMP TT

LZ:MOV A,71H

TT:DJNZ R7,L1

MOV 61H,A

;******************************** L2:CLR C

MOV A,72H

MOV 73H,A

INC R1

MOV 74H,@R1

SUBB A,74H

JC LS

MOV A,74H

JMP ZZ

LS:MOV A,73H

ZZ:DJNZ R7,L2

MOV 61H,A

SJMP $

END

程序框图:

相关文档
最新文档