南京理工大学微机实验报告.doc

上传人:一*** 文档编号:2642298 上传时间:2020-04-26 格式:DOC 页数:19 大小:55.26KB
返回 下载 相关 举报
南京理工大学微机实验报告.doc_第1页
第1页 / 共19页
南京理工大学微机实验报告.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《南京理工大学微机实验报告.doc》由会员分享,可在线阅读,更多相关《南京理工大学微机实验报告.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-/微机实验报告实验2.1汇编语言程序的调试与运行思考题: 1、带进位加法程序:DISP MACRO X MOV DL,X MOV AH,02H INT 21H ENDMDATA SEGMENTDATA1 DB65087DATA2 DB75087N EQU $-DATA2DATA ENDSSTACK SEGMENT STACKSTA DB 20 DUP (?)TOP EQU $-STASTACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV

2、 SS,AX MOV AX,TOP MOV SP,AX LEA SI,DATA1 MOV BX,0 MOV CX,N CALL DISPL DISP + LEA SI,DATA2 MOV BX,0 MOV CX,N CALL DISPL DISP = LEA DI,DATA1 MOV CX,N CALL ADDA LEA SI,DATA1 MOV BX,0 MOV CX,N CMP DL,0 JZ NEXT DISP 1NEXT: CALL DISPL DISP 0DH DISP 0AH MOV AX,4C00H INT 21HDISPL PROCDS1:MOV AH,02H MOV DL,S

3、I+BX INT 21H INC BX LOOP DS1 RETDISPL ENDPADDA PROC PUSH CX MOV BX,0AD1:SUB BYTE PTR SI+BX,30H SUB BYTE PTR DI+BX,30H INC BX LOOP AD1 POP CX PUSH CX MOV BX,N-1 CLCAD2:MOV AL,SI+BX ADC AL,DI+BX AAA MOV DI+BX,AL DEC BX LOOP AD2 POP CX PUSH CX MOV BX,0 MOV DL,0 JNC AD3 MOV DL,1AD3:ADD BYTE PTR DI+BX,30

4、H INC BX LOOP AD3 POP CX RETADDA ENDPCODE ENDS END START结果截图:2、上机步骤,调试方法:1、写代码完成功能要求,文件格式为.asm文件(如21si.asm),将文件放入带汇编工具的文件夹中,即含有汇编工具(MASM.EXE)和链接工具(LINK.EXE)的文件夹。2、将文件用TC.EXE打开,保存,在File中选择Os shell,启动命令行,进入上述文件夹,输入masm 21si 回车后编译产生21si.obj文件,再输入link 21si回车后链接产生21si.exe文件,最后输入21si,回车后运行即可实验2.2分支程序设计思考题

5、1、计算百分比程序:DISP MACRO X MOV DL,X MOV AH,02H INT 21H ENDMDISP1 MACRO ADD AL,30H DISP AL DISP 0 DISP % MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H INT 21H ENDM DATA SEGMENTGRADE DW 95H,60H,75H,92H,71H,86H,54H,89H,83H,76HN EQU ($-GRADE)/2 ORG 30HS5 DW 0S6 DW 0S7 DW 0S8 DW 0S9 DW 0S10 DW 0DATA EN

6、DSSTACK SEGMENT STACKSTA DB 20 DUP (0)TOP EQU $-STASTACK ENDSCODE SEGMENTMAIN PROC FAR ASSUME CS:CODE,DS:DATA,SS:STACKSTART: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV CX,N LEA BX,GRADECOMPARE:MOV AX,BXCMP AX,60HJL FIVECMP AX,70HJL SIXCMP AX,80HJL SEVENCMP AX,90HJL EIGHTCMP AX,100HJNE NINEI

7、NC S10JMP CHANINE: INC S9JMP CHAEIGHT: INC S8JMP CHASEVEN: INC S7JMP CHASIX: INC S6JMP CHAFIVE: INC S5JMP CHACHA: ADD BX,2LOOP COMPARE DISP A MOV AX,S10 DISP1 DISP B MOV AX,S9 DISP1 DISP C MOV AX,S8 DISP1 DISP D MOV AX,S7 DISP1 DISP E MOV AX,S6 DISP1 DISP F MOV AX,S5 DISP1 RETMAIN ENDPCODE ENDSEND S

8、TART截图:2、计算平均成绩程序:DATA SEGMENTGRADE DW 95H,60H,75H,92H,71H,86H,54H,89H,83H,76HN EQU ($-GRADE)/2 ORG 30HS5 DW 0S6 DW 0S7 DW 0S8 DW 0S9 DW 0S10 DW 0DATA ENDSSTACK SEGMENT STACKSTA DB 20 DUP (0)TOP EQU $-STASTACK ENDSCODE SEGMENTMAIN PROC FAR ASSUME CS:CODE,DS:DATA,SS:STACKSTART: PUSH DS SUB AX,AX PUSH

9、 AX MOV AX,DATA MOV DS,AX MOV DX,0 MOV DI,N LEA SI,GRADEL1: MOV BX,SI PUSH BX AND BL,0F0H MOV CL,4 SHR BL,CL ADD DH,BL POP BX AND BL,0FH ADD DL,BL INC SI INC SI DEC DI JNZ L1 MOV AL,DH MOV AH,0 MOV CL,10 DIV CL MOV BH,AL MOV AL,AH MUL CL ADD DL,AL MOV AH,0 MOV AL,DL MOV CL,10 DIV CL MOV BL,AL ADD BH

10、,30H MOV DL,BH MOV AH,2 INT 21H ADD BL,30H MOV DL,BL MOV AH,2 INT 21H MOV CX,N LEA BX,GRADECOMPARE:MOV AX,BXCMP AX,60HJL FIVECMP AX,70HJL SIXCMP AX,80HJL SEVENCMP AX,90HJL EIGHTCMP AX,100HJNE NINEINC S10JMP CHANINE: INC S9JMP CHAEIGHT: INC S8JMP CHASEVEN: INC S7JMP CHASIX: INC S6JMP CHAFIVE: INC S5J

11、MP CHACHA: ADD BX,2LOOP COMPARERETMAIN ENDPCODE ENDSEND START结果截图:实验2.3循环程序设计1、 键盘输入,显示成绩和名次:程序:DATA SEGMENTGRADE DW 10 DUP(0)COUNT EQU ($-GRADE)/2 ORG 20HRANK DW 10 DUP(?)HH DB 10,13,$MEG1 DB PLEASE INPUT 10 GRADE,10,13,$MEG2 DB GRADE,10,13,$MEG3 DB RANK,10,13,$DATA ENDS;STACK SEGMENT STACKSTA DB 2

12、0 DUP(20H)TOP EQU $-STASTACK ENDS;CODE SEGMENTASSUME CS:CODE,SS:STACK,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,TOP LEA DX,MEG1 MOV AH,9 INT 21H LEA SI,GRADE AGAIN:MOV AH,1 INT 21H CMP AL,# JZ EXIT CMP AL, JZ L1 MOV SI,AL INC SI JMP AGAIN L1:MOV AL,SI-2 MOV AH,SI-1 MOV SI-2,A

13、H MOV SI-1,AL JMP AGAIN EXIT:MOV DI,COUNT MOV BX,0 LOOP1:MOV AX,GRADEBX MOV CX,COUNT LEA SI,GRADE NEXT:MOV DX,SI CMP AX,DX JA NO_COUNT INC WORD PTR RANKBXNO_COUNT:ADD SI,2 LOOP NEXT ADD RANKBX,30H ADD BX,2 DEC DI JNZ LOOP1 LEA DX,HH MOV AH,9 INT 21H LEA DX,MEG2 MOV AH,9 INT 21H LEA SI,GRADE MOV CX,1

14、0 LOOP2:MOV DL,SI+1 MOV AH,2 INT 21H MOV DL,SI MOV AH,2 INT 21H LEA DX,HH MOV AH,9 INT 21H INC SI INC SI LOOP LOOP2 LEA DX,HH MOV AH,9 INT 21H LEA DX,MEG3 MOV AH,9 INT 21H LEA SI,RANK MOV CX,20 LOOP3:MOV DL,SI CMP DL,3AH JZ L2 MOV AH,2 INT 21H JMP L3 L2:MOV DL,31H MOV AH,2 INT 21H MOV DL,30H MOV AH,2 INT 21H L3:INC SI LOOP LOOP3 MOV AH,1 INT 21HMOV AH,4CHINT 21HCODE ENDSEND STARTEND结果截图:2、控制循环程序的方法:计数条件控制法综合3、程序的四个组成部分:a、循环初始化b、循环体c、循环控制部分d、循环结束部分

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁