能力值:
( LV2,RANK:10 )
|
-
-
2 楼
楼主啊,我明年就要学习这个了,可惜到现在还不懂得额,到时候跟您一起探讨
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
bx在哪里赋值的呢
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
bx在哪里赋值的呢
没有赋值,这个可以直接拿来用吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
我过久就学了!楼主加油!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
能不能告诉我 BX是做什么的
解释下代码好吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
VAR1 DB "ASdhagjBDERT" //这是定义一个字符串。
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
LEA SI,VAR1
NEXT:
CMP BYTE PTR [SI],00H//判断接下来的字符是否是00H。
JZ DISP1 //是的话就直接跳转到disp1处
CMP BYTE PTR [SI],"Z" //将字符与“Z”比较
JLE NEXT //小于等于的话就重新执行next程序
ADD BL,1 //BL是用来计算有多少个小写字母
JMP NEXT
DISP1:
MOV AH,4CH
INT 21H
CSEG ENDS
END START[QUOTE][/QUOTE]
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
BX应该是作为字符串的长度来使用吧?
你比较的“Z”的ASCII码是小于“z”的
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
是啊!!我是这样想的,小写字母的ASCII码比大写字母的要大,所以直接拿“Z”来比较了!!
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
没输出到屏幕,这么能看到了,要有输出函数啊。调试的时候可以看到。编译了运行就什么都没有啦
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
可以再寄存器中看到结果啊!
|
能力值:
( LV3,RANK:30 )
|
-
-
12 楼
BL没有清零
如何得到结果?也没有保存之前的数值
况且一般都有I/O函数的啊
为什么不用呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
bl没有清零,字符串地址SI没有加1.
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
我还没学到那里!
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
DSEG SEGMENT
VAR1 DB "ASdhagjBDERT"
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
LEA SI,VAR1
MOV CX,11
MOV BX,0000H
NEXT:
MOV AL,DS:[SI]
CMP AL,00H
JZ DISP1
CMP AL,"Z"
JNA DISP
ADD BX,1
JMP DISP
DISP:
INC SI
LOOP NEXT
DISP1:
ADD BX,30H
MOV DL,BL
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
经过各位的帮忙,我做出来了,谢谢大家!!上面这个程序就可以!
|
|
|