编写程序找出其中的最大值和最小值,以及它们各自的地址
答案:1 悬赏:0 手机版
解决时间 2021-02-25 04:48
- 提问者网友:低吟詩仙的傷
- 2021-02-24 15:38
编写程序找出其中的最大值和最小值,以及它们各自的地址
最佳答案
- 五星知识达人网友:荒野風
- 2021-02-24 16:53
参考一下:
;40H单元放最大值,41H单元放最小值
;42H单元放最大值地址,43H单元放最小值地址
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV SP,#60H
MOV R0,#30H
MOV R7,#10H-2
M1: ;先把30H、31H两个单元的数拿出来比较:大的放到40H,地址放到42H;小的放到41H 地址放到43H
MOV 40H,@R0
MOV 42H,R0
INC R0
MOV A,R0
MOV 41H,@R0
MOV 43H,R0
CLR C
SUBB A,40H
JC START
MOV 41H,40H
MOV 43H,42H
MOV 40H,@R0
MOV 42H,R0
START: ;从32H单元拿数,分别与40H单元的数和41H单元的数进行比较:比(40H)大,放到40H,比(41H)小,放到41H
INC R0
MOV A,@R0
CLR C
SUBB A,40H
JC SWAP2
MOV 40H,@R0
MOV 42H,R0
SJMP NEXT
SWAP2:
MOV A,@R0
CLR C
SUBB A,41H
JNC NEXT
MOV 41H,@R0
MOV 43H,R0
NEXT:
DJNZ R7,START
SJMP $
END来自:求助得到的回答
;40H单元放最大值,41H单元放最小值
;42H单元放最大值地址,43H单元放最小值地址
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV SP,#60H
MOV R0,#30H
MOV R7,#10H-2
M1: ;先把30H、31H两个单元的数拿出来比较:大的放到40H,地址放到42H;小的放到41H 地址放到43H
MOV 40H,@R0
MOV 42H,R0
INC R0
MOV A,R0
MOV 41H,@R0
MOV 43H,R0
CLR C
SUBB A,40H
JC START
MOV 41H,40H
MOV 43H,42H
MOV 40H,@R0
MOV 42H,R0
START: ;从32H单元拿数,分别与40H单元的数和41H单元的数进行比较:比(40H)大,放到40H,比(41H)小,放到41H
INC R0
MOV A,@R0
CLR C
SUBB A,40H
JC SWAP2
MOV 40H,@R0
MOV 42H,R0
SJMP NEXT
SWAP2:
MOV A,@R0
CLR C
SUBB A,41H
JNC NEXT
MOV 41H,@R0
MOV 43H,R0
NEXT:
DJNZ R7,START
SJMP $
END来自:求助得到的回答
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯