当前位置:首页 > 微机软件课程设计实验报告 - 图文
2、键盘输入小写字母,显示器显示大写字母 1)实验程序代码略 2) 实验步骤: (1)建立源程序文件。
(2)用MASM宏汇编程序和LINK连接程序生成执行程序。 (3)运行执行程序,输入不同字母,观察结果。
3、从键盘输入一个二位十进制的月份数(01-12),显示相应月份的英文缩写名 1)程序及其结构
程序采用子程序的结构形式,子程序有:将输入的二位月份数转换为二进制数的子程序;从字符表中查找相应的英文缩写的子程序;将月份的英文字母显示在屏幕上的子程序。 程序如下代码略。
25
(二)采用DOS功能调用设计源程序,并运行调试程序 1、十进制加法和结果显示程序(自行设计) 1)程序设计要求
将数据段DSEG中的ADDOP1定义的双字变量的4位十进制数和附加段ESEG中的ADDOP2定义的双字变量的4位十进制数相加,和存放于数据段DSEG中的SUM中,采用DOS显示功能调用将和显示在屏幕上。 2)实验步骤:
(1)建立源程序文件,程序代码略。
(2)用MASM宏汇编程序和LINK连接程序生成执行程序。 (3)运行执行程序,输入不同的加数和被加数,观察结果。
DSEG SEGMENT
ADDOP1 DD 1234 SUM DD ? DSEG ENDS
ESEG SEGMENT ADDOP2 DD 2345 ESEG ENDS
STACK SEGMENT PARASTACK 'STACK'
DB 100 DUP(?) STACK ENDS
CODE SEGMENT ASSUME
DS:DSEG,CS:CODE,ES:ESEG START: MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX
MOV AX,WORD PTR ADDOP1 ADD AX,WORD PTR ADDOP2 MOV WORD PTR SUM,AX
MOV AX,WORD PTR ADDOP1+2 ADC AX,WORD PTR ADDOP2+2 MOV WORD PTR SUM+2,AX MOV BX,WORD PTR SUM+2 CALL DISPLAY
MOV BX,WORD PTR SUM CALL DISPLAY MOV AH,4CH
INT 21H
DISPLAY PROC NEAR MOV CX,10000D CALL DEC_DIV MOV CX,1000D CALL DEC_DIV MOV CX,100D CALL DEC_DIV MOV CX,10D CALL DEC_DIV MOV CX,1D CALL DEC_DIV RET DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ;PRINT THE CONTENTS OF DL ON SCREEN
ADD DL,30H MOV AH,2H INT 21H RET DEC_DIV ENDP DISPLAY ENDP CODE ENDS END START
26
2、十进制加法和算式显示程序(自行设计) 1) 程序设计要求
在以上十进制数加法要求的基础上,将加法算式及和在显示器上显示。 如ADDOP1中存放1234H,在ADDOP2中存放6789H,执行程序后显示器上显示:1234+6789=8023 2) 实验步骤: (1)建立源程序文件。
(2)用MASM宏汇编程序和LINK连接程序生成执行程序。 (3)运行执行程序,输入不同的加数和被加数,观察结果。
DSEG SEGMENT
ADDOP1 DD 1234 JIAHAO DB '+','$' DENGHAO DB '=','$' ten dw 10 SUM DD ? DSEG ENDS ESEG SEGMENT
ADDOP2 DD 6789 ESEG ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME
DS:DSEG,CS:CODE,ES:ESEG START: MOV AX,DSEG MOV DS,AX MOV AX,ESEG
MOV ES,AX
MOV AX,WORD PTR ADDOP1 ADD AX,WORD PTR ADDOP2 MOV WORD PTR SUM,AX
MOV AX,WORD PTR ADDOP1+2 ADC AX,WORD PTR ADDOP2+2 MOV WORD PTR SUM+2,AX MOV BX,WORD PTR ADDOP1+2 CALL DISPLAY
MOV BX,WORD PTR ADDOP1 CALL DISPLAY MOV AH,09H
MOV DX,OFFSET JIAHAO INT 21H
MOV BX,WORD PTR ADDOP2+2 CALL DISPLAY
MOV BX,WORD PTR ADDOP2 CALL DISPLAY MOV AH,09H
MOV DX,OFFSET DENGHAO
27
INT 21H
MOV BX,WORD PTR SUM+2 CALL DISPLAY
MOV BX,WORD PTR SUM CALL DISPLAY MOV AH,4CH INT 21H DISPLAY PROC NEAR
MOV CX,10000D CALL DEC_DIV
MOV CX,1000D CALL DEC_DIV
MOV CX,100D CALL DEC_DIV
MOV CX,10D CALL DEC_DIV
MOV CX,1D CALL DEC_DIV RET DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL
;PRINT THE CONTENTS OF DL ON SCREEN
ADD DL,30H MOV AH,2H INT 21H RET DEC_DIV ENDP DISPLAY ENDP CODE ENDS
END START
3、键盘输入加数和被加数进行十进制数加法,显示结果程序(自行设计) 1)程序设计要求
采用DOS的键盘功能调用和显示功能调用,将键盘输入的4位十进制被加数和4位加数相加,和存入有关内存单元,并将算式及和显示在显示器上。
要求采用子程序的设计方法设计程序,例如设计一个从键盘读入输入数据的子程序和将数据显示的子程序。
DSEG SEGMENT
ADDOP DW 2 DUP(?) ADDOP1 DD ?
JIAHAO DB '+','$'
DENGHAO DB '=','$' TEN DW 10 SUM DD ?
GO DB 'PLEASE INPUT TWO NUMBER: $'
GOO DB 'THE SUM IS: $'
28
共分享92篇相关文档