#汇编语言#求大神们看看我的程序

DATA SEGMENTMESS1 DB ✀This is my assembly-XIN✀,✀$✀MESS2 DB ✀INPUT ONE NUMBER :✀,✀$✀CLR DB 0DH,0AH,✀$✀DATA ENDSSTACT SEGMENTCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX ;初始化DS MOV AH,09H LEA DX,MESS1 ;提示信息 INT 21H MOV AH,09H LEA DX,CLR ;回车 INT 21H START1: MOV AH,09H LEA DX,MESS2 INT 21H ;提示信息2 MOV AH,01H INT 21H CMP AL,33H ;输入信息小于3转! JB START1 CMP AL,39H JA START1 ;输入信息大于9转! MOV BL,AL MOV BH,00H ;清空BH MOV CL,00H MOV CH,00H ; MOV AH,09H LEA DX,CLR INT 21H A1: INC CX CMP CX,BX JAE EXIT push CX B1: MOV DL,✀*✀ MOV AH,02H INT 21H LOOP B1 MOV AH,09H LEA DX,CLR INT 21H pop cx loop A1EXIT:MOV AH,4CH INT 21HCODE ENDSEND STARTEND START1 不管输入什么都输出一个*…………
2026年09月27日 07:52
有1个网友回答
网友(1):

不明白这个程序是实现什么功能

我分析了一下:
输入一个大于3、小于9的字符把它存在BL,BH清空。

这样BX就在33H与39H之间,肯定比1大
inc cx之后,CX为1,JAE EXIT肯定是无效的
然后输出 了一个星号,
PUSH CX之后的LOOP
与POP CX之后的LOOP
CX均为1,也就是LOOP是无效的
这个程序也只是输出了两个字符串,和一个星号
跟输入的大于3、小于9的字符没有什么关系呀