主题:[讨论]简单的几句汇编语言,,请高手解释下
我才刚学习汇编..有些语句不懂..请大家帮我看看
下面是一个很简单的大小写转换的汇编程序:
DATA SEGMENT
InputStr DB 'Please input a letter:$'
NEXT DB 0AH,0DH,'$'////请问下这句是什么意思呢,,在这定义有什么用??
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA////这句是什么意思呢?assume的作用是???,data段定义在前面,为什么没有在data段前面assume ds:data而在code代码段来分配呢?????
START: MOV AX,DATA
MOV DS,AX
INPUT: LEA DX,INPUTSTR
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
InL: CMP AL,'a'
JB InB
CMP AL,'z'
JA EXIT
XOR AL, 20H
JMP PRINT
InB: CMP AL,'A'
JB EXIT
CMP AL,'Z'
JA InL
XOR AL ,20H
Print: MOV DL, AL
MOV AH,02H
INT 21H
LEA DX,NEXT ////这句的作用是??为什么要先把它付给lea才调用9号功能呢:??
MOV AH,09H
INT 21H
JMP INPUT
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START////为什么end start没有写在code ends的前面呢????
下面是一个很简单的大小写转换的汇编程序:
DATA SEGMENT
InputStr DB 'Please input a letter:$'
NEXT DB 0AH,0DH,'$'////请问下这句是什么意思呢,,在这定义有什么用??
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA////这句是什么意思呢?assume的作用是???,data段定义在前面,为什么没有在data段前面assume ds:data而在code代码段来分配呢?????
START: MOV AX,DATA
MOV DS,AX
INPUT: LEA DX,INPUTSTR
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
InL: CMP AL,'a'
JB InB
CMP AL,'z'
JA EXIT
XOR AL, 20H
JMP PRINT
InB: CMP AL,'A'
JB EXIT
CMP AL,'Z'
JA InL
XOR AL ,20H
Print: MOV DL, AL
MOV AH,02H
INT 21H
LEA DX,NEXT ////这句的作用是??为什么要先把它付给lea才调用9号功能呢:??
MOV AH,09H
INT 21H
JMP INPUT
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START////为什么end start没有写在code ends的前面呢????