3. 计算8字节的BCD码十进制数788H与H的和
源程序:
DATAS SEGMENT
;此处输入数据段代码 ORG 1000H
DATA1 DB 88H,77H,66H,55H,44H,33H,22H,11H DATA2 DB 22H,33H,44H,55H,66H,77H,88H,99H ORG 3000H DATA3 DB 0H DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码 STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS MOV DS,AX
;此处输入代码段代码 LEA SI,DATA1 LEA DI,DATA2 LEA BX,DATA3 MOV CX,8
NEXT:MOV AL,[SI] ADC AL,[DI] DAA
MOV [BX],AL INC SI INC DI INC BX DEC CX JNZ NEXT MOV AH,4CH INT 21H CODES ENDS
END START
结果展示:
4. 计算10个字节数据的和
源程序:
DATAS SEGMENT
;此处输入数据段代码 ORG 1000H
DATA1 DB 99H,88H,77H,66H,55H,44H,33H,22H,11H,00H DATA2 DB 00H,11H,22H,33H,44H,55H,66H,77H,88H,99H ORG 3000H DATA3 DB 0H DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码 STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS MOV DS,AX
;此处输入代码段代码 LEA SI,DATA1 LEA DI,DATA2 LEA BX,DATA3 MOV CX,10
NEXT:MOV AL,[SI] ADC AL,[DI] MOV [BX],AL INC SI INC DI INC BX DEC CX JNZ NEXT MOV AH,4CH INT 21H CODES ENDS
END START 结果展示:
5. 计算10个字数据的和
源程序:
DATAS SEGMENT
;此处输入数据段代码 ORG 2000H
DATA1 DB 20 DUP(0)
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码 STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS MOV DS,AX
;此处输入代码段代码 LEA SI,DATA1 MOV AL,0 MOV BL,1 MOV CL,10
NEXT:ADD AL,BL INC BL DEC CL JNZ NEXT MOV [SI],AL MOV AH,4CH INT 21H CODES ENDS
END START
结果展示:
实验四:计算表达式的值
1. 计算表达式Z=((X-Y)*7)/(Y+2)的值,已知X=10,Y=5
源程序:
DATAS SEGMENT
;此处输入数据段代码 ORG 2000H X DW 10 Y DW 5 Z DW DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码 STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS MOV DS,AX
;此处输入代码段代码 MOV DX,X
SUB DX,Y ;DX=X-Y MOV AX,7
MUL DX ;AX=(X-Y)*7 ADD Y,2 ;Y=Y+2 DIV Y MOV Z,AX SUB Y,2
MOV AH,4CH INT 21H CODES ENDS
END START
结果展示:
上机实验报告



