ggdhjvb 2022-12-30 13:24 采纳率: 100%
浏览 22
已结题

微机原理与接口技术——汇编语言

微机相关的问题
基于微机系统的一些小问题
望提出建议供参考学习,希望提出宝贵的思路和方法

  • 写回答

2条回答 默认 最新

  • heart_6662 2022-12-31 16:33
    关注
    
    section .data
    
    HEADER1 db 0x5A
    HEADER2 db 0xA5
    STATION_ADDRESS db 0x50
    READ_COMMAND db 0x81
    WRITE_COMMAND db 0x80
    ADDRESS_HIGH db 0x30
    ADDRESS_LOW db 0x40
    DATA db 0xAA
    
    section .bss
    
    request resb 9
    
    section .text
    
    calc_checksum:
        xor eax, eax
        xor ebx, ebx
    
    .loop:
        add al, byte [edi + ebx]
        inc ebx
        cmp ebx, esi
        jne .loop
    
        ret
    
    main:
        ; 初始化串口
        ; 打开串口并设置波特率等参数
    
    .loop:
        ; 读取下位机 50 的地址为300的数据
        mov byte [request], HEADER1
        mov byte [request + 1], HEADER2
        mov byte [request + 2], STATION_ADDRESS
        mov byte [request + 3], READ_COMMAND
        mov byte [request + 4], ADDRESS_HIGH
        mov byte [request + 5], ADDRESS_LOW
        mov byte [request + 6], 0x01
        mov edi, request
        mov esi, 7
        call calc_checksum
        mov byte [request + 7], al
        ; 发送请求报文
        ; 等待下位机的回复报文
        ; 解析报文中的数据码
    
        ; 写入下位机 50 的3040地址数据为AA
        mov byte [request], HEADER1
        mov byte [request + 1], HEADER2
        mov byte [request + 2], STATION_ADDRESS
        mov byte [request + 3], WRITE_COMM
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 已采纳回答 12月31日
  • 创建了问题 12月30日

悬赏问题

  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上