Echo. 2023-04-24 19:15 采纳率: 50%
浏览 30
已结题

微机原理与技术借口 程序设计建立

程序设计建立两个操作:
一个操作将16进制数变换成ASCII码,一个操作将ASCII码字符在屏幕上显示输出。
(1)第一步应分析要求,选择合适的结构设计流程图。例如:本设计采用_结构。(注意选择的结构和下面自己编写的程序对应。
(2)请从数据段开始,编写完成功能的汇编程序。

  • 写回答

3条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-24 19:40
    关注

    基于Monster 组和GPT的调写:

    可以使用顺序结构设计。下面是汇编程序示例:

    DATA SEGMENT
        HEX DB 1FH, 45H, 6BH, 8FH   ; 16进制数
        ASCII DB 4 DUP ('$')        ; 存储转换后的ASCII码
    DATA ENDS
    
    CODE SEGMENT
        ASSUME CS:CODE, DS:DATA
    START:
        MOV AX, DATA
        MOV DS, AX                  ; 初始化数据段寄存器
    
        ; 将16进制数变换成ASCII码
        MOV CX, 4                   ; 循环4次
        MOV SI, 0                   ; HEX数组偏移地址
        MOV DI, 0                   ; ASCII数组偏移地址
    CONVERT:
        MOV AL, HEX[SI]             ; 读取16进制数
        MOV AH, 0
        PUSH AX                     ; 保存AX
        AND AL, 0FH                 ; 获取低4位
        CMP AL, 0AH
        JB LOWERCASE                ; 小写字母
        ADD AL, 37H                 ; 转换成大写字母
        JMP CONTINUE
    LOWERCASE:
        ADD AL, 30H                 ; 转换成数字或小写字母
    CONTINUE:
        POP AX                      ; 恢复AX
        MOV ASCII[DI], AL           ; 存储ASCII码
        INC SI                      ; HEX数组偏移地址+1
        INC DI                      ; ASCII数组偏移地址+1
        LOOP CONVERT
    
        ; 在屏幕上显示输出ASCII码字符
        MOV AH, 9
        LEA DX, ASCII               ; 装载要输出的字符串的地址
        INT 21H
    
        MOV AH, 4CH                 ; 退出程序
        INT 21H
    CODE ENDS
    END START
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月24日

悬赏问题

  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析