资源描述:
《《ibmpc80x86汇编语言程序设计》ppt电子课件教案第1章概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言程序设计序号授课内容1概述2IBMPC微处理器的结构及存储器的组成3寻址方式和指令系统4汇编语言程序结构5基本结构程序设计6子程序设计7简单程序设计应用8高级汇编技术9输入输出和中断程序设计序号授课内容10磁盘文件存取技术11彩色图形程序设计12发声程序设计参考书籍80X86汇编语言程序设计教程清华大学出版社杨季文等编写8086/8088系列微型计算机宏汇编语言程序设计电子科技大学出版社王正智等编写IBM-P汇编语言程序设计清华大学出版社沈美明等编写第一章概述1.1计算机系统概述1.2汇编语言概述1.3数据表示方法1.1计算机系统概述进行汇
2、编语言程序设计之前,应熟悉和理解计算机系统软硬件的一些基本概念,了解和掌握计算机的硬件环境(即硬件编程模型)。计算机组成结构计算机的基本组成结构一般由中央处理器CPU和存储器和一般的输入输出子系统组成。它们由系统总线连接在一起。如图所示:对外部设备的管理是汇编语言的重要使用场合之一。计算机结构框图其工作原理如下图所示:1.2汇编语言概述汇编语言程序设计的一般概念1.机器语言CPU能直接识别并遵照执行的指令。它在形式上表现为由0和1构成的二进制编码。机器指令一般由操作码和操作数两部分构成,操作码在前,操作数在后。机器指令:指令系统:一台计算机的全部机
3、器指令就是我们常说的计算机的指令系统。指令系统反映了这台计算机的基本功能。机器语言:是用二进制编码的机器指令的集合及一组使用机器指令的规则。机器语言:是CPU能直接识别的唯一语言。只有用机器语言描述的程序,CPU才能直接执行。用机器语言描述的程序称为目的程序或目标程序。例如:我们用Intel8086指令写一个两个数相加的程序片段。具体要求:把偏移地址2200H存储单元中的数与偏移地址2201H存储单元中的数相加。将它们的和送入2202H存储单元。用十六进制形式表示的机器语言程序如下:A0002002060120A20220机器语言的特点如下:1.从
4、形式上表现为由0、1序列组成的指令系统2.机器语言不需要经过任何翻译工作,执行效率高3.难记忆,难理解,难开发,难调试,易出错4.不同型号CPU的指令集有较大差异,对应的机器指令也不同,但同一系列的CPU指令集有向上兼容性,如:Intel80386指令集就包含了8086的指令集2.汇编语言(符号语言)汇编语言:便是一种采用助记符表示的程序设计语言。即用助记符表示指令的操作码和操作数,人们便采用便于记忆并能描述功能的符号来表示指令的操作码,这些符号被称为指令助记符,助记符一般都是能够说明指令功能的英语词汇或词汇的缩写。如传送指令mov,加法指令add
5、等。用符号表示操作数,如:CPU的寄存器,存储单元地址等。A0002002060120A20220MOVAL,VAR1ADDAL,VAR2MOVVAR3,ALinta,b,c;C=a+b;Printf(“%d”,c);因此我们说:汇编语言程序是符号化的机器语言程序,也就是说汇编语言程序中的每一条指令语句都与机器语言程序的每一条机器指令对应。3.汇编程序把汇编语言源程序翻译成目标程序的过程称为汇编。完成汇编任务的程序叫做汇编程序。现在比较常用的汇编程序是MASM.exe和TASM.exe。汇编过程如下:汇编语言源程序汇编汇编程序目标程序(程序员手工完
6、成汇编语言程序的翻译)汇编手工汇编机器汇编(利用计算机程序完成源程序的翻译)4.汇编语言的特点a.汇编语言与机器关系密切b.汇编语言程序效率高c.编写汇编语言源程序繁琐d.汇编语言程序调试困难5.汇编语言程序使用的场合a.对软件的执行时间或存储容量有较高要求的场合b.大型软件中执行频率高的子程序c.软件与硬件关系密切,软件要直接和有效的控制硬件的场合d.没有合适的高级语言的场合如图所示:1.3数据的表示方法一、数与数制二、数制转换三、常用各进制数据的运算四、计算机中的数据表示五、基本数据类型一、数与数制1、二进制(B)2、八进制(O)3、十六进制(
7、H)进位原则:逢二进一数码:0,1进位原则:逢八进一数码:0,1,2,3,4,5,6,7进位原则:逢十六进一数码:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F各进制的对应关系如下图所示:二进制数八进制数十六进制数十进制数0000000100100011010001010110011110001001101010111100110111101111000102030405060710111213141516170123456789ABCDEF0123456789101112131415一般地,基数为R的R进制数的值可以表示为:anr
8、n+an-1rn-1+…+a0r0+a-1r-1+a-2r-2+…a-mr-m其中ai可以是0,1,…r-1中的任一数码,