设在外部数据存储器2040H开始的单元中存放100个单字节无符号数,试编写程序找出关键字05H的第一个存放地址,并送入片外数据存储器2020H、2021单元中,若05H不存在,则将片外RAM2020H、2021清零;统计100个数据中小于05H,等于05H及大于05H的个数,送入片外数据存储器2022H、2023H、2024H中。
1条回答 默认 最新
- 踢足球的阿坤 2023-02-17 22:33关注
MOV R0,#2040H ; 从2040H开始查找 MOV R1,#2020H ; 将查找结果送入2020H MOV R2,#0 ; 小于05H的个数 MOV R3,#0 ; 等于05H的个数 MOV R4,#0 ; 大于05H的个数 MOV R5,#100 ;查找100次 FIND_05: MOV A,@R0 ; 读取单元数 CJNE A,#05H,SUM_DIFF ; 判断单元数是否等于05H JZ SUM_EQ ; 若等于,转去SUM_EQ SUM_DIFF: CJNE A,#05H,SUM_GT ; 判断单元数是否大于05H JNC SUM_LT ; 若小于,转去SUM_LT SUM_GT: INC R4 ; 大于05H则计数器加1 JMP NEXT ; 转去NEXT SUM_EQ: INC R3 ; 等于05H则计数器加1 MOV @R1,R0 ; 将此时的地址存入2020H JMP NEXT ; 转去NEXT SUM_LT: INC R2 ; 小于05H则计数器加1 NEXT: INC R0 ; R0自加1 DJNZ R5,FIND_05 ; R5自减1,判断是否完成100次查找 MOV @R1,R2 ; 将查找结果送入2022H INC R1 ; R1自加1 MOV @R1,R3 ; 将查找结果送入2023H INC R1 ; R1自加1 MOV @R1,R4 ; 将查找结果送入2024H SJMP END ; 跳转到END处 END:
解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)
- ¥15 keil里为什么main.c定义的函数在it.c调用不了
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类
- ¥15 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据