汇编语言程序设计第1章.pptx
《汇编语言程序设计第1章.pptx》由会员分享,可在线阅读,更多相关《汇编语言程序设计第1章.pptx(100页珍藏版)》请在咨信网上搜索。
第1章 基 础 知 识第第1 1章章 基基 础础 知知 识识1.1 微型计算机系统的发展微型计算机系统的发展1.2 汇编语言程序设计汇编语言程序设计1.3 数据表示方法数据表示方法1.4 结果的输出与打印结果的输出与打印 第1章 基 础 知 识1.1 微型计算机系统的发展微型计算机系统的发展1.1.1 微机技术的发展概况微机技术的发展概况1处理速度处理速度微型计算机的处理速度在不断提高,主要表现在以下几个方面:(1)CPU的主频不断提高,如从4.77MHz的8088CPU提高到几个GHz的Pentium,这主要是因为半导体制造工艺水平的提高。(2)增加了数据运算的宽度,从早期的8位发展到现在的32位、64位、128位甚至更高。第1章 基 础 知 识(3)采用了RISC技术。从CISC体系结构转变为RISC体系结构后,在同样的工艺水平(即同样的主频、同样的工艺尺寸、同样的芯片面积)下,使CPU的速度和性能有了很大的提高。(4)降低电路工作电压,不断缩小工艺尺寸。工作电压的降低有利于工艺尺寸的缩小。(5)增加了芯片内并行工作的信息处理部件,如整数部件、浮点加法器、浮点乘法器、图形部件等。芯片内具有两个以上的并行指令流水线,每次并行地向各流水线分配多条指令以进行并行处理,这是利用硬件资源的重复来换取芯片性能的提高。第1章 基 础 知 识2存储容量存储容量微机的计算、处理速度的提高必然要求存取信息的速度相应提高。当今存储器速度还远远跟不上CPU的速度,而存储容量的大小是与存取速度相矛盾的,因而只能采用分级存储方式。(1)芯片内的寄存器堆、指令Cache和数据Cache(416KB)都能在一个时钟周期完成存取,而且随着VLSI的发展其容量将继续增加。(2)芯片外的二级指令Cache和数据Cache,其大小在16256KB。第1章 基 础 知 识(3)主存储器的大小在1MB到几百个MB。(4)外部存储器仍以软盘、硬盘、光盘为主要介质,其容量可在1MB至上百个GB。由于RAM芯片性能价格比提高,因而为克服外部存储器的慢速寻找,一般都采用RAMCache(256KB2MB)来减小等待时间。除了解决大容量存储外,外部存储器还具有掉电时的信息保持特性。快擦存储器(FlashMemory)芯片的普及为外部存储提供了一种新的实现方法。第1章 基 础 知 识3人机接口人机接口传统的键盘输入、显示、打印输出已经不能满足人们的需要,人们希望计算机有更生动、直观、灵活的用户界面,最好能像人一样既可以接收、识别并理解声、文、图信息,又能给出声音、视像等信息。微型计算机系统性能的提高,价格的下降,已经为这些技术的实用化提供了基础。计算机处理视像和声音的多媒体技术也逐步地进入到各个应用领域。第1章 基 础 知 识1)汉字识别汉字识别要比英文、数字识别难得多,因为汉字字数多、字体多。汉字识别是从扫描输入开始的,现在扫描仪的扫描精度已经完全够用,对静止图像输入来说其扫描精度与彩色分辨率也已能满足要求。通过对版面的分析和汉字的切分,计算机可对汉字进行识别。由于汉字字数多、字体多,因而其特征的选择与提取是识别的关键。印刷体汉字的识别已实用化,一般识别率为95以上,识别速度为2030字/秒。第1章 基 础 知 识2)语音识别汉语中一个汉字对应一个单音节,能独立发音的单音节(包括4种声调)只有1283个,从这点看对汉语的语音识别较为有利。但汉语中同音字很多,因而单音节识别率的提高是有难度的,利用字构成词的相关信息,词的识别率可以提高。中词表的特定人与小词表的非特定人的汉语语音识别已初步达到实用水平。第1章 基 础 知 识3)视频图像输入从摄像机、录像机和彩电中来的视频图像信息,通过视频处理部件转换成二进制代码,以一定的图像文件格式存入计算机的外部存储器中。以VGA全屏显示方式计算(分辨率为640480,共256种色彩)则显示一帧所需存放的信息为300KB。如果以50帧计算,则存放连续半小时的视像信息需要27GB,对当前微型机来说这个信息量太大了。第1章 基 础 知 识由于图像对视觉的感受是整体的,部分的少量的错误不会引起直观的错误,因而图像信息的存储可采用不完全复真的压缩和还原方法。如用JPEG算法可使图像信息压缩为原来的1/81/25,静止图像即相当于一帧视像,需存储300KB/幅,经过压缩后存储,即使有1万幅图像也只需120MB的存储量。因而,当今微型机系统完全可以用于图像数据库。第1章 基 础 知 识4语音合成语音合成声音的输出可分为两种情况,一种是声音采样存储后再回放,一种是文语的转换。对语音和音乐的采样要求是不同的。语音采样频率在1632kHz,精度在8位左右即可,音乐的采样频率在40kHz,精度要14位左右。如果不采取压缩方法的话,连续半小时的乐曲存储量为144MB,这个存储量还是很大的。因而,一般都采用压缩算法,语音可压缩为原来的1/8,而音乐仅能压缩到原来的1/4。用上述采样方法存储后再回放,可以和原信号毫无差异。数字录音技术即采用这种方法。第1章 基 础 知 识1.1.2Intel微处理器体系及其演变在介绍Intel微处理器体系之前,先介绍微处理器(Microprocessor)、微型计算机(Microcomputer)和微型计算机系统(MicrocomputerSystem)这三个概念。微处理器,简称P或MP,是指由一片或几片大规模集成电路组成的具有运算器和控制器功能的中央处理机部件,即CPU(ControlProcessingUnit)。微处理器本身并不等于微型计算机,它仅仅是微型计算机的中央处理器。第1章 基 础 知 识微型计算机,简称pC或MC,是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线所组成的计算机(简称微型机)。如果把CPU、存储器和输入/输出接口电路都集成在单片芯片上,这样构成的微型计算机称为单片微型计算机(简称单片机)。微型计算机系统是指以微型计算机为中心,配以相应的外围设备、电源、辅助电路(统称硬件)以及控制微型计算机工作的系统软件所构成的计算机系统,简称CS或MCS。第1章 基 础 知 识在20世纪70年代,Intel的8080、8085,Motorola的6800、6808与Zilog的Z80都是8位微处理器,但发展到16位及16位以上微处理器时,只有Intel与Motorola两种产品,Zilog公司落后了。Motorola公司的MC68000功能强于Intel8086,在工作站领域得到广泛使用。但由于IBM公司推出的IBMPC、PC/XT与PC/AT及大量兼容机采用了Intel公司的微处理器芯片,使得Intel公司实力大增。尤其是Intel32位微处理器芯片80386、80486与1993年推出的Pentium,使Intel微处理器成为微型机市场首选的CPU芯片类型。目前,Intel的Pentium系列微处理器更使人有一枝独秀的感觉。微处理器是微型机的心脏,它是利用超大规模集成电路技术将计算机CPU集成在一块硅片上。微型机性能的优劣基本取决于所选用的微处理器芯片功能的强弱。第1章 基 础 知 识1.1.3 Intel微处理器的主要特点微处理器的主要特点1971年推出的4004及其改进型4040,是一种4位的微处理器芯片,它具备MPU的基本特点,有专用指令读入键盘数据,进行十进制运算,每次处理4位数据,能与键盘、存储器、显示器一起构成一个简单系统。1972年推出了8008及其改进型8080,8080是一种8位的微处理器芯片,寻址空间为64KB。它集成了16位的算术逻辑单元(ALU)和六个通用寄存器,以及程序计数器、堆栈指示器、指令寄存器与译码器等,指令集包括78条指令。第1章 基 础 知 识1978年推出的8086是一种16位的微处理器,它的内部结构是16位的,数据总线也是16位的。它有包括乘法与除法指令的16位运算指令,既能处理16位数据,也能处理8位数据,在汇编语言上与8080、8085兼容,并增加了多条16位操作指令,有20根地址线,直接寻址能力可达1MB。8088是8086的简化产品,它不是真正的16位芯片,它的内部总线是16位的,外部总线是8位的,是一种准16位芯片。第1章 基 础 知 识80186与80188是另一种高集成度的16/8位微处理芯片。它将8086/8088与其他常用的20多个器件集成在一块芯片上,同时增加了I/O(输入/输出)指令,寻址空间仍为1MB,可以使用数值协处理器80187,但没有存储管理与保护部分。1982年推出的80286是真正的16位、具有存储管理与保护机制的微处理器芯片,它有实地址模式和虚拟地址保护模式两种运行方式。虚拟地址保护模式也称作保护模式。在实地址模式中,80286兼容了8086的全部功能,8086的汇编语言源程序可以不做任何修改在80286中运行。在保护模式中,它将实地址模式的能力与对存储器的管理,对虚拟存储器的支持,以及对地址空间的保护集为一体,因而能可靠地支持多用户系统。第1章 基 础 知 识1985年推出了高性能32位微处理器80386,它与8086、80286相兼容,这标志着32位微处理时代的到来。继80386之后,Intel公司于1989年又推出了80486微处理器;1993年又推出了更高性能的微处理器Pentium。目前,Pentium系列的微处理器已形成Pentium、Pentium、Pentium、Pentium四个系列多种型号的产品。第1章 基 础 知 识1.1.4 Intel微处理器的性能微处理器的性能 180386、80486和和Pentium的主要技术特点的主要技术特点80386是Intel公司为支持多任务操作,适应多种操作系统而设计的32位微处理器。由于80386有32位的寄存器和数据通路,因此,可以支持32位的地址与数据类型。80386能够支持4GB的内存物理空间,64TB的虚拟存储空间;支持多任务系统;支持段式管理与页式管理;支持四级特权集,对任务与任务之间、任务与操作系统之间进行严格的保护隔离。由于采用指令流水线工作方式、较高的总线带宽、片内地址转移等措施,系统速度可以达到4MIPS。第1章 基 础 知 识80486芯片相当于将80386与一片数值协处理器80387、一片8KB的高速缓冲存储器Cache集成在一起,其中8KBCache用来存放指令与数据。由于访问内部Cache的速度远高于访问存储器的速度,因而可以大大提高系统性能,减少了处理器使用外部总线的时间,对内部Cache的操作完全由系统自动进行,对用户是透明的。80486的常用指令运行时间为1个时钟周期,系统速度可达20MIPS。1992年,Intel公司正式将继80486之后新一代微处理器称为Pentium。Intel不采用80586这一提法的原因主要有两点:一是商标的版权问题;二是说明Intel的微处理器设计由CISC技术向RISC技术过渡。出于商业原因,Intel在产品宣传中不突出RISC技术,而只用“超标量”,即Pentium采用双流水线超标量体系结构。第1章 基 础 知 识Pentium的内部总线是32位,但与外部存储器的接口总线是64位,因而处理器与存储器之间数据传输速率达528MB/s,它的软件与80386、80486兼容。其主要特点是:指令Cache与数据Cache分开,容量均为8KB;硬件上,两个整数执行流水线分开,地址产生部件与算术逻辑单元ALU分开;可以在一个运行周期中发送两条整数指令;具有片上浮点寄存器、加法与乘/除法器;可以在一个运行周期发送一条或两条浮点指令;采用转移预测方法,使用两个预取缓冲器,一个以顺序方式预取指令,一个按转移预测设置的转移目标缓存BTB预取指令,所需指令永远是在执行前预先取出的。Pentium的片上存储管理部件与80386、80486完全兼容。第1章 基 础 知 识Pentium支持多用户操作系统,可以在WindowsNT、OS/2、UNIX、Solaris操作系统中运行,可用于局域网client/server、虚拟实景、文字与语音识别、三维模型运算等更为广泛的应用领域。第1章 基 础 知 识280386、80486和和Pentium微处理器的性能比较微处理器的性能比较80386有32位的寄存器和数据通道,支持32位的地址和数据类型,是为支持多任务操作而进行优化的操作系统所设计的32位微处理器。与80386一样,80486也使用了指令流水线、RISC的设计思想。80486用静态RAM作为指令、数据共用的Cache,它采用成组传送方式,能在一个时钟周期内传送32位数据。80486的性能高于80386。从8086到80386,再到80486直至Pentium,可以看出Intel微处理器的发展趋势和特点:第1章 基 础 知 识遵循开放式标准,保持兼容性;结构设计从CISC向RISC过渡;功能升级,扩大应用范围;提高基于Intel微处理器的微型机性能,保持整机的兼容性。现在,微型机的应用已从简单的数值计算、文字处理向多媒体、局域网、工程CAD、模式识别中的文字与语音识别、专家系统以及以图形界面为特征的立体图形与动态视频图像处理等方向发展。将多个中央处理器、高速数字运算单元及“智能”人机界面综合起来,以适应动态全景视频图像处理和语音与文字识别技术的要求。第1章 基 础 知 识1.2 汇编语言程序设计汇编语言程序设计1.2.1 程序设计语言程序设计语言程序是为解决某一问题而编写在一起的指令序列,计算机程序可以用高级语言编写,也可以用汇编语言编写。指令是规定计算机执行特定操作的命令。CPU就是根据指令来指挥和控制微型机各部分协调地动作,以完成规定的操作。任何一条指令都包括两部分:操作码和地址码。操作码指明要完成操作的性质,如加、减、乘、除、数据传送、移位等;地址码指明参加上述规定操作的数据存放地址或操作数。计算机全部指令的集合称为计算机指令系统,指令系统准确定义了计算机的处理能力。第1章 基 础 知 识高级语言程序就是用高级语言编写的程序。如C语言源程序、PASCAL语言源程序等均是高级语言程序。计算机是不能直接运行高级语言源程序的,要执行高级语言源程序,就必须把用高级语言编写的源程序翻译成用机器指令表示的目标程序,这样就需要有各种解释程序或编译程序。第1章 基 础 知 识在计算机中,以二进制代码形式存在的指令,叫机器码指令。机器码指令构成的指令系统叫机器语言,用机器语言编写的程序叫机器语言程序。用助记符构成的指令系统叫汇编语言(AssembleLanguage),用汇编语言编写的程序叫汇编语言程序。汇编语言程序翻译成机器语言程序的过程称为汇编(Assemble),高级语言程序翻译成机器语言程序的过程叫解释(Interpretation)或编译(Compilation)。通常将汇编、解释、编译前的程序叫源程序,而将翻译后的机器语言程序叫目标程序。完成汇编、解释、编译的程序则分别称为汇编程序(Assembler)、解释程序(Interpreter)、编译程序(Compiler)。第1章 基 础 知 识1.2.2 汇编语言汇编语言我们知道,计算机系统由计算机硬件和计算机软件两个部分组成,有时又将计算机的硬件与软件统称为计算机资源。计算机的硬件是指构成计算机系统的物理实体或物理装置。由运算器、控制器、存储器、输入/输出接口等部件构成主机,称为计算机。主机再配以输入/输出设备,便构成了计算机的硬件系统。第1章 基 础 知 识计算机软件系统是指计算机系统所使用的各种程序的集合。它的功能是利用计算机提供的逻辑功能来合理地组织计算机的工作,以便简化人们使用计算机的环节,并为用户提供一个便于掌握、操作简便的工作环境。计算机软件通常包括:操作系统、数据库系统、计算机网络软件、汇编程序、各种高级语言的编译或解释程序、各种标准程序库、各种应用程序等。作为计算机重要组成部分的软件系统,汇编语言在其中占有重要的地位。汇编语言程序设计是计算机专业人员的基本功。那么,什么是汇编语言及汇编语言程序设计?与高级语言相比,汇编语言又有什么特点?如何学习汇编语言及如何使用汇编语言进行程序设计呢?第1章 基 础 知 识汇编语言(AssemblerLanguage)是一种面向机器的程序设计语言,这是一种用符号表示的低级程序语言,通常是为特定的计算机专门设计的,与机器语言很接近。用这种语言写成的程序,需经过汇编程序翻译成机器语言程序才能被计算机执行。汇编语言指令和翻译成的机器语言之间的关系,基本上是一一对应的关系。但有的汇编语言中可以有宏指令,它与一串特定的机器指令相对应(对应方式由用户按一定规则自行定义),这样的汇编语言有时也叫宏汇编语言。由此可看出,汇编语言是一种与计算机的代码机器指令一一对应,并紧密依赖于某一具体计算机的、面向机器的语言。第1章 基 础 知 识机器语言是利用0、1的各种组合来构成指令的,采用的是二进制编码。没有配备任何软件的计算机称之为裸机,它只能识别“0”和“1”两种代码。为了使用这样的计算机,程序设计人员只能用机器指令或机器语言编写程序,这就要求程序设计人员熟记计算机以“0”、“1”表示的全部指令,这是十分困难的事情。用机器语言编写程序时,工作量大,易于出错且不易修改。为了摆脱用机器指令编程的困难,出现了用指令符号来编写程序的方法,用符号语言编写的程序称为符号程序。在编制程序时,只要记住指令的助记符就可以了,而助记符可使用指令的英文名称的缩写,较指令编码容易记忆。例如,取数指令用LDA表示、加法指令用ADD表示等。对这种符号语言再作一些扩充就是所谓的汇编语言。机器语言与汇编语言的比较见表1-1。第1章 基 础 知 识这里有一个问题:汇编语言程序为人们编写程序、阅读和交流程序都带来了方便,但机器只认识用机器语言编写的目标程序,即0、1代码,换句话说,机器根本就识别不了汇编语言程序。为了让机器能识别人们用汇编语言编写的程序,在计算机执行每条汇编指令之前,必须将其先翻译成机器语言的目标程序。完成这一功能的程序就是前面提及的汇编程序。第1章 基 础 知 识汇编程序的主要功能是把用汇编语言编写的源程序加工成机器语言写的目标程序。汇编过程有以下三步:用汇编语言编写出源程序;将源程序输入到计算机内,由汇编程序把它加工成计算机能执行的目标程序;执行目标程序,得到计算结果。第1章 基 础 知 识表表1-1 机器语言与汇编语言的比较机器语言与汇编语言的比较机器语言程序地址码指令代码101020106102024107103107000104044110105063077106X107Y110Z第1章 基 础 知 识汇编语言程序地址符号指令符号注释LOC101定位伪指令,程序从101号地址开始存放START:LDA0,CNO1;XL0LDA1,CNO2;YL1ADD0,1;X+YL1STA1,CNO3;Z=X+Y(CNO3)HALT;停机CNO1:X;原始数据CNO2:Y;原始数据CNO3:Z;计算结果END程序汇编结束表表1-1 机器语言与汇编语言的比较机器语言与汇编语言的比较第1章 基 础 知 识其中,源程序是由一串符号化的指令组成,当汇编程序加工源程序时,总是从头到尾,一个符号接着一个符号的阅读,称为扫描源程序。从头到尾扫描一次源程序为扫描一遍,一般汇编程序是扫描两遍源程序。第一遍扫描把源程序中所有出现的名字进行造表,确定每个名字将占用的内存位置;第二遍扫描时,按所造出的表,把每条符号化指令变换成数码形式的机器指令。第1章 基 础 知 识除此之外,汇编程序还具有查错、修改、打印等功能。当用户编写的汇编语言程序不符合汇编语言所要求的书写格式和语法要求时,汇编程序就会指出源程序的某个位置出了什么性质的错误等,这就是汇编程序的查错功能。汇编程序提供修改源程序的方法简便,用户把修改的要求提供给汇编程序,由汇编程序实现对源程序的自动修改。在汇编过程中,当发现错误时,将错误信息打印出来,必要时可打印出名字表及目标程序,还可打印出修改后源程序的文本等。第1章 基 础 知 识实用的汇编语言中,还包括一些用户编程时十分需要的指令,这些指令并无对应的机器指令,这些指令称为伪指令。众所周知,用高级语言编写的程序,机器是不能直接执行的,需要由编译程序或解释程序将它翻译成对应的机器语言,计算机才能接受并执行。通过编译或解释程序生成的机器语言程序往往比较冗长,占用存储空间较大,执行速度慢。用高级语言编写程序时,程序员无法直接利用机器硬件系统的许多特性,如寄存器、标志位以及一些特殊指令等,影响许多程序设计技巧的发挥。而汇编语言程序是直接利用机器提供的指令系统编写程序的,与机器语言程序一一对应,所以占用存储空间少,执行速度快,特别是在一些有实时控制要求的场合,与使用汇编语言相比,使用高级语言就不那么方便了,二者的区别主要表现在以下几个方面:第1章 基 础 知 识(1)与汇编语言程序相比,高级语言程序要多占用0.51倍的存储单元,执行程序花费的时间要长0.52倍。(2)汇编语言可直接使用输入/输出指令通过低级接口与外设打交道,而高级语言就不那么方便了。第1章 基 础 知 识使用汇编语言编写程序,能充分发挥机器硬件的作用,高效地使用机器。汇编语言是编写计算机通用软件的基础。一般来说,某些对执行时间和存储容量有较高要求的程序,通常使用汇编语言来编制,汇编语言的应用场合是:计算机控制系统(包括实时控制系统);计算机检测系统;外设驱动程序;智能化仪器仪表;高性能软件等。第1章 基 础 知 识1.2.3 学习汇编语言的方法学习汇编语言的方法由于汇编语言是面向机器的语言,是与机器密切相关的一种程序设计语言。所以要掌握汇编语言,使用汇编语言进行程序设计时,就必须对机器的一些特性有所了解,这样才能编出正确的汇编语言程序。概括起来,应了解的机器特性有:(1)微处理器的结构(如8086/8088、80386、80486或Pentium等),存储器的组织方式、存储器的基本单元即编址的基本单位、容量即基本单元的数量是多少。该机存储器的基本单元是什么?是字节还是字、双字等。以相邻字节为单位进行操作的单元有哪些种类?例如,字、半字、双字等。其字长是多少?存储容量多大?地址表示的方法及地址变换机构又是怎样的?是否支持虚拟存储器等。第1章 基 础 知 识(2)控制器的功能及相互关系。如,通用寄存器(包括累加器)的数量、功能、标志位的内容及使用等。(3)数据类型及格式。该机器能处理哪些类型的数据?例如,定点数、浮点数、十进制数、字符数据的格式是什么样的?每种数据在机器内的表示方法(即机内格式)又是怎样的?(4)指令格式、长度、功能及寻址方式。对机器指令系统的深入了解是汇编语言程序设计的重要任务之一,它包括:指令格式和长度、寻址方式、指令的种类、每一条指令的功能,如何使用这些指令进行程序设计。第1章 基 础 知 识(5)控制器的其他特性。汇编语言程序设计要了解算术逻辑部件和控制器的状态、中断、时钟等。应了解哪些中断与程序设计有关?中断时的现场保护在什么地方?如何屏蔽与开放中断?等等。(6)外部设备的特性。外设是计算机与外部世界进行交换信息的手段。进行汇编语言程序设计时,必须了解有哪些外部设备可供使用;每种外设的具体使用方法如何(包括信息交换的机构和交换方式);如何使外设与算术逻辑部件和控制器协调工作(包括速度匹配);有无通道设施;如何组织通道程序等。第1章 基 础 知 识(7)指令系统、DOS和BIOS的调用方法。使用汇编语言编制汇编语言程序应注意以下几点:(1)要有一个好的算法。所选定的算法必须结构清晰、层次分明、逻辑正确无误。算法描述形式应该简洁明了,对于数据结构不太复杂的中小程序,可采用流程图的形式,否则应使用类C语言、类PASCAL语言或类似的简化语言描述。(2)程序要模块化。根据解决的任务划分功能模块,每个模块功能单一,入口、出口简单。这样,程序容易编制、调试,也容易修改和扩充。第1章 基 础 知 识(3)对指令的使用要有选择。在编制程序时,能用简单和常用指令的,决不用复杂和不常用的指令。使用后一类指令虽然在一定程度上能显示程序员对指令系统的理解程度和驾驭能力,但却增加了调试和阅读程序的困难。比较起来,朴实无华的程序较容易保证其正确性,也易于维护。(4)要充分利用寄存器。汇编语言的优点之一就是能充分利用机器资源。在编制程序时,应充分利用汇编语言的这个长处,合理使用寄存器,尽量使操作在寄存器或寄存器之间进行,减少访问内存单元次数,以便节省时间,提高效率。第1章 基 础 知 识(5)数据与指令的使用要正确。数据存储单元和工作单元应集中放在一起,并且与可执行指令分开,这样可使程序结构清晰,便于阅读,也便于修改。(6)不应编写自我修改的程序。程序的可执行指令代码在程序执行过程中应保持不变,那种在程序执行过程中,自身修改某些指令代码以获得某些效果的做法早已被摒弃,否则会给程序的调试带来极大的困难。第1章 基 础 知 识(7)要有简明而充分的注释。注释应成为程序中必不可少的部分,注释不光是解释指令意义,而应着重描述指令在程序中所起的作用。写注释并不增加程序的篇幅。注释对程序的运行虽然不起作用,但对程序的调试、修改、阅读和交流乃至测试、维护等都有着重要影响。第1章 基 础 知 识1.3 数据表示方法数据表示方法1.3.1 数与数制数与数制数制是指用一组固定的数字符号和统一的规则表示数的方法。基数和权是数制要涉及到的两个基本概念。数制中,每个数位(数字位置)所用到的不同数字的个数叫做基数。常用的十进制,是采用09这10个数字表示的,它的基数是10。在一个数中,数字在不同的数位所代表的数值是不同的,每个数字所表示的数值等于它本身乘以与所在数位有关的常数,通常称这个常数为位权,简称权。例如,十进制数个位的位权是1,十位的位权是10,百位的位权是100,千位的位权是1000等。相邻两位权的比值就等于基数。一个数的数值大小就等于它的各位数码乘以相应位权的总和。第1章 基 础 知 识1数制数制计算机常用的数制有二进制、八进制、十进制、十六进制。1)十进制由十个数字09组成,基数为10,小数点左边从右至左其各位的位权依次是:100,101,102,103,;小数点右边从左至右其各位的位权依次是:l0-1,10-2,10-3,。例如,十进制数678.5可以表示为678.56102+7101+8100+510-1第1章 基 础 知 识十进制数字的表示方法是在09数字序列后可跟一个字母D或不跟D,例如,128D或128。十进制实数的表示分为底数与指数两部分,正号“+”可有可无,指数部分写在E之后,若省略E,则底数部分应有小数点。例如,1E-32,3.1415。第1章 基 础 知 识2)二进制由数字0和1组成,基数为2。小数点左边从右至左其各位的位权依次是:20,21,22,;小数点右边从左至右其各位的位权依次是:2-1,2-2,2-3,。表示方法是在0、1序列后跟一个字母B,例如,110B、1100011B。3)八进制计算机中经常使用的八进制和十六进制可用于解决二进制数书写长且不易阅读的问题。八进制数由07共8个数字组成,基数为8,小数点左边从右至左其各位的位权依次是:80,81,82,;小数点右边从左至右其各位的位权依次是:8-1,8-2,8-3,。表示方法是在07组成的数后跟一个字母O或Q。例如,1477O或1477Q。第1章 基 础 知 识4)十六进制由16个数字符号(数字09、符号A、B、C、D、E、F)组成,16为基数。小数点左边从右至左其各位的位权依次是:160,161,162,;小数点右边从左至右其各位的位权依次是:16-1,16-2,16-3,。表示方法是在09的数字或AE的字母序列之后跟一个字母H,但必须以数字打头,例如,40490EH、0C0000H。第1章 基 础 知 识2数制的转换数制的转换1)十六进制数转换为二进制数不论是十六进制的整数或小数,只要把每一位十六进制的数用相应的4位二进制数代替,就可以转换为二进制数。例例1-1将(3AB)16转换为二进制数。3AB001110101011(3AB)16(001110101011)2(1110101011)2第1章 基 础 知 识例例1-2将(0.7A53)16转换为二进制数。7A530111101001010011(0.7A53)16(0.0111101001010011)2第1章 基 础 知 识2)二进制数转换为十六进制数二进制的整数部分由小数点向左,每4位一分,最前面不足4位的在前面补0;小数部分由小数点向右,每4位一分,最后不足4位的后面补0。然后把每4位二进制数用相应的十六进制数代替,即可转换为十六进制数。例例1-3将(1101111100011.100101111)2转换为十六进制数。0001101111100011.1001011110001BE3978(1101111100011.100101111)2(1BE3.978)16第1章 基 础 知 识总之,数在机器中是用二进制表示的,但是,一个二进制数书写起来太长,且容易出错。大部分微型机的字长是4位、8位、16位或32位的,都是4的整数倍,在书写时用十六进制来表示。一个字节就可以用两位十六进制数表示,两个字节可以用4位十六进制表示,书写、阅读方便且不容易出错。第1章 基 础 知 识1.3.2 计算机中的数据表示计算机中的数据表示计算机只能识别二进制数,因此数、字符等在计算机中都是使用二进制形式表示的。数可以分为带符号数和无符号数。1带符号数的表示法带符号数的表示法1)机器数与真值上面提到的二进制数,没有提到符号问题,故是一种无符号数的表示。数总有正负之分,那么符号在计算机中又是如何表示的呢?机器中通常用一个数的最高位表示符号位。字长为8位的数,用最高位D7表示符号位,余下的7位D6D0为数字位,符号位为“0”表示正,为“1”表示负。如:第1章 基 础 知 识X(01011011)291而X(11011011)291这样连同一个符号位在一起的一个数,称为机器数,它的数值称为机器数的真值。为了运算方便,即统一加减运算,机器中的负数有3种表示法原码、反码和补码。第1章 基 础 知 识2)原码若正数的符号位用“0”表示,负数的符号位用“1”表示,这种表示法就称为原码。X105,X01101001X105,X11101001符号位数值第1章 基 础 知 识其中,字长为8位的数,其最高位为符号位,后面7位是数值;若字长为16位,则后面的15位是数值。用原码表示时,105和105它们的数值位相同,而符号位不同。原码表示简单易懂,与真值的转换方便。但是,两个异号数相加或两个同号数相减,就要做减法,难以实现加减法的统一。反码和补码的引进,就是为了把减法运算转换为加法运算。第1章 基 础 知 识3)反码正数的反码表示与原码相同,最高位为符号位,“0”表示正,其余位为数值位。如:(+4)反00000100符号位二进制数值(+31)反00011111符号位二进制数值(+127)反01111111符号位二进制数值第1章 基 础 知 识而负数的反码是它的正数连同符号位按位取反而形成的。如:(+4)反00000100,(-4)反11111011(+31)反00011111,(-31)反11100000(+127)反01111111,(-127)反10000000(+0)反00000000,(-0)反11111111第1章 基 础 知 识负数反码的表示与原码表示有很大的区别:最高位仍为符号位,“0”表示正数,“1”表示负数,但数值位就不同了。如:(-127)反10000000符号位取反数值8位二进制数的反码表示如表1-2所示。第1章 基 础 知 识表表1-2 原码、补码和反码对照表原码、补码和反码对照表进制数码表示无符号二进制数原码补码反码000000000+0+0+0000000011+1+1+1000000102+2+2+201111100124+124+124+12401111101125+125+125+12501111110126+126+126+12601111111127+127+127+12710000000128-0-128-12710000001129-1-127-12610000010130-2-126-12511111100252-124-4-311111101253-125-3-211111110254-126-2-111111111255-127-1-0第1章 基 础 知 识反码的特点有以下3点:(1)“0”有两种表示法。(2)8位二进制反码所能表示的数值范围为-127+127。第1章 基 础 知 识(3)当一个带符号数由反码表示时,最高位为符号位。当符号位为0(即正数)时,后面的七位为数值部分;当符号位为1(即负数)时,后面几位表示的不是此负数的数值,一定要把它们按位取反,才能得到它的数值。例如,一个反码表示的数为10010100这是一个负数,它不表示(20)10,而表示的是1101011(l26l25l23l211)(643283)(107)10第1章 基 础 知 识 4)补码补码正数的补码表示与原码相同,即最高位为符号位,“0”表示正数,其余位为数值。如:(+4)补00000100符号位二进制数值(+31)补00011111符号位二进制数值(+127)补01111111符号位二进制数值第1章 基 础 知 识负数的补码是先求其反码,再在最后位(即最低位)加1。如:(+4)原00000100,(-4)反11111011,(-4)补11111100,(+31)原00011111,(-31)反11100000,(-31)补11100001,(+127)原01111111,(-127)反10000000,(-127)补10000001,(+0)原00000000,(-0)反11111111,(-0)补00000000第1章 基 础 知 识8位带符号位的补码表示如表1-2所示,有以下特点:(1)+0补-0补00000000。(2)8位二进制补码所能表示的数值为-128+127。(3)一个用补码表示的二进制数,最高位为符号位,当符号位为“0”(即正数)时,其余七位即为此数的二进制值;当符号位为“1”(即负数)时,其余几位不是此数的数值,其数值获取的方法是将其按位取反,并在最低位加1。第1章 基 础 知 识例1-4X补10010100,它不等于(20)10,它的数值为由0010100按位取反得1101011,然后再加l为1101100。即X1101100(126125123122)(643284)(108)10当负数采用补码表示时,就可以把减法转换为加法。第1章 基 础 知 识例例1-5X641064(10)X补64补10补6464补01000000100000101010补11110110于是0100000001000000000010101111011000110110100110110自然丢失由于在字长为8位的机器中,第7位(即D7)的进位是自然丢失的,故做减法与补码相加的结果是相同的。第1章 基 础 知 识 例例1-6346834(68)+34补00100010+68补01000100-68补10111100于是001000101011110011011110即为和的补码,符号位为1,和为负数,数值部分应由后七位按位取反再加1,即为0100010。所以,和为(34)10。第1章 基 础 知 识在日常生活中,有不少“补”数的例子。就以校对时间来讲,若标准时间为6点整,而现在有一只表为10点,要拨到6点,可以有两种拨法:第一种方法倒拨:1046第二种方法顺拨:1086所以,在这里,10加8与10减4(或加(4)是相同的。这当然是有条件的,在钟表中108126第1章 基 础 知 识而12称为模,即一个系统的量程或此系统所能表示的最大的数,它是自然丢掉的,如:104108(modl2)表示的是,等号两边同除以12,它们的余数相同,12称为模,或称(104)与(108)对模12是同余的,也即(8)与(4)对模12互- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文