汇编语言程序设计1-2
- 格式:ppt
- 大小:852.00 KB
- 文档页数:64


汇编语言程序设计实验报告二(分支循环程序实验)
一、实验目的
1、 掌握分支程序、循环程序的设计方法。
2、 熟悉DEBUG程序的使用方法。
3、 掌握汇编语言程序的编辑、汇编、连接以及调试过程。
二、实验内容
1、 编写一程序,将内存中某一区域的数据传送到另一个区域中(要求用循结构,不考
虑数据块重叠问题)。
2、 编写一程序,将内存中某一区域的数据传送到另一区域(要求考虑数据块重叠问
题)。
三、实验准备
1、 预习数据传送指令,熟悉分支和循环程序设计方法。
2、 预习DEBUG调试程序的使用方法。
3、 根据实验内容要求,编写好实验源程序。
四、实验步骤
1、 用QE或其它编辑软件,在计算机上编辑源程序,使其正确无误。
2、 汇编、连接源程序,产生.EXE可执行文件。
3、 运行程序。
(1) 进入DEBUG。打入DEBUGT MYPROG.EXE。MYPROG为所编程序的文
件名。
(2) 先用G命令连续剧连续执行程序,程序执行完毕后,观察运行结果。如果 执行后是对的,说明程序编写是正确的,如果结果不对,说明程序有错误,
则执行下一步。
(3) 检查程序。在程序中设置若干断点,以便杳出错误所在。
(4) 采用单步命令T或执行程序,观察各寄存器和存储单元内容,以便找到错
误之处。
五、实验报告要求
1、 列出程序清单,并给出程序流程图。
2、 总结实现数据传送的几种方法,指出它们的区别。 开始
3、 分析实验中所遇到的一些问题,分析错误原因。
4、 说明本实验中是如何使用DEBUG进行调试的。 CX、SI、DI置初值 六、流程图勤
开始 设置增量方式
CX、SI、DI置初值 保存SI内容
AL [SI] SI SI+源块长度
[DI] AL N SI>DI
Y
SI SI+1 恢复SI内容 恢复SI内容
DI DI+1
CX CX-1 设置减量方式
《汇编语言程序设计》课程教学大纲
学 时:32 学 分:2
理论学时:24 实验学时:8
面向专业:电科、电信、通信 课程代码:B2700009
先开课程:C语言程序设计 课程性质:必修
执 笔 人:王艳春 审 定 人:陈龙猛、张金政
第一部分:理论教学部分
一、说明
1、课程的性质、地位和任务
本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。
2、课程教学和教改基本要求
课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。学习这门课程,应达到以下几个要求:
①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧;
②具有阅读,分析汇编语言程序的能力;
③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行过程及debug工具的调试手段。 课堂授课采用多媒体教学,采用由浅入深、循序渐进学习步骤,主要讲解设计思想、实现技巧,通过提问题引导学生思考,提高学生的学习兴趣,从而加深学生对理论课的理解,提高学生的动手能力。
百度文库 - 让每个人平等地提升自我!
1 知识点
第一章 基础知识
(1)正负数的补码表示, 掌握计算机中数和字符的表示;
eg.假设机器字长为8位,[+3]补 =00000011 B,[-3]补= 11111101
H 。
十六进制数0FFF8H表示的十进制正数为
65528D ,表示的十进制负数为 -8D 。
8位二进制数被看成是带符号补码整数时,其最小值是 -128 ,最大值是 127 。
第二章80x86计算机组织
(1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器
eg: IP寄存器中保存的是?代码段中的偏移地址FLAGS标志寄存器中共有几位条件状态位6位,有几位控制状态位2位,标志寄存器分为哪2类?陷阱标志,中断标志。
(2)存储单元的地址和内容 每一个字节单元给以一个唯一的存储器地址,称为物理地址;一个存储单元中存放的信息称为该存储单元的内容。存储器地址的分段,(低位字节存放)低地址,(高位字节存放)高地址 ;实模式下逻辑地址、选择器和偏移地址 ;物理地址的表示 段基地址加上偏移地址。
eg.如果SS=6000H,说明堆栈段起始物理地址是_____60000H___。
已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为__1420H______。
如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,(SI)= 0235H ,(DS)= 0E60H .
第三章80x86的指令系统和寻址方式
与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址)。数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS指令,与REPE/REPZ和REPNE/REPNZ联合工作的CMPS、SCAS指令)、控制转移指令(无条件转移指令、条件转移指令、循环指令、子程序调用指令、中断)。
华东交通大学课程设计
目 录
1.设计任务 .......................................................................................... 1
2.设计目的 .......................................................................................... 1
3.设计思想 .......................................................................................... 1
4.概要设计 .......................................................................................... 1
5.详细设计 .......................................................................................... 3
6.程序代码 .......................................................................................... 3
7.程序调试 ........................................................................................ 12
8.课设小结 ........................................................................................ 13