1 . 顺序程序设计 将两个多位十进制数相加,要求被加数、加数均以ASCⅡ码形式各自顺序存放在以DATA1 和 DATA2 为首的五个内存单元中(低位在前),结果送回 DATA1 处。 DATA SEGMENT DATA1 DB 34H,35H,39H,38H,36H,' ' ;被加数 DATA2 DB 37H,34H,33H,36H,32H,' ' ;加数 DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DATA1 ;有效地址送SI,为调用显示子程序做准备 CALL DISPLAY ;调用显示子程序 CALL CRLF ;调用回车换行子程序 LEA SI,DATA2 ;有效地址送SI,为调用显示子程序做准备,同时为加法运算做准备 CALL DISPLAY ;调用显示子程序 CALL CRLF ;调用回车换行子程序 LEA DI,DATA1 ;有效抵制送DI,为加法运算做准备 MOV AX,0 MOV BX,0 MOV CL,05H ;记录循环次数 ADDS: MOV AL,[SI] ;将加数送往AL SUB AL,30H ADD AL,BL ;加上进位 MOV BL,[DI] ;将被加数送往BL SUB BL,30H ADD AL,BL ;加法运算 ADD AL,30H CMP AL,3AH JA SUBA ;结果>=10,跳到 SUBA JB NSUBA SUBA: SUB AL,0AH ;减去 10 的值,并置 BL 为1 MOV BL,01H JMP CONTINUE NSUBA: MOV BL,00H ;置 BL 为0 CONTINUE:MOV [DI],AL ;将相加的结果从 AL 送往DI 的地址,即 DATA1 的地址 INC DI ;地址加1 INC SI ;地址加1 LOOP ADDS ;循环 JC SHUCHU JNC SHUCHU2 SHUCHU2: MOV AL,31H ;CF 为1 设置结果最高位为1 JMP CONTINUE2 SHUCHU:MOV AL,30H ;CF 为0 设置结果最高位为0 CONTINUE2:MOV [DI],AL LEA SI,DATA1 ;将DATA1 的有效地址送往SI,为调用DISPLAY 子程序做准备 CALL DISPLAY ;调用DISPLAY子程序 MOV AX,4C00H ;返回DOS INT 21H MAIN ENDP CRLF PROC NEAR ;回车、换行 于功能 MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H INT 21H RET CRLF ENDP DISPLAY PROC NEAR ;显示于功能 MOV BX,0006H ;记录循环次数 DSL: MOV DL,[SI+BX-1] ;将有效地址内的内容送往 DL MOV AH,02 ;2 号功能输出 INT 21H DEC BX ;BX 自动减 1 JNZ DSL RET DISPLAY ENDP CODE ENDS END START 2 分支程序设计实验 接收键盘输入字符,将其中的小写字母转换为大写字母并显示。 CODE SEGMENT MAIN PROC FAR ASSUME CS:...