xaiocaiji1 2021-10-07 22:01 采纳率: 0%
浏览 121

设在外部数据存储器2040H开始的单元中存放100个单字节无符号数,

设在外部数据存储器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:
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月7日

悬赏问题

  • ¥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使用得具体信息,干了什么,传输了什么数据