北理计算机与网络实验(II)(汇编语言实验4).docx

上传人:李医生 文档编号:8847774 上传时间:2021-01-19 格式:DOCX 页数:10 大小:234.09KB
返回 下载 相关 举报
北理计算机与网络实验(II)(汇编语言实验4).docx_第1页
第1页 / 共10页
北理计算机与网络实验(II)(汇编语言实验4).docx_第2页
第2页 / 共10页
北理计算机与网络实验(II)(汇编语言实验4).docx_第3页
第3页 / 共10页
北理计算机与网络实验(II)(汇编语言实验4).docx_第4页
第4页 / 共10页
北理计算机与网络实验(II)(汇编语言实验4).docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《北理计算机与网络实验(II)(汇编语言实验4).docx》由会员分享,可在线阅读,更多相关《北理计算机与网络实验(II)(汇编语言实验4).docx(10页珍藏版)》请在三一文库上搜索。

1、 本科实验报告实验名称: 实验四 分支和循环实验 课程名称:计算与网络实验(II)实验时间:任课教师:实验地点:10-102实验教师:高平实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:05011704组 号:57学 院:信息与电子学院同组搭档:专 业:电子信息工程成 绩:实验四 分支和循环实验1. 实验目的1) 掌握比较转移指令;2) 理解条件转移和无条件转移指令的区别;3) 掌握单分支、双分支、多分支的程序设计方法;4) 掌握循环程序设计方法。2. 实验软硬件环境1) 硬件环境:惠普64位一体化计算机及局域网;2) 软件环境:windows 8,红蜘蛛管理系统,MASM fo

2、r Windows。3. 实验相关知识1) 无条件转移指令JMPJMP是使程序无条件转移至目标处,又分为段内转移、段间转移。2) 条件转移指令JXXw 简单条件转移指令,根据单个标志位的状态判断转移条件。表 1条件转移指令标志位的状态w 无符号数条件转移指令。假设在条件转移指令前使用比较指令,比较两个无符号数A,B,指令进行的的操作是A-B,其转移指令如下:表 2无符号数条件转移指令条件w 带符号数条件转移指令。表 3带符号数条件转移指令条件3) 循环控制指令表 4 循环控制指令4. 实验内容1) 编写程序,设数据缓存区BUF有一组数据:12H、98H、45H、64H、78H、36H,55H,

3、44H,0ABH、0CFH,按照有符号数对正、负数分别求和,并统计其正数和负数个数。2)编写程序,数据同上,按照有符号数,求这组数据中最大值,同样按照无符号数,求这组数据中最小值。3)编写程序,从键盘上输入的字符,若是1-9字符,则显示其数字;若为A-Z字符,显示“CHAR”;若为a-z字符,显示“char”;以#结束程序。4)编写程序,统计缓冲区BUF中数据(自定义10个数据)中的正数、负数和零的个数,并分别存入变量A1、A2和A3中。提示:单字符输入输出:利用DOS的INT 21H 系统功能调用来实现字符的输入/输出操作,其中1号功能表示输入字符;2号功能表示输出字符。显示单个字符可以用D

4、OS的INT 21H的2号功能,将字符放在DL寄存器中,2号放在AH寄存器中。MOV DL,6MOV AH,2INT 21H5. 实验报告要求1) 实验题目:实验四 分支和循环实验;2) 实验目的:参见实验讲义;3) 实验基本原理:参见实验讲义;4) 实验程序清单,实验框图与流程图,实验途径,实验分析,实验结果;5) 实验作业:实验总结报告的A4纸型一份(内容见实验报告要求1-3)及程序。6. 实验结果1) 代码:DATAS SEGMENTBUF DB 12H,98H,45H,64H,78H,36H,55H,44H,0ABH,0CFHCOUNT EQU $-BUFNUM1 DB 0NUM2 D

5、B 0BUF1 DB 00,00BUF2 DB 00,00DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV CX,COUNTMOV SI,0MOV DI,0L:MOV AL,BUFSICMP AL,0JG L1INC NUM2CBWADC word ptr BUF2DI,AXJMP L2L1:INC NUM1CBWADC WORD PTR BUF1DI,AXL2:INC SILOOP LMOV AH,4CHINT 21H

6、CODES ENDSEND START结果:和个数正数0202H7负数FF12H32)代码:DATAS SEGMENTBUF DB 12H,98H,45H,64H,78H,36H,55H,44H,0ABH,0CFHCOUNT EQU $-BUFMAX DB 0MIN DB 0DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV CX,COUNTMOV SI,0MOV AL,BUFSIMOV MAX,ALL:INC SIMOV

7、 AL,BUFSICMP AL,MAXJL L1MOV MAX,ALL1:DEC CXJNZ LMOV CX,COUNTMOV SI,0MOV AL,BUFSIMOV MIN,ALM:INC SIMOV AL,BUFSICMP AL,MINJA M1MOV MIN,ALM1:DEC CXJNZ MMOV AH,4CHINT 21HCODES ENDSEND START结果:最大值78H,最小值12H2)3)代码:DATAS SEGMENTBUF1 DBCHAR,0DH,0AH,$BUF2 DBchar,0DH,0AH,$DATAS ENDSSTACKS SEGMENTSTACKS ENDSCO

8、DES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATASMOV DS,AXMOV AH,1HINT 21HCMP AL,39HJLE L1CMP AL,5AHJLE L2MOV AH,2MOV DL,0DHINT 21HMOV DL,0AHINT 21HLEA DX,BUF2MOV AH,09HINT 21HJMP EXIDL1:MOV BL,ALMOV AH,2MOV DL,0DHINT 21HMOV DL,0AHINT 21HMOV DL,BLINT 21HJMP EXIDL2:MOV AH,2MOV DL,0DHIN

9、T 21HMOV DL,0AHINT 21HLEA DX,BUF1MOV AH,09HINT 21HJMP EXIDEXID:MOV AH,4CHINT 21H CODES ENDS END START 结果:4)代码:DATAS SEGMENTBUF DB 12H,98H,45H,1AH,78H,0H,55H,44H,0ABH,0CFHL EQU $-BUFA1 DB ?A2 DB ?A3 DB ?DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AXLEA SI,BUFMOV AX,0MOV BX,0MOV CX,LCLDINPUT:JZ OVERLODSBCMP AL,0HJZ ZEROJG POSITIVEJL NEGATIVEZERO:INC BHDEC CXJMP INPUTPOSITIVE:INC BLDEC CXJMP INPUTNEGATIVE:INC AHDEC CXJMP INPUTOVER:MOV A1,BLMOV A2,AHMOV A3,BHMOV AH,4CH INT 21HCODES ENDS END START结果:正数个数:6;负数个数:3;零个数:17. 实验心得

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1