DATA SEGMENT
STRING DB 'BASED ADDRESSING'
LEN EQU $-STRING ;求字符串长度
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA SI,STRING
ADD SI,LEN
DEC SI ;SI指到字符串的最后一个字符
MOV CX,LEN ;CX中为字符串长度,也就是要显示的字符个数,用来作循环次数
S0:
MOV AH,02H
MOV DL,[SI]
INT 21H
DEC SI ;每显示一个,SI减1
LOOP S0
MOV AX,4C00H
INT 21H
CODE ENDS
END START
第2题:几位数呢?如果一位数还算简单,否则就有点复杂了.下面是一位数的加法.
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
温馨提示:内容为网友见解,仅供参考