《微型计算机原理实验》由会员分享,可在线阅读,更多相关《微型计算机原理实验(11页珍藏版)》请在金锄头文库上搜索。
1、实验一:输出字符A的源程序如下:PROG SEGMENTASSUME CS:PROGSTART: MOV DL,A MOV AH , 2 INT 21H MOV AH , 4CH INT 21H PROG ENDS END START实验二:1.把BX中的二进制数转换成十进制数,在屏幕上显示出来,只考虑无符号数。程序如下: CODE SEGMENT ASSUME CS:CODE START: MOV BX,0FFFH MOV CX,10000 CALL DEC_DIV MOV CX, 1000 CALL DEC_DIV MOV CX,100 CALL DEC_DIV MOV CX,10 CAL
2、L DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4CH INT 21H DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H MOV AH,2 INT 21H RET DEC_DIV ENDP CODE ENDS END START2.把BX中的带符号数转换成十进制数,在屏幕上显示出来。程序如下: CODE SEGMENT ASSUME CS:CODE START: MOV BX,8001H MOV AX,8000H AND AX,BX JNZ MINUS JMP DI
3、SP MINUS: MOV DL,- MOV AH,2 INT 21H NEG BX JMP DISP DISP: MOV CX,10000 CALL DEC_DIV MOV CX, 1000 CALL DEC_DIV MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4CH INT 21H DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H MOV AH,2 INT 21H RET DEC_DI
4、V ENDP CODE ENDS END START3.求一个数据块(由10个单字节的无符号数组成)中的最大元素,并将结果在屏幕上显示出来,程序如下: DATA SEGMENT BLOCK DB 1,0,5,7,10,30,100,127,90,80 RESULT DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN PROC FAR MOV AX,DATA MOV DS,AX MOV CX,9 LEA SI,BLOCK MOV AL,SI X1: INC SI CMP AL,SI JAE X2 MOV AL,SI X2: LOOP
5、X1 MOV RESULT,AL MOV AH ,0 MOV BX,AX CALL XIANSHI MOV AH,4CH INT 21H BEGIN ENDP XIANSHI PROC NEAR MOV AL,80H AND AL,BL JNZ MINUS JMP DISP MINUS: MOV DL,- MOV AH,2 INT 21H NEG BL JMP DISP DISP: MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4CH INT 21H XIANSHI ENDP DEC_DI
6、V PROC NEAR MOV AX,BX MOV DL,0 DIV CL MOV BL,AH MOV BH,0 MOV DL,AL ADD DL,30H MOV AH,2 INT 21H RET DEC_DIV ENDP CODE ENDS END BEGIN4.求一个数据块(由20个单字节的带符号数组成)中的正数和(字)和负数和(字),并在屏幕上用十进制的形式显示出两个和。程序如下: DATA SEGMENT BLOCK DW -100,100,200,-200,5,6,7,8,9,10 DW 11,12,13,14,15,50,-50,150,-150,-200 POSIT DW ? N
7、EGAT DW ? ST1 DB The sum of all the positive numbers:$ ST2 DB The sum of the negative numbers:$ DATA ENDS CODE SEGMENT ASSUME CS:CODE ,DS:DATA START PROC MOV AX,DATA MOV DS,AX MOV BX,OFFSET BLOCK MOV SI,0 MOV DI,0 MOV CX,20 X1: MOV AX,BX CMP AX,0 JGE X3 ADD DI,AX JMP X2 X3: ADD SI,AX X2: ADD BX,2 LOOP X1 MOV POSIT,SI