博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汇编编程一点点提高2
阅读量:7242 次
发布时间:2019-06-29

本文共 878 字,大约阅读时间需要 2 分钟。

   编一个程序,要求把NUM单元存放的一个8位二进制数,在屏幕上显示成16进制数。

DATAS SEGMENT    ;此处输入数据段代码NUM db 11001100b ;dchmess db 'B converted to h:$'  DATAS ENDSSTACKS SEGMENT    ;此处输入堆栈段代码STACKS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:    MOV AX,DATAS    MOV DS,AX    ;此处输入代码段代码    mov ah,9    mov dx,seg mess    mov ds,dx    mov dx,offset mess    int 21h        mov bl,NUM;将NUM装入BL    mov ch,2;控制循环次数again:    mov cl,4    rol bl,cl;循环左移将二进制数的高四位移到低四位    mov dl,bl;保护二进制数    and dl,0fh;转换为ASCII码    add dl,30h;判断是否是大于9的ascii码    cmp dl,3ah;转换为字母    jb show    add dl,7hshow:           ;显示    mov ah,2    int 21h        dec ch    jnz again        mov dl,48h    mov ah,2    int 21h        MOV AH,4CH    INT 21HCODES ENDS    END START

这个程序的重点有两个:1,将二进制数循环左移四位转换为一位十六进制;

2.十六进制输出问题,判断是否大于3ah,大于的话加7转换为字母;

还需要注意的是:调用DOS的2号功能是单个字符显示,9号功能是字符串显示

转载于:https://www.cnblogs.com/mm-happy/p/3750156.html

你可能感兴趣的文章
docker中启动关闭删除所有的容器命令
查看>>
python语言基础之正则表达式2,随机数
查看>>
【界面专访】李强:SAP「中国加速计划」落地生根
查看>>
【阿里云总监课第四期】时髦的云原生应用怎么写?
查看>>
白话TCP为什么需要进行三次握手
查看>>
三个开源硬件项目
查看>>
Have fun with Treasure Trails %enjoy 8% off cheap
查看>>
pdf转word如何转?最简单的方法你知道吗?
查看>>
“VR女友”制作人访谈
查看>>
阿列克谢·卡什巴斯基:有机生命渲染
查看>>
一文了解 Apache Flink 核心技术
查看>>
科略教育—管理者应具备五大能力
查看>>
mac上使用dex2jar遇到的权限问题的解决
查看>>
我的友情链接
查看>>
定位于地图小程序
查看>>
学习go语言 我的习题答案 chapter3
查看>>
vCenter Server Appliance 6.5 中重置丢失或忘记的 root 密码
查看>>
教育行业-班班通应用案例
查看>>
Linux SSH管理用户登录
查看>>
LAMP
查看>>