下面程序是将片内RAM______开始的单元内10个二进制数,找出其中最大值并存于单元中。 START: MOV R0,#40H MOV R7,#09H MOV A,@R0 LOOP:

admin2010-04-27  32

问题 下面程序是将片内RAM______开始的单元内10个二进制数,找出其中最大值并存于单元中。
   START: MOV  R0,#40H
           MOV  R7,#09H
           MOV  A,@R0
   LOOP:  INC    R0
           MOV  30H,@R0
           CJNE  A,30H,NEXT
   NEXT:  JNC    BIE1
           MOV  A,30H
   BIE1:  DJNZ  R7,LOOP
           MOV  50H,A
           RET

选项

答案40H 50H

解析 START:MOV  R0,#40H    ;设置片内开始单元
           MOV  R7,#09H    ;十个存储数据
           MOV  A,@R0    ;第一个数据传送至A
   LOOP:  INC  R0    ;R0指向下一个数据
           MOV  30H,@R0    ;假定该数据为最大
           CJNE A,30H,NEXT    ;A和该数据比较
   NEXT:  JNC  BIE1    ;如果A大转移到LOOP
           MOV  A,30H    ;如果A小,将该数据送入A
   BIE1:  DJNZ R7,LOOP    ;数据个数减1,不为0转移到LOOP
           MOV  50H,A    ;A中为最大数据,送入50H单元
           RET
转载请注明原文地址:https://kaotiyun.com/show/PLAx777K
0

最新回复(0)