【汇编语言】统计字符个数,二进制显示


【汇编语言】统计字符个数,二进制显示

微机原理实验题目

题目

解答

.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
asm