微型计算机汇编语言及汇编程序.
- 格式:ppt
- 大小:377.00 KB
- 文档页数:23
8086汇编语⾔程序设计——第⼀个程序本系列以80X86系列微型计算机为基础,以MASM5.0为汇编上机实验环境,重点介绍Intel8086指令系统。
Intel8086指令系统中有100多条指令,利⽤这些指令可以编写出复杂的程序实现更多功能。
汇编语⾔是直接控制计算机硬件⼯作的最简便的语⾔。
学习了汇编语⾔可具有在CPU寄存器级上进⾏控制和操作的能⼒,可获得直接对计算机硬件底层编程的经验。
⼀个计算的例⼦例 *编写⼀个汇编语⾔程序,实现下列公式计算。
假设X=4,Y=5汇编指令如下:如果在DEBUG下⽤A命令输⼊这些指令,必须把X、Y换成具体的数值;Z、Z1是存储单元地址,最后两条指令可写为MOV [0],AL和MOV [1],AH,这样才能⽤T命令执⾏。
D:\dos〉DEBUG-AMOV AL,4ADD AL,5MOV BL,8IMUL BLMOV BL,4MOV BH,0SUB AX,BXMOV BL,2IDIV BLMOV [0],ALMOV [1],AH采⽤DEBUG的A命令输⼊程序的做法明显不⽅便,⼀是⽆法给出变量名即符号地址,⼆是调试修改程序不便。
1. 编写⼀个完整的汇编语⾔源程序需要增加段定义伪指令和定义数据存储单元伪指令等必须有的伪指令。
伪指令与C语⾔等⾼级语⾔中的说明性语句的含义类似,起到说明作⽤。
⽤记事本gedit或者vi编写,保存到dos⽬录下注释符号为;号2. 汇编、链接、执⾏汇编语⾔源程序既可以⽤⼤写字母也可以⽤⼩写字母书写。
汇编语⾔程序建⽴及汇编过程如图所⽰。
⽤户编写的源程序要经汇编程序MASM汇编(翻译)后⽣成⼆进制⽬标程序,⽂件名默认与源程序同名、扩展名为.OBJ;再经过LINK连接⽣成可执⾏程序,⽂件名默认与源程序同名、扩展名为.EXE。
注意:源程序⼀定要和MASM和LINK⽂件放在同⼀个⽂件夹中。
执⾏MASM和LINK命令时需要按多次回车。
3. 在DEBUG下执⾏程序MOV AH,4C指令对应的偏移地址是0023,这就是断点(所谓断点,就是程序执⾏到该处停下来不再继续)。
汇编语言与微机原理汇编语言和微机原理是计算机科学中两个重要的概念。
汇编语言是一种低级语言,用于编写计算机程序,在计算机硬件层面上进行操作和控制。
微机原理则是关于微型计算机的基本工作原理和组成结构的知识。
一、汇编语言的概念与应用汇编语言是一种直接操作计算机硬件的编程语言,与高级语言相比,汇编语言更接近计算机底层,能够直接控制硬件资源。
汇编语言通过使用助记符和指令直接操作寄存器、内存和其他硬件设备,实现程序的运行逻辑。
它是高级语言与计算机硬件之间的桥梁。
汇编语言在许多方面都有广泛的应用。
首先,在嵌入式系统领域,汇编语言可以更好地利用有限的资源,提高系统的性能和响应速度。
其次,在计算机游戏开发中,汇编语言可以直接控制硬件,实现更复杂的图形和音频效果。
此外,在密码学和安全领域,使用汇编语言编写的代码更难以被破解和攻击。
二、微机原理的基本概念微机原理是研究微型计算机的基本工作原理和组成结构的学科。
微型计算机由中央处理器(CPU)、存储器、输入输出设备及总线等几个基本组成部分构成。
微机原理主要探讨这些组件的工作原理以及它们之间的通信和配合方式。
CPU是微机系统的核心部件,它承担了计算和控制的功能。
CPU通过指令周期不断地执行指令,从而完成任务。
存储器用于存储程序和数据,分为内存和外存两种。
输入输出设备用于与外部环境进行数据交互。
而总线则连接了CPU、存储器和输入输出设备,实现了它们之间的数据传输和通信。
在微机原理中,还需要了解指令系统、寻址方式、中断处理以及时序控制等内容。
指令系统是CPU能够理解和执行的指令集合,每条指令都对应着一种操作。
寻址方式决定了CPU如何访问存储器中的数据。
中断处理可以让CPU在执行任务过程中暂时停下来处理优先级更高的事件。
时序控制则负责协调微机系统各个组件的工作顺序和时机。
三、汇编语言与微机原理的关系汇编语言和微机原理是紧密相关的。
汇编语言是在微机原理的基础上进行编程的工具。
通过汇编语言,可以更深入地了解微机原理中的各个组成部分以及它们的工作方式。
汇编语言基础知识汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程,因此,本章对硬件系统结构的问题进行部分探讨,首先介绍了计算机的基本结构、Intel 公司微处理器的发展、计算机的语言以及汇编语言的特点,在此基础上重点介绍寄存器、内存组织等汇编语言所涉及到的基本知识。
1.1 微型计算机概述微型计算机由中央处理器(Central Processing Unit ,CPU )、存储器、输入输出接口电路和总线构成。
CPU 如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。
存储器包括随机存储器(Random Access Memory ,RAM )和只读存储器(Read Only Memory ,ROM )。
输入输出接口电路用来连接外部设备和微型计算机。
总线为CPU 和其他部件之间提供数据、地址和控制信息的传输通道。
如图1.1所示为微型计算机的基本结构。
外部设备存储器输入输出接口电路中央处理器CPU地址总线数据总线控制总线图1.1 微型计算机基本结构特别要提到的是微型计算机的总线结构,它使系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。
一个部件只要符合总线结构标准,就可以连接到采用这种总线结构的系统中,使系统功能得到扩展。
数据总线用来在CPU 与内存或其他部件之间进行数据传送。
它是双向的,数据总线的位宽决定了CPU 和外界的数据传送速度,8位数据总线一次可传送一个8位二进制数据(即一个字节),16位数据总线一次可传送两个字节。
在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,而可能是指令代码、状态量或控制量。
地址总线专门用来传送地址信息,它是单向的,地址总线的位数决定了CPU 可以直接寻址的内存范围。
如CPU 的地址总线的宽度为N ,则CPU 最多可以寻找2N 个内存单元。
控制总线用来传输控制信号,其中包括CPU送往存储器和输入输出接口电路的控制信号,如读信号、写信号和中断响应信号等;也包括其他部件送到CPU的信号,如时钟信号、中断请求信号和准备就绪信号等。
微机原理与汇编程序设计复习题微机系统与汇编语言复习题单项选择题10某2=20分填空题10某2=20分问答题:5某5=25分程序分析题4某5=20分设计应用题1某15=15分第一章微型计算机概述答:微型计算机系统是以微型计算机为主体,配上软件系统和外部设备而构成的。
第二章计算机中的数据表示1.58的非压缩BCD和压缩BCD各如何表示?写出存入D某的指令。
答:58的非压缩BCD是0508H存入D某的指令:MOVD某,0508H58的压缩BCD和是58H存入D某的指令:MOVD某,0058H2、什么是ASCII码?可表示哪些信息?按其作用可分为哪些?答:ASCII码是美国信息交换标准代码的简称,用于给西文字符编码。
包括英文字母的大小写、数字、专用字符、控制字符等;按其作用可分为:34个控制字符;10个阿拉伯数字52个英文大小写字母;32个专用符号第三章80某86微处理器及其体系结构1、8086CPU信号线RESET的功能是什么?8086复位后内部寄存器状态是怎样的?8086CPU复位后从什么单元中取第一条指令执行。
答:RESET—复位信号输入8086复位后CS=FFFFH、DS=0000H、ES=0000H、SS=0000H、IP=0000H、FR=0000H8086CPU复位后从CS某10H+IP=FFFFH某10H+0000H=FFFF0H地址单元中取第一条指令执行启动系统。
CS:IP=FFFF:0000H2、已知一个SRAM芯片的容量为8K某8和64K某8,地址线、数据线各为多少?答:SRAM芯片的容量为8K某8:地址线13条,数据线8条SRAM芯片的容量为64K某8:地址线16条、数据线8条3、指令指针寄存器IP多少位?有何功能?答:IP是一个16位的寄存器,存放EU要执行的下一条指令的偏移地址,用以控制程序中指令的执行顺序,实现对代码段指令的跟踪4、8086CPU用于地址锁存器输入允许的控制信号和用于数据收发器允许的控制信号各是什么信号?答:用于地址锁存器输入允许的控制信号是ALE,用于数据收发器允许的控制信号是DEN5、是什么引脚?答:等待测试引脚6、INTA是什么引脚?答:中断响应引脚7、M/IO是什么引脚?答:存储器访问/输入输出访问控制引脚8、8086CPU最小、最大方式时用于总线请求、允许的信号线各是什么?答:最小:HOLD---总线请求HLDA---总线响应最大:RQ/GT0、RQ/GT19、8086CPU访问存贮器和访问I/O的地址分别各为什么?可寻址的最大存贮器空间和最大I/O空间分别各为多少?答:8086CPU访问存贮器的地址是A19—A0,可寻址的最大存贮器空间是1MB.8086CPU访问I/O的地址是A15—A0,可寻址的最大I/O空间是64KB.10、什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?答:程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。
《16/32 位微机原理、汇编语言及接口技术教程》部分习题参考解答第1 章微型计算机系统概述〔习题1.2 〕什么是通用微处理器、单片机(微控制器)、芯片、嵌入式系统?〔解答〕通用微处理器:适合较广的应用领域的微处理器,例如装在机、笔记本电脑、工作站、服务器上的微处理器。
单片机:是指通常用于控制领域的微处理器芯片,其内部除外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。
芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。
嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统,其典型的特点是把计算机直接嵌入到应用系统之中。
〔习题1.5 〕说明微型计算机系统的硬件组成及各部分作用。
〔解答〕:也称处理器,是微机的核心。
它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:存储器是存放程序和数据的部件。
外部设备:外部设备是指可与微机进行交互的输入()设备和输出()设备,也称设备。
设备通过接口与主机连接。
总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。
习题1.6 〕什么是总线?微机总线通常有哪3 组信号?各组信号的作用是什么?〔解答〕总线:传递信息的共用通道,物理上是一组公用导线。
3 组信号线:数据总线、地址总线和控制总线。
(1)地址总线:传输将要访问的主存单元或端口的地址信息。
(2)数据总线:传输读写操作的数据信息。
(3)控制总线:协调系统中各部件的操作。
习题1.7 〕简答如下概念:(1)计算机字长(2)取指-译码-执行周期(3)(4)中断(5)总线解答〕(1)处理器每个单位时间可以处理的二进制数据位数称计算机字长。
(2)指令的处理过程,即指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。
《微机原理与汇编语言》课程教学大纲课程代码:030731004课程英文名称:Computer Principles and Assembly Language课程总学时: 56 讲课: 44 实验:12适用专业:电子信息科学与技术大纲编写(修订)时间:2010一、大纲使用说明(一)、课程地位及教学目标本课程是电子信息科学与技术专业的必修的专业基础课,主要任务是使学生掌握8088/8086系列汇编程序设计和PC机硬件原理知识,并具有一定的应用能力。
(二)、知识,能力及技能方面的基本要求通过本课程学习,要求学生从理论上和实践上掌握计算机的基本组成、工作原理、硬件的连接等内容,会编写较简单的汇编语言程序,并能利用PC总线进行I/O扩展及编程,建立微机系统的整体概念,使学生具有应用微机系统软硬件开发的初步能力,为后续课程单片机、数字系统设计、ARM等打下理论基础。
(三)、实施说明由于本课程是主要专业基础课,对先修课基础要求较高,在讲授具体内容时,应注重基础原理内容和实际应用介绍,使学生在掌握基本原理的基础上,具有一定解决实际问题的能力。
要提高学生的基本素质和应用能力,必须改变传统的教学手段。
要利用多媒体授课;增加自学讨论部分,使学生从被动吸收知识的状态下,转化到主动索取知识的状态中来。
同时,应不断增加新知识。
总学时:56学时;讲课:44学时;实验:12学时。
(四)、对习题,实验,实践环节的要求本大纲立足于实施素质教育为目标培养的。
习题从教材中选取,按时交作业,编程习题尽量上机验证。
实验强调应用性,学生应独立完成,实验前预习实验内容。
(五)、对先修课程的要求1.计算机导论课程中的计算机数的编码,二、十六进制,BCD,ASCII码;2.数字电子技术课程中的逻辑电路基础。
(六)、考核方式及成绩评定方式1.考核方式:考试。
2.考试方法:闭卷。
3.课程总成绩:最终理论考试与平时考核(包括实验、期中考试、作业、出勤、提问等)的总和。
第一章微型计算机系统概述1.3习题与综合练习1.解释和区别下列名词术语(1)微处理器(MP):具有中央处理器功能的大规模集成电路器件微型计算机(MC)微型计算机系统(MCS)(2)硬件:硬件是计算机系统的躯体,由控制器,运算器,存储器,输入设备,输出设备5大部分组成。
软件:软件是计算机的头脑和灵魂,可分为系统软件和应用软件。
(3)字节:8位二进制是一个字节。
字:16位二进制构成一个字。
字长:计算机的运算部件能同时处理的二进制数据的位数。
(4)指令指针:存放BIU要取的下一条指令的偏移地址。
指令寄存器:指令译码器:状态寄存器:(5)存储单元:存储内容:存储地址:存储容量:(6)RAM:ROM:软件固化:2.冯·诺依曼计算机结构的特点是什么?(1)采用二进制数的形式表示数据和指令。
(2)将指令和数据存放在存储器中。
(3) 计算机硬件由控制器,运算器,存储器,输入设备和输出设备5大部分组成。
3.件数计算机系统中复杂指令集和精简指令集的特点和用途。
复杂指令集(CISC):在微型计算机的体系结构组成结构上是以复杂指令为设计的计算机,在指令的运行过程中按指令的复杂程度来指挥计算机完成各条指令,由于各条指令复杂程度不同分配的时钟周期各不相同,执行指令所需时间就不相同。
CISC体系的指令集由微程序来实现,即每一个操作由若干微操作的程序组合来实现。
所以CISC可以使用微指令编程的方式实现多种和功能复杂的指令。
精简指令系统(RISC):不管计算机的指令如何复杂,在一个计算机时钟周期内完成,计算速度快,指令集简单。
每一条指令直接有硬布线实现,即它的每条指令原则上有自己的一套逻辑时序电路直接实现,所以单条指令的实现所占用的硬件资源较多。
因为该体系没有能采用增加单条指令的功能或高位的指令语义,也没有增加指令的条数,而是集中于它的精简指令集上。
4.CPU是计算机系统中的重要部件,试说明CPU的结构和功能。
微处理器是计算机中最关键的部件,由控制器,运算器,寄存器组和辅助部件组成。
汇编语言程序设计的实验环境及上机步骤一、实验环境汇编语言程序设计的实验环境如下:1.硬件环境微型计算机(Intel x86系列CPU)一台2.软件环境⏹Windows98/2000/XP操作系统⏹任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)⏹汇编程序(MASM.EXE或TASM.EXE)⏹连接程序(LINK.EXE或TLINK.EXE)⏹调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。
二、上机实验步骤注:以下步骤适用于除汇编语言程序设计的实验一到实验四外的所有实验(实验一到实验四仅使用TD.EXE)。
1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。
2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。
下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。
在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“ C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。
图1 文本编辑器EDIT的编辑窗口窗口标题行显示了EDIT程序的完整路径名。
紧接着标题行下面的是菜单行,窗口最下面一行是提示行。
菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。
习题11.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言是面向及其的程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。
2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。
②在计算机内部采用二进制来表示程序和数据。
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④五大部件以运算器为中心进行组织。
4.请说明微型计算机系统的工作过程。
答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。
它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。
8086汇编项目8086汇编是一种低级语言,用于编写微处理器的指令。
它是一种具有挑战性的编程语言,要求程序员具备深厚的计算机知识和技能。
在8086汇编项目中,我选择了一个有趣的主题——模拟太空探索。
通过编写汇编程序,我将带领读者进入一个未知的宇宙世界,探索外太空的奥秘。
我们需要创建一个太空船的模型。
我使用汇编语言编写了一段代码,用于绘制一个太空船的图形。
通过控制船只的移动和旋转,我们可以在屏幕上模拟太空中的飞行。
接下来,我编写了一些代码,模拟船只在太空中的行为。
船只可以前进、后退、转向和停止。
我使用8086汇编的指令来实现这些功能。
为了增加游戏的趣味性,我还添加了一些障碍物,例如流星和陨石。
船只需要躲避这些障碍物,否则会发生碰撞,导致任务失败。
在航行过程中,船只还需要收集能源和补给物资。
我编写了一段代码,实现了这个功能。
船只可以通过接触能源和补给物资来获得能量和物资,以继续飞行。
我编写了一个简单的故事情节,为整个游戏增添了一些情感和张力。
太空探险家需要完成一项任务,拯救一个被困在外太空的科学家。
在船只飞行的过程中,他们需要克服各种困难和挑战,最终成功救出科学家。
通过这个项目,我不仅学到了如何使用8086汇编语言编写程序,还体验到了太空探索的刺激和兴奋。
这个项目不仅考验了我的技术能力,还培养了我的团队合作和解决问题的能力。
通过8086汇编项目,我不仅增加了对汇编语言的理解和掌握,还体验到了太空探索的乐趣。
这个项目不仅提高了我的编程技能,还让我更深入地了解了计算机的工作原理和微处理器的指令集。
我相信,通过不断学习和实践,我可以在8086汇编领域取得更大的成就。
单片机汇编语言汇编语言是一种与计算机硬件相关的低级语言,用于编写底层程序,包括单片机上的程序。
单片机汇编语言可以直接操作寄存器和内存,具有高效性和灵活性,因此在许多嵌入式系统中广泛应用。
本文将探讨单片机汇编语言的基本概念、语法和应用。
一、基本概念单片机是一种集成了处理器、内存和输入输出设备的微型计算机系统。
汇编语言是单片机上的机器语言的一种可读性较强的表达方式。
在单片机汇编语言中,使用助记符来表示不同的指令和操作码,以便程序员更好地理解和编写代码。
二、语法结构1. 指令格式单片机汇编语言的指令通常由指令助记符、操作数和注释构成。
指令助记符用于表示具体的指令操作,操作数则用于指定操作的对象或参数。
例如,MOV A, #10 ; 将立即数10移动到寄存器A2. 寄存器和内存单片机提供了一些用于存储数据和操作的寄存器,如累加器(A)、通用寄存器(R0-R7)等。
除了寄存器外,还可以使用内存来存储和操作数据。
3. 标志位单片机中的标志位用于记录某些条件或操作结果的状态。
常见的标志位有进位标志(C)、零标志(Z)、溢出标志(V)等。
三、汇编语言编程实例下面以AT89C52单片机为例,来演示一个简单的汇编语言程序。
```; 以P0口为输出口,控制LED灯的亮灭MOV P1, #0FFH ; 将P1口设为输出口LOOP: MOV A, #55H ; 用AAH与01010101B进行异或得到55HMOV P0, A ; 将A值输出到P0口ACALL DELAY ; 延时CPL A ; 对A寄存器按位求反SJMP LOOP ; 跳转到LOOP标签处DELAY: MOV R7, #25 ; 设置循环次数DJNZ R7, DELAY ;循环减一并判断是否为零RET ; 返回调用点```这个例子中的程序实现了一个LED灯的闪烁效果。
通过对P0口输出不同的值,LED灯会快速地亮灭。
四、单片机汇编语言的应用单片机汇编语言在嵌入式系统中应用广泛。