汇编语言程序设计练习题1. 逆序输出字符串“BASED ADDRESSING”。 2. 从键盘上输入2 个数,求出它们的和。

1. 逆序输出字符串“BASED ADDRESSING”。

2. 从键盘上输入2 个数,求出它们的和。

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
温馨提示:内容为网友见解,仅供参考

Warning: Invalid argument supplied for foreach() in /www/wwwroot/www.t2y.org3v3b34/skin/templets/default/contents.html on line 47
相似回答