【汇编语言】统计字符个数,二进制显示
【汇编语言】统计字符个数,二进制显示
微机原理实验题目
题目#
解答#
.486
DATAS SEGMENT USE16
BUF DB 'I AM A STUDENT' ;含有B,C,D的个数为2
NUM DB 0 ;统计42H至45H的个数
LEN EQU $-BUF ;获得BUF的长度
DATAS ENDS
CODES SEGMENT USE16
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
MOV AH,BUF
MOV BYTE PTR [BX],AH
MOV CX,LEN ;遍历字符串,循环1的次数为字符串长度
AGAIN1:
MOV SI,CX
CMP BYTE PTR [BX+SI-1],42H ;基址加变址寻址,利用CX--的特性
JC NEXT
CMP BYTE PTR [BX+SI-1],45H
JA NEXT
INC NUM;NUM++的条件是42H<x<45H,即x=B,C,D
NEXT:
LOOP AGAIN1
MOV CX,8 ;循环2的次数为8,因为显示为8位二进制数
AGAIN2:
SHL NUM,1
MOV DL,30H ;先默认DL为30H,即显示0
JNC ShowZero ;如果C标志为0,那么接下来就不将DL+1
ADD DL,01H
ShowZero:
MOV AH,02H
INT 21H
LOOP AGAIN2
MOV AH,4CH
INT 21H
CODES ENDS
END START
作者:Baiyug
出处:https://www.cnblogs.com/Baiyug/p/16187526.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~