SUB AL,07H 有什么用?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 16:26:13
SUB AL,07H 有什么用?
DATA SEGMENT
NUM DB ,
SUM DB
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,2
LEA SI,NUM
S0:
MOV AH,01H
INT 21H
CMP AL,'9'
JBE NEXT
SUB AL,07H -->有什么作用?
NEXT:
SUB AL,30H -->有什么作用?
MOV [SI],AL
INC SI
LOOP S0
LEA SI,NUM
MOV AL,[SI]
ADD AL,[SI+1]
MOV SUM,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START
DATA SEGMENT
NUM DB ,
SUM DB
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,2
LEA SI,NUM
S0:
MOV AH,01H
INT 21H
CMP AL,'9'
JBE NEXT
SUB AL,07H -->有什么作用?
NEXT:
SUB AL,30H -->有什么作用?
MOV [SI],AL
INC SI
LOOP S0
LEA SI,NUM
MOV AL,[SI]
ADD AL,[SI+1]
MOV SUM,AL
MOV AX,4C00H
INT 21H
CODE ENDS
END START
1、首先这两句,是把输入的一个字符给了AL
!注意:AL存的是ASCII码,比如说你输入1,AL存的是31H,也就是十进制的48
如果你输入A,存的是41H,也就是十进制的65
MOV AH,01H
INT 21H
2、 比较AL的字符是不是大于9,因为十六进制的数大于10,要用ABCDEF了,这个你应该知道.
但是A的ASCII码是41H,也就是十进制的65.这个值减去37H,也就是十进制的55,正好就是十进制的10,正好就是A的十进制表达.字母B 42H-37H=BH,也就是十进制的11
CMP AL,'9'
JBE NEXT
你问的这两句
SUB AL,07H
这句话就是如果输入的字符大于10,就先减去07H,以为一会还要减30H,加起来就是减了37H
NEXT:
SUB AL,30H -->这句话是减去30H,ASCII转为真正的数字,上面有解释.因为无论如何这个都执行,所以上面那个大于10的先减去的07H,是为了程序简单一些而已
!注意:AL存的是ASCII码,比如说你输入1,AL存的是31H,也就是十进制的48
如果你输入A,存的是41H,也就是十进制的65
MOV AH,01H
INT 21H
2、 比较AL的字符是不是大于9,因为十六进制的数大于10,要用ABCDEF了,这个你应该知道.
但是A的ASCII码是41H,也就是十进制的65.这个值减去37H,也就是十进制的55,正好就是十进制的10,正好就是A的十进制表达.字母B 42H-37H=BH,也就是十进制的11
CMP AL,'9'
JBE NEXT
你问的这两句
SUB AL,07H
这句话就是如果输入的字符大于10,就先减去07H,以为一会还要减30H,加起来就是减了37H
NEXT:
SUB AL,30H -->这句话是减去30H,ASCII转为真正的数字,上面有解释.因为无论如何这个都执行,所以上面那个大于10的先减去的07H,是为了程序简单一些而已
Private Sub Form_Click()和Private Sub Command1_Click()有什么区别?
mov al,0fbh ; al=0fbh add al,07h ; al=02h
AL有什么含义?
汇编语言 push ds sub ax,ax push ax 有什么用~
private sub command redim + preserve 怎么用? 举例说明.有什么作用?
英语 Sub Contract 和 Outsourcing 有什么区别?
sub branch 和branch有什么区别吗?
有谁知道sub-prime
2.怎样定义SUB过程和Function过程?对SUB过程和Function过程的调用方式有什么不同?
H,K,O,S,Al能组成什么化合物?
Al,S,K,O,H能组成什么化合物?用途?
sub al,al PF标志等于多少,或者mov al,255 add al,1 PF等于多少