《汇编语言程序设计》第1章汇编语言基础知识.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章基础知识1.1汇编语言程序设计的一般概念1.2计算机运算基础1.3微型机的基本结构1.4存储器与堆栈第1章基础知识1.1汇编语言程序设计的一般概念1.2计算机运算基础1.3微型机的基本结构1.4存储器与堆栈1.1汇编语言程序设计的一般概念基本概念汇编语言的作用汇编语言程序举例基本概念1.1汇编语言程序设计的一般概念1.机器语言机器语言是直接面向机器的计算机语言,是机器指令的集合。机器指令代码是0和1构成的二进制信息,与机器的硬件操作一一对应。计算机可以直接识别、执行机器代码,使用机器语言可以充分发挥计算机的硬件功能。机器指令很难记忆,直接使用机器语言编制程序极易出错,并且难以调试。基本概念1.1汇编语言程序设计的一般概念2.汇编语言汇编语言是用易于人们记忆的符号书写,与机器指令基本上一一对应,并遵循一定语法规则的符号语言。用汇编语言编写的程序称为汇编语言程序(源程序)。把汇编语言程序翻译成机器语言程序的过程称为汇编过程,完成汇编过程的程序称为汇编程序,而汇编产生的结果是机器语言程序(目标程序)。基本概念1.1汇编语言程序设计的一般概念把汇编语言程序变为可执行程序的过程如图1.1所示。汇编语言改善了机器语言的不直观性。从目标代码的长度和程序运行时间的角度上看,汇编语言程序与机器语言程序是等效的。汇编语言程序(源程序)汇编程序目标程序连接可执行程序图1.1汇编语言程序执行过程基本概念1.1汇编语言程序设计的一般概念3.高级语言高级语言是用来对计算机操作步骤进行描述的一整套标记符号、表达格式、结构及其使用的语法规则。它是面向程序设计人员的计算机语言,接近于自然语言,易学易记,便于阅读和掌握,使用方便,通用性强,不依赖具体计算机。目前世界上高级语言有数百种。基本概念1.1汇编语言程序设计的一般概念高级语言程序译为可执行程序的过程如图1.2所示。高级语言程序所对应的目标代码往往比机器语言程序要长得多,当然运行所需时间也更多。高级语言程序(源程序)编译程序目标程序连接可执行程序图1.2高级语言程序执行过程基本概念1.1汇编语言程序设计的一般概念1.使用汇编语言能正确理解计算机的工作原理2.目前仍靠汇编语言程序来实现计算机系统中的部分功能3.许多高级语言都设置有与汇编语言程序的接口汇编语言的作用1.1汇编语言程序设计的一般概念例:用Intel8086.8088系列微机MASM宏汇编语言完成S=(A+B-C)×D的运算。汇编语言程序举例1.1汇编语言程序设计的一般概念S=(A+B-C)×DDADASEGMENTADB20H;数据ABDB03H;数据BCDB02H;数据CDDB07H;数据DSDW0H;存放结果单元DATAENDSSTACK1SEGMENTPARASTACKDW30HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATA;设置段寄存器DSMOVDS,AXMOVAL,A;取数据AADDAL,B;计算A+BSUBAL,C;计算A+B-CMOVBL,D;取数据DMULBL;完成乘法运算MOVS,AX;存放运算结果MOVAX,4C00H;返回DOS环境INT21HCODEENDSENDSTART与源程序对应的机器语言程序第1章基础知识1.1汇编语言程序设计的一般概念1.2计算机运算基础1.3微型机的基本结构1.4存储器与堆栈1.2计算机运算基础数制及相互转换带符号数的表示二进制运算二进制编码1.进位计数制表1.1各种数制对照表数制及相互转换1.2计算机运算基础2.进位计数制相互转换(1)二进制数转换成十进制数(2)十进制数转换成二进制数(3)二进制数与八、十六进制数之间转换数制及相互转换1.2计算机运算基础1.机器数与真值计算机中处理的数常常是带符号数,数据的正号“+”和负号“-”在计算机内是用二进制数位来表示的,用0表示正,用1表示负,即符号数值化,并且通常符号位位于数据的最高位。我们把已经数值化了的带符号数称为机器数,而把原来的数称为机器数的真值。带符号数的表示1.2计算机运算基础2.机器数的表示法(1)原码表示法(2)反码表示法(3)补码表示法带符号数的表示1.2计算机运算基础(1)原码表示法正数的符号位为0,负数的符号位为1,数值位是其真值的绝对值,即数值位保持不变。例如:N1=+90=+1011010B,那么[N1]原=01011010BN2=-90=-1011010B,那么[N2]原=11011010B带符号数的表示1.2计算机运算基础在原码表示法中,0有两种表示形式:[+0]原=00000000B[-0]原=10000000B。8位原码表示的整数数据范围为-127~127。利用原码表示的数很直观,而且乘除法可直接进行,但用原码进行加减法运算的运算规则复杂。带符号数的表示1.2计算机运算基础(2)反码表示法正数的反码符号位为0,数值位是其真值,即[X]反=[X]原;负数的反码符号位为1,数值位取其真值的相反码。例如:N1=+90=+1011010B,那么[N1]反=01011010B=[N1]原N2=-90=-1011010B,那么[N2]反=10100101B带符号数的表示1.2计算机运算基础在反码表示法中,0有两种表示形式:[+0]反=00000000B[-0]反=11111111B。8位反码表示的整数范围为-127~127。带符号数的表示1.2计算机运算基础(3)补码表示法补码表示法:正数的补码符号位为0,数值位是其真值,既[X]补=[X]原;负数的补码符号位为1,其余各位按位取反,加1。例如:N1=+90=+1011010B,那么[N1]补=01011010B=[N1]原N2=-90=-1011010B,那么[N2]补=10100110B带符号数的表示1.2计算机运算基础在补码表示法中,0只有一种表示形式:[+0]补=00000000B。8位反码表示的整数数据范围为-128~127。带符号数的表示1.2计算机运算基础3.数的定点和浮点表示在计算机中小数点是不占二进制位的,小数点的位置一般有两种表示法,一种是约定所有机器数的小数点隐含在某一个固定位置上,称为定点数表示法;另一种是小数点位置可以任意浮动,称为浮点数表示法。带符号数的表示1.2计算机运算基础(1)定点数表示法定点数表示法的小数点位置有两种约定:①所有机器数的小数点位置隐含在数的最低位之后,把所有的数化为纯整数,称为定点整数。②所有机器数的小数点位置隐含在符号位之后,有效数值部分最高位之前,把所有的数化为纯小数,称为定点小数。带符号数的表示1.2计算机运算基础(2)浮点数表示法浮点数表示法与科学计数法相似,即把一个二进制数N通过用2的E次幂和绝对值小于1的数S相乘的形式表示,通过改变E的大小来移动小数点的位置。N=2E×S带符号数的表示1.2计算机运算基础1.补码的加减运算(1)补码的加法运算[X]补+[Y]补=[X+Y]补(2)补码的减法运算[X]补-[Y]补=[X]补+[-Y]补=[X-Y]补二进制运算1.2计算机运算基础(3)溢出①溢出的概念01011010B和00101001B两个正数相加,结果为10000011B;10100110B和11010111B两个负数相加,结果为01111101B。两个符号位相同的补码数相加,运算结果的符号位应与参加运算数的符号位相同。但上例中运算结果的符号位与参加运算数的符号位不同,我们把这种情况称为溢出。二进制运算1.2计算机运算基础产生溢出的原因是8位补码表示的数据范围是-128~127,而运算结果超出了此范围,使8位补码不能表示它。产生溢出的结果是不能使用的。②溢出的判断溢出的判断方法:两个符号位相反的补码数相加不会产生溢出。只有两个数的符号位相同时,如果是两个正数相加而和为负数,为正溢出;如果是两个负数相加而和为正数,则为负溢出。二进制运算1.2计算机运算基础2.逻辑运算(1)“与”运算(AND)两个对应位同时为1,运算结果的对应位为1,否则为0。例:01010101B55H∧00001111B0FH————————运算结果:00000101B05H二进制运算1.2计算机运算基础(2)“或”运算(OR)两个对应位同时为0,运算结果的对应位为0,否则为1。例:01010101B55H∨00001111B0FH————————运算结果:01011111B5FH二进制运算1.2计算机运算基础(3)“非”运算(NOT)将原操作数的各位取反,即“1”变为“0”,“0”变为“1”例:将55H进行非运算。01010101B(55H)取反后结果为10101010B(AAH)。二进制运算1.2计算机运算基础(4)“异或”运算(XOR)两个对应位相同时,运算结果的对应位为0,否则为1。例:01010101B55H⊕00001111B0FH————————运算结果:01011010B5AH二进制运算1.2计算机运算基础1.十进制数的二进制编码(BCD码)2.奇偶校验码3.字符的编码二进制编码1.2计算机运算基础1.十进制数的二进制编码(BCD码)用四位二进制数表示一位十进制数的编码,称为十进制数的二进制编码的简称BCD码。表1.38421BCD编码表10111100110111101111这6种编码在BCD码中不允许出现。二进制编码1.2计算机运算基础2.奇偶校验码奇偶校验码是在N位长的数据代码上增加一个二进制位作为校验位,放在N位代码的最高位之前或者最低位之后,组成N+1位的码。校验方法:N位代码里含有1的个数连同校验位的取值配成奇数个1,称为奇校验;N位代码里含有1的个数连同校验位的取值配成偶数个1,则称偶校验。二进制编码1.2计算机运算基础3.字符的编码字符编码有多种方式,计算机上普遍采用ASCII(AmericanStandardCodeforInfor-mationInterchange)码,即美国标准信息交换代码。ASCII码是7位二进制代码,用一个字节来存放,只占用低7位,而最高位空闲不用,一般填0。但最高位也可以有其他用途:①可作为ASCII码的奇偶校验位。②作为ASCII码的标识位。该位为0,表示ASCII码;如果该位为1,表示扩展ASCII码,即增加了128种图形符号和其他一些字符,具体内容可查看有关书籍。二进制编码1.2计算机运算基础第1章基础知识1.1汇编语言程序设计的一般概念1.2计算机运算基础1.3微型机的基本结构1.4存储器与堆栈1.3微型机的基本结构微型机的基本结构8086.8088微处理器的结构8086.8088微处理器的寄存器组织图1.4微型机的基本结构微型机的基本结构1.3微型机的基本结构1.微处理器2.存储器3.I/O接口电路4.总线微型机的基本结构1.3微型机的基本结构1.微处理器微处理器,即中央处理器(简称CPU),是把运算器和控制器集成在一个芯片上的大规模集成电路或超大规模集成电路。微处理器是微型机的核心部件,主要完成算术运算和逻辑运算、暂存数据以及控制微型机各部件操作等功能。目前国内外应用最广泛的微型计算机的微处理器均采用Intel公司的80X86和Penti-um系列及与之兼容的CPU,8086和8088是80X86系列的第一代微处理器。微型机的基本结构1.3微型机的基本结构2.存储器存储器是存放程序和数据的部件。CPU按地址直接访问的存储器称为主存储器或内存储器。按信息存取方式不同,内存储器分为随机存取存储器(RAM)和只读存储器(ROM)两类。我们把一些能存储信息的外部设备,如软硬磁盘、光驱、磁带等,叫做辅助存储器或外存储器。微型机的基本结构1.3微型机的基本结构3.I/O接口电路I.O接口电路是主机(由CPU和主存储器组成)与I.O设备之间设置的逻辑控制部件。通过它才能实现主机与I.O设备之间信息传送。目前微机的I.O接口电路普遍采用大规模集

1 / 94
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功