分支程序设计实验实验报告

东 北 大 学

计算机硬件技术基础实验报告

专业班级: 姓名: 学号:

实验题目: 分支程序设计 日期: 2013.11.05

一、实验目的:

1)掌握分支程序的结构;

2)掌握分支程序的设计,调试方法。 二、实验内容:

设有3个单字节无符号数存放在BUF开始的缓冲区中,编写一个能将它们从大到小重新排序的程序。 三、实验步骤:

1、编写的源程序如下所示: DATA SEGMENT BUF DB 87,234,123 DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV SI,OFFSET BUF MOV AL,[SI] ;把3个数取到寄存器中 MOV BL,[SI+1] MOV CL,[SI+2] CMP AL,BL ;排序,将最大数送AL寄存器 JAE NEXT1 XCHG AL,BL

NEXT1: CMP AL,CL

JAE NEXT2 XCHG AL,CL

NEXT2: CMP BL,CL ;将最小数送CL寄存器

JAE NEXT3 XCHG BL,CL

NEXT3: MOV [SI],AL ;从大到小依次存回缓冲区

MOV [SI+1],BL MOV [SI+2],CL MOV AH,4CH INT 21H

CODE ENDS END START

2、保存源文件,执行masm汇编源程序,生成obj目标文件,结果无错误。 3、执行link连接程序,生成exe可执行文件,结果无错误。

4、执行debug调试程序,使用t参数单步执行程序,在AL寄存器中得到计算结果46H,结果正确,执行r参数命令察看Z所在的地址单元中的数据为0002字节单元中存放46H。 四、实验结果:

1. 执行masm编译源程序得到如下界面:

2. 执行link连接程序,生成exe可执行文件得到如下界面:

3. 排序,将最大数送A L寄存器中

4. 将最小的数送CL寄存器中

:

5. 执行debug调试程序,使用t参数单步执行程序,将3个数正确排列,结果正确,得 到如下界面:

6. 执行d参数命令察看Z所在的地址单元中的数据为0002字节单元中存放46H,得

到如下界面:

五、思考题:分支结构程序设计的关键在于准确地知道操作结果影响的标志位状态和正确地使用条件转移指令。本程序中,由于是无符号数的比较,所以也可以根据一个标志位来判定数的大小,你能说出是哪个标志位吗,且程序中的JAE指令该用什么指令替换呢?

答:可以根据CF标志位来判定数的大小。CF=0时,DST>SRC;当CF=1时,

DST

六、扩展题:在BUF开始的单元里有3个单字节无符号数,编写程序找出它们中的最小值

并存入MIN单元。

DATA SEGMENT BUF DB 16,36,56 MIN DB 0 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

STAR: MOV AX,DATA

MOV DS,AX LEA SI,BUF MOV CX,03H

XOR AX,AX

MOV AL,[SI] CP : CMP AL,[SI]

JBE NEXT

XCHG AL,[SI] NEXT: INC SI

LOOP CP

MOV MIN,AL MOV AH,4CH

INT 21H CODE ENDS END START

东 北 大 学

计算机硬件技术基础实验报告

专业班级: 姓名: 学号:

实验题目: 分支程序设计 日期: 2013.11.05

一、实验目的:

1)掌握分支程序的结构;

2)掌握分支程序的设计,调试方法。 二、实验内容:

设有3个单字节无符号数存放在BUF开始的缓冲区中,编写一个能将它们从大到小重新排序的程序。 三、实验步骤:

1、编写的源程序如下所示: DATA SEGMENT BUF DB 87,234,123 DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV SI,OFFSET BUF MOV AL,[SI] ;把3个数取到寄存器中 MOV BL,[SI+1] MOV CL,[SI+2] CMP AL,BL ;排序,将最大数送AL寄存器 JAE NEXT1 XCHG AL,BL

NEXT1: CMP AL,CL

JAE NEXT2 XCHG AL,CL

NEXT2: CMP BL,CL ;将最小数送CL寄存器

JAE NEXT3 XCHG BL,CL

NEXT3: MOV [SI],AL ;从大到小依次存回缓冲区

MOV [SI+1],BL MOV [SI+2],CL MOV AH,4CH INT 21H

CODE ENDS END START

2、保存源文件,执行masm汇编源程序,生成obj目标文件,结果无错误。 3、执行link连接程序,生成exe可执行文件,结果无错误。

4、执行debug调试程序,使用t参数单步执行程序,在AL寄存器中得到计算结果46H,结果正确,执行r参数命令察看Z所在的地址单元中的数据为0002字节单元中存放46H。 四、实验结果:

1. 执行masm编译源程序得到如下界面:

2. 执行link连接程序,生成exe可执行文件得到如下界面:

3. 排序,将最大数送A L寄存器中

4. 将最小的数送CL寄存器中

:

5. 执行debug调试程序,使用t参数单步执行程序,将3个数正确排列,结果正确,得 到如下界面:

6. 执行d参数命令察看Z所在的地址单元中的数据为0002字节单元中存放46H,得

到如下界面:

五、思考题:分支结构程序设计的关键在于准确地知道操作结果影响的标志位状态和正确地使用条件转移指令。本程序中,由于是无符号数的比较,所以也可以根据一个标志位来判定数的大小,你能说出是哪个标志位吗,且程序中的JAE指令该用什么指令替换呢?

答:可以根据CF标志位来判定数的大小。CF=0时,DST>SRC;当CF=1时,

DST

六、扩展题:在BUF开始的单元里有3个单字节无符号数,编写程序找出它们中的最小值

并存入MIN单元。

DATA SEGMENT BUF DB 16,36,56 MIN DB 0 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

STAR: MOV AX,DATA

MOV DS,AX LEA SI,BUF MOV CX,03H

XOR AX,AX

MOV AL,[SI] CP : CMP AL,[SI]

JBE NEXT

XCHG AL,[SI] NEXT: INC SI

LOOP CP

MOV MIN,AL MOV AH,4CH

INT 21H CODE ENDS END START


相关文章

  • 微机原理实验步骤学生
  • 实验要求及步骤 一.遵守"微机原理实验室实验守则",严格执行各个要求. 二.实验前准备的内容:a .完成前次实验报告,b .本次实验的预习报告,c .实验用到的电路图.流程图.程序. 三.实验内容 1.软件实验步骤: D ...查看


  • 微机原理实验报告(2013)
  • 计算机在金属材料 中的应用实验 山东科技大学材料学院 目 录 一.调试程序DEBUG 二.熟悉80486指令系统 三.熟悉汇编语言汇编程序上机过程 四.汇编程序分支程序设计一 五.汇编程序分支程序设计二 六.汇编程序循环程序设计一 七.汇编 ...查看


  • 计算机组成原理实验报告3微程序控制器实验
  • 实验三 微程序控制器实验 一. 实验目的与要求: 实验目的: 1. 理解时序产生器的原理,了解时钟和时序信号的波形: 2. 掌握微程序控制器的功能,组成知识: 3. 掌握微指令格式和各字段功能: 4. 掌握微程序的编制,写入,观察微程序的运 ...查看


  • 微处理器与应用实验报告
  • 微处理器原理与应用实验日志 微处理器原理与应用实验日志一 指导教师 实验时间: 学院 专业 班级 学号 姓名 实验室 实验题目: 熟悉并使用传送类指令 实验目的: 1. 熟悉并掌握Keil C51 的基本用法: 2. 掌握MCS-51 传送 ...查看


  • 简单的C语言程序设计实验报告完美版
  • 本科实验报告专用纸 课程名称 C 语言程序设计 成绩评定 实验项目名称 简单的C 语言程序设计 实验项目编号 实验项目类型 验证型 实验地点 指导教师 学生姓名 学号 学院 专业 一. 实验目的 1. 掌握各种类型数据的输入输出的方法,能正 ...查看


  • 程序设计基础实验报告
  • 西华大学实验报告(理工类) 开课学院及实验室:汽车学院机房(5D-215) 实验时间: 2008年 3 月 9 日 1.实验目的 1.掌握标签.命令按钮的常用属性.事件和方法. 2.掌握运用图片框和图像框加载图像的方法. 3.掌握计时器和滚 ...查看


  • 面向对象程序实验报告撰写模板
  • 面向对象设计实验指导书 2015年9月 信息工程学院 侯向华 目录 实验一 熟悉java 的编程环境 . ................................................................... ...查看


  • 物流仿真实验课程设计报告
  • 长江大学文理学院 实验报告书 系: 专 业: 班 级: 5081 学 号: 学生姓名: 指导老师: 完成日期: 2011物流仿真实验 管理学部 物流管理 汪长飚 年6月25日 长江大学管理学部物流教研室 (院) 1.实验目的 通过通过型物流 ...查看


  • 口腔解剖生理学实验报告
  • 实验四.口腔颌面颈部神经 一. 目的和要求 1. 2. 3. 4. 5. 6. 7. 掌握三叉神经核.三叉神经节的位置. 掌握三叉神经的分支及其分支的走行.分布和临床意义,麻醉的注意事项. 掌握面神经的管内段分支和管外段的走行.分布,及其与 ...查看


热门内容