第6章 汇编语言程序设计
- 格式:pdf
- 大小:1.77 MB
- 文档页数:92
《汇编语言程序设计》课程教学大纲学时:32 学分:2理论学时:24 实验学时:8面向专业:电科、电信、通信课程代码:B2700009先开课程:C语言程序设计课程性质:必修执笔人:王艳春审定人:陈龙猛、张金政第一部分:理论教学部分一、说明1、课程的性质、地位和任务本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。
掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。
汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。
因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。
通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。
2、课程教学和教改基本要求课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。
通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。
学习这门课程,应达到以下几个要求:①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧;②具有阅读,分析汇编语言程序的能力;③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行过程及debug工具的调试手段。
课堂授课采用多媒体教学,采用由浅入深、循序渐进学习步骤,主要讲解设计思想、实现技巧,通过提问题引导学生思考,提高学生的学习兴趣,从而加深学生对理论课的理解,提高学生的动手能力。
二、教学内容与课时分配第一章基础知识(2学时)1.1 机器语言及汇编语言的产生1.2 汇编语言的组成1.3 存储器1.4 指令和数据1.5 存储单元及CPU对存储器的读写1.6 三大总线1.7 主板、接口卡及各类存储器芯片1.8 内存地址空间教学的重点与难点:指令和数据在内存或磁盘上没有区别;内存地址空间。
汇编语言程序设计实验篇在计算机科学领域中,汇编语言是一种低级编程语言,它直接操作计算机硬件资源,具有高效性和灵活性。
本篇文章将介绍汇编语言程序设计实验的相关内容,包括实验目的、实验环境、实验步骤和实验总结。
实验目的汇编语言程序设计实验的主要目的是使学生掌握使用汇编语言编写程序的基本技能。
通过实践操作,学生将理论知识应用于实际情境中,深化对汇编语言的理解,并培养一定的编程能力。
实验环境在进行汇编语言程序设计实验之前,学生需要准备适当的实验环境。
以下是必备的硬件和软件资源:1. 计算机:一台能够运行汇编语言的计算机。
2. 汇编语言编辑器:如MASM、NASM等,用于编辑和编译汇编语言程序。
3. 调试器:如调试版本的DOSBox、CodeView等,用于调试程序,定位和解决错误。
实验步骤在进行汇编语言程序设计实验时,学生可以按照以下步骤进行操作:1. 确定实验内容:根据实验要求,选择适当的汇编语言程序设计任务,如编写一个计算两个数相加的程序。
2. 编写程序源代码:使用汇编语言编辑器,编写程序的源代码,包括程序的指令、数据段和代码段等。
3. 编译程序:使用编辑器提供的编译指令,将源代码编译成机器码,生成可执行文件。
4. 调试程序:使用调试器,对程序进行调试,定位和解决错误,确保程序能够正常运行。
5. 运行程序:运行已调试通过的程序,验证程序的正确性,并观察程序的执行结果。
6. 优化程序:对程序进行进一步优化,提高程序的执行效率和性能。
7. 总结实验结果:根据实验过程和结果,总结实验经验和教训,思考改进和拓展的可能性。
实验总结通过进行汇编语言程序设计实验,学生可以获得以下收获:1. 熟悉汇编语言:实验使学生更加熟悉汇编语言的语法和指令,增强对计算机底层运行机制的理解。
2. 培养编程能力:实验锻炼学生的编程能力和解决问题的能力,提高他们的逻辑思维和分析能力。
3. 提升实践能力:实验让学生通过实践操作,将理论知识应用于实际情境中,增强实践能力和动手能力。
知识点第一章基础知识(1)正负数的补码表示, 掌握计算机中数和字符的表示;eg.假设机器字长为8位,[+3]补=00000011B,[-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指令)、控制转移指令(无条件转移指令、条件转移指令、循环指令、子程序调用指令、中断)。