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

本科实验报告

实验名称: 实验四 分支和循环实验

课程名称:

计算与网络实验(II)

实验时间:

任课教师:

实验地点:

10-102

实验教师:

高平

实验类型:

■ 原理验证

□ 综合设计

□ 自主创新

学生姓名:

学号/班级:组 号:

57

学 院:

信息与电子学院

同组搭档:

专 业:

电子信息工程

成 绩:

实验四 分支和循环实验

实验目的

掌握比较转移指令;

理解条件转移和无条件转移指令的区别;

掌握单分支、双分支、多分支的程序设计方法;

掌握循环程序设计方法。

实验软硬件环境

硬件环境:惠普64位一体化计算机及局域网;

软件环境:windows 8,红蜘蛛管理系统,MASM for Windows。

实验相关知识

无条件转移指令JMP

JMP是使程序无条件转移至目标处,又分为段内转移、段间转移。

条件转移指令JXX

简单条件转移指令,根据单个标志位的状态判断转移条件。

表 SEQ 表 \* ARABIC 3条件转移指令标志位的状态

无符号数条件转移指令。

假设在条件转移指令前使用比较指令,比较两个无符号数A,B,指令进行的的操作是A-B,其转移指令如下:

表 SEQ 表 \* ARABIC 4无符号数条件转移指令条件

带符号数条件转移指令。

表 SEQ 表 \* ARABIC 5带符号数条件转移指令条件

循环控制指令

表 SEQ 表 \* ARABIC 6 循环控制指令

实验内容

编写程序,设数据缓存区BUF有一组数据:12H、98H、45H、64H、78H、36H,55H,44H,0ABH、0CFH,按照有符号数对正、负数分别求和,并统计其正数和负数个数。

2)编写程序,数据同上,按照有符号数,求这组数据中最大值,同样按照无符号数,求这组数据中最小值。

3)编写程序,从键盘上输入的字符,若是1-9字符,则显示其数字;若为A-Z字符,显示“CHAR”;若为a-z字符,显示“char”;以‘#’结束程序。

4)编写程序,统计缓冲区BUF中数据(自定义10个数据)中的正数、负数和零的个数,并分别存入变量A1、A2和A3中。

提示:单字符输入输出:利用DOS的INT 21H 系统功能调用来实现字符的输入/输出操作,其中1号功能表示输入字符;2号功能表示输出字符。

显示单个字符可以用DOS的INT 21H的2号功能,将字符放在DL寄存器中,2号放在AH寄存器中。

MOV DL,’6’

MOV AH,2

INT 21H

实验报告要求

实验题目:实验四 分支和循环实验;

实验目的:参见实验讲义;

实验基本原理:参见实验讲义;

实验程序清单,实验框图与流程图,实验途径,实验分析,实验结果;

实验作业:实验总结报告的A4纸型一份(内容见实验报告要求1-3)及程序。

实验结果

代码:

DATAS SEGMENT

BUF DB 12H,98H,45H,64H,78H,36H,55H,44H,0ABH,0CFH

COUNT EQU $-BUF

NUM1 DB 0

NUM2 DB 0

BUF1 DB 00,00

BUF2 DB 00,00

DATAS ENDS

STACKS SEGMENT

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

MOV CX,COUNT

MOV SI,0

MOV DI,0

L:

MOV AL,BUF[SI]

CMP AL,0

JG L1

INC NUM2

CBW

ADC word ptr BUF2[DI],AX

JMP L2

L1:

INC NUM1

CBW

ADC WORD PTR BUF1[DI],AX

L2:

INC SI

LOOP L

MOV AH,4CH

INT 21H

CODES ENDS

END START

结果:

个数

正数

0202H

7

负数

FF12H

3

2)代码:

DATAS SEGMENT

BUF DB 12H,98H,45H,64H,78H,36H,55H,44H,0ABH,0CFH

COUNT EQU $-BUF

MAX DB 0

MIN DB 0

DATAS ENDS

STACKS SEGMENT

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

MOV CX,COUNT

MOV SI,0

MOV AL,BUF[SI]

MOV MAX,AL

L:

INC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值