分享
分销 收藏 举报 申诉 / 44
播放页_导航下方通栏广告

类型汇编源程序与上机过程.pptx

  • 上传人:精***
  • 文档编号:4224419
  • 上传时间:2024-08-26
  • 格式:PPTX
  • 页数:44
  • 大小:405.77KB
  • 下载积分:14 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    汇编 源程序 上机 过程
    资源描述:
    汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验实验二 第一个汇编语言源程序 补充材料补充材料汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验汇编语言源程序 用汇编语言编写的程序称为用汇编语言编写的程序称为汇编源程序汇编源程序。汇编语言源程序比汇编语言源程序比机器语言程序容易理解和掌握,也容易调试和维护。但是,机器语言程序容易理解和掌握,也容易调试和维护。但是,计算机能读懂的只有机器指令,必须使用编译器将汇编语言计算机能读懂的只有机器指令,必须使用编译器将汇编语言源程序翻译成机器语言程序才可以由计算机执行。这个翻译源程序翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为的过程称为“汇编汇编”,目前,常用的汇编程序(编译器)有:,目前,常用的汇编程序(编译器)有:MASM、TASM和和DEBUG等。本教材采用的是等。本教材采用的是MASM5.0宏宏汇编。汇编。用汇编语言编写程序的工作过程用汇编语言编写程序的工作过程汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验MASM5.0我们用汇编语言编程,要用到我们用汇编语言编程,要用到:编辑器(:编辑器(Edit)、编译器)、编译器(masm)、连接器()、连接器(link)、调试工具()、调试工具(debug)等所有)等所有工具,而这些工具都是在操作系统之上运行的程序,所以工具,而这些工具都是在操作系统之上运行的程序,所以我们的学习过程必须在操作系统的环境中进行。我们的学习过程必须在操作系统的环境中进行。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验1、编辑源程序、编辑源程序打开记事本或进入打开记事本或进入DOS方式,运行方式,运行Edit,在其中编辑程序,保存,在其中编辑程序,保存文件(文件(*.asm)。如下图所示:)。如下图所示:汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验2、编译编译进入进入DOS方式,进入方式,进入C:masm目录,运行目录,运行masm.exe。在输入源程序文件名的时候一定要指明它所在的路径。如在输入源程序文件名的时候一定要指明它所在的路径。如果文件就在当前路径下,只输入文件名就可以。然后一路果文件就在当前路径下,只输入文件名就可以。然后一路回车,产生的目标文件名(回车,产生的目标文件名(.obj)默认与源文件名一致)默认与源文件名一致.编译结束,编译器输出的最后两行告诉我们这个源程序有编译结束,编译器输出的最后两行告诉我们这个源程序有没有警告错误和必须要改正的致命错误。没有警告错误和必须要改正的致命错误。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验3、连接连接在对源程序(在对源程序(*.asm)进行编译得到目标文件()进行编译得到目标文件(*.obj)后,)后,我们需要对目标文件进行连接,从而得到可执行文件我们需要对目标文件进行连接,从而得到可执行文件(*.exe)。)。连接程序默认要输出的可执行文件名为连接程序默认要输出的可执行文件名为1.EXE,所以不必再,所以不必再另行指定文件名。我们直接按另行指定文件名。我们直接按Enter键。键。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验连接的作用有以下几个:连接的作用有以下几个:当源程序很大时,可以将它分为多个源程序文件来编译,每当源程序很大时,可以将它分为多个源程序文件来编译,每个源程序编译成为目标文件后,再用连接程序将它们连接到个源程序编译成为目标文件后,再用连接程序将它们连接到一起,生成一个可执行文件;一起,生成一个可执行文件;程序中调用了某个库文件中的子程序,需要将这个库文件和程序中调用了某个库文件中的子程序,需要将这个库文件和该程序生成的目标文件连接到一起,生成一个可执行文件;该程序生成的目标文件连接到一起,生成一个可执行文件;一个源程序编译后,得到了存有机器码的目标文件,目标文一个源程序编译后,得到了存有机器码的目标文件,目标文件中的有些内容还不能直接用来生成可执行文件,连接程序件中的有些内容还不能直接用来生成可执行文件,连接程序将这些内容处理为最终的可执行信息。将这些内容处理为最终的可执行信息。所以,在只有一个源程序文件,而又不需要调用某个库所以,在只有一个源程序文件,而又不需要调用某个库中的子程序的情况下,也必须用连接程序对目标文件进行处中的子程序的情况下,也必须用连接程序对目标文件进行处理,生成可执行文件。理,生成可执行文件。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验4、执行执行现在,终于将我们的第一个汇编程序加工成了一个可在操作系统下执现在,终于将我们的第一个汇编程序加工成了一个可在操作系统下执行的程序文件。行的程序文件。1.exe的执行情况:的执行情况:程序到底运行没有?程序到底运行没有?程序当然运行了,只是从屏幕上不可能看到任何运行结果。程序当然运行了,只是从屏幕上不可能看到任何运行结果。我们的程序没有像显示器输出任何信息。程序只是做了一些将数据送我们的程序没有像显示器输出任何信息。程序只是做了一些将数据送入寄存器和加法的操作,而这些事情,我们不可能从显示屏上看出来。入寄存器和加法的操作,而这些事情,我们不可能从显示屏上看出来。程序执行完成后返回,屏幕上再次出现操作系统的提示符。程序执行完成后返回,屏幕上再次出现操作系统的提示符。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验5、使用、使用DEBUG调试和运行可执行文件调试和运行可执行文件在初次使用在初次使用DEBUGDEBUG时,可参照下列步骤进行时,可参照下列步骤进行:1、调用、调用DEBUG,装入用户程序,装入用户程序2、U命令反汇编程序,记录代码段与数据段首地址命令反汇编程序,记录代码段与数据段首地址3、R观察寄存器初始状态观察寄存器初始状态4、以单步工作方式、以单步工作方式T开始运行程序开始运行程序5、D观察用户程序数据段初始内容观察用户程序数据段初始内容6、继续以单步工作方式运行程序、继续以单步工作方式运行程序7G连续工作方式运行程序连续工作方式运行程序8E或或A修改程序和数据修改程序和数据9运用断点调试程序运用断点调试程序G汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验6、源程序、源程序汇编指令:汇编指令:有对应的机器码,有对应的机器码,可被机器执行的指令。可被机器执行的指令。伪指令:伪指令:没有对应机器码,没有对应机器码,有编译器执行的指令。有编译器执行的指令。XXXsegmentXXXendsendassume汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验标号标号一个标号指代了一个地址。一个标号指代了一个地址。codesg:放在:放在segment的前面,作为一个段的前面,作为一个段的名称,这个段的名称最终将被编译、连的名称,这个段的名称最终将被编译、连接程序处理为一个段的段地址。接程序处理为一个段的段地址。start:放在程序的开始,是程序的入口,放在程序的开始,是程序的入口,编译时被处理为该条指令的偏移地址。编译时被处理为该条指令的偏移地址。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验程序返回程序返回这两条指令所实现的功能是程序返回。这两条指令所实现的功能是程序返回。我们知道,我们知道,一个程序结束后,将一个程序结束后,将CPU的控制权交还给使它得以的控制权交还给使它得以运行的程序,我们称这个过程为:程序返回。运行的程序,我们称这个过程为:程序返回。DOS中的程序运行:中的程序运行:DOS是一个单任务操作系统。是一个单任务操作系统。一个程序一个程序P2在可执行文件中,则必须有一个正在运行在可执行文件中,则必须有一个正在运行的程序的程序P1,将,将P2从可执行文件中加载入内存后,将从可执行文件中加载入内存后,将CPU的控制权交给的控制权交给P2,P2才能得以运行。才能得以运行。P2开始运行开始运行后,后,P1暂停运行。而当暂停运行。而当P2运行完毕后,应该将运行完毕后,应该将CPU的的控制权交还给使它得以运行的程序控制权交还给使它得以运行的程序P1,此后,此后,P1继续继续运行。运行。movax,4c00Hint21H汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验编写源程序编写源程序任务:编程运算任务:编程运算23。定义一个段定义一个段实现处理任务实现处理任务程序返回程序返回程序结束程序结束段与段寄存器关联段与段寄存器关联汇编程序汇编程序assumecs:codecodesegmentmovax,2addax,axaddax,axmovax,4c00hint21hcodeendsend汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验语法错误和逻辑错误语法错误和逻辑错误语法错误语法错误程序在编译时被编译器发现的错误;程序在编译时被编译器发现的错误;容易发现。容易发现。aumecs:abcabcsegmentmovax,2addax,axaddax,axend汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验语法错误和逻辑错误语法错误和逻辑错误逻辑错误逻辑错误程序在编译时不能表现出来的、在运行时发程序在编译时不能表现出来的、在运行时发生的错误;生的错误;不容易发现。不容易发现。assumecs:abcabcsegmentmovax,2addax,axaddax,axmovax,4c00Hint21Habcendsend汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验程序经编译连接后变为机器码程序经编译连接后变为机器码操作系统依照可执行文件中的描述信操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化加载入内存,并进行相关的初始化(比如:设置(比如:设置CS:IP指向第一条要执行指向第一条要执行的指令),然后由的指令),然后由CPU执行程序。执行程序。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验程序执行过程的跟踪程序执行过程的跟踪为了观察程序的运行过程为了观察程序的运行过程,我们可以使用,我们可以使用Debug。Debug可以将程序加载入内存,并设置可以将程序加载入内存,并设置CS:IP指向指向程序的入口,但程序的入口,但Debug并不放弃对并不放弃对CPU的控制,的控制,这样,我们就可以使用这样,我们就可以使用Debug的相关命令来单步执的相关命令来单步执行程序行程序,查看每条指令的执行结果。,查看每条指令的执行结果。现在现在debug已将已将1.exe中的程序装入内存,接下来中的程序装入内存,接下来我们查看一下它的内容,可是我们查看哪里的内容我们查看一下它的内容,可是我们查看哪里的内容呢?呢?程序又被装入内存的什么地方?程序又被装入内存的什么地方?汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验程序执行过程的跟踪程序执行过程的跟踪首先用首先用R命令看一下各个寄存器的设置情况:命令看一下各个寄存器的设置情况:可以看到,可以看到,Debug将程序从可执行文件加载入内存后,将程序从可执行文件加载入内存后,cx中存放的是程序的长度。中存放的是程序的长度。1.exe中程序的机器码共有中程序的机器码共有15个字节。个字节。在在DOS系统中系统中.EXE文件中的程序的加载过程如下:文件中的程序的加载过程如下:汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验EXE文件中的程序的加载过程文件中的程序的加载过程总结:总结:程序加载后,程序加载后,ds中存放着程序所在内存区的段地址,这个内存中存放着程序所在内存区的段地址,这个内存区的偏移地址为区的偏移地址为 0,则程序所在的内存区的地址为:,则程序所在的内存区的地址为:ds:0;这个内存区的前这个内存区的前256(100H)个字节中存放的是个字节中存放的是PSP,dos用来和程序进行通信。从用来和程序进行通信。从 256字节处向后的空间存放的是程序,字节处向后的空间存放的是程序,所以程序的物理地址是:所以程序的物理地址是:SA16+0+256=SA16+1616=(SA+16)16+0 可用段地址和偏移地址表示为:可用段地址和偏移地址表示为:SA+10:0 即即cs=ds+10h,ip=0。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验用用U命令查看程序指令:命令查看程序指令:汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验用用T命令单步执行程序中的每一条指令,并观察每条指令命令单步执行程序中的每一条指令,并观察每条指令的执行结果,到了的执行结果,到了int21,我们要用,我们要用P命令执行:命令执行:int21执行后,显示执行后,显示“Programterminatednormally”,返,返回到回到Debug中。表示程序正常结束。中。表示程序正常结束。那程序返回到哪里呢?那程序返回到哪里呢?汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验程序执行过程的跟踪程序执行过程的跟踪注意:我们在注意:我们在DOS中用中用“Debug1.exe”运行运行Debug对对1.exe进进行跟踪时,程序加载的顺序是:行跟踪时,程序加载的顺序是:command加载加载Debug,Debug加载加载1.exe。返回的顺序是:从返回的顺序是:从1.exe中的程序返回到中的程序返回到Debug,从,从Debug返返回到回到command。使用。使用Q命令退出命令退出Debug,则返回到,则返回到command中,因为中,因为Debug是由是由command加载运行的。加载运行的。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验标志寄存器标志寄存器(PSW)8086CPU中有一个很重要的中有一个很重要的16位标志寄存器,位标志寄存器,它包含它包含9个标志位,由个标志位,由6位条件码标志位条件码标志(flag)和和3位位控制标志构成。主要用于保存一条指令执行后,控制标志构成。主要用于保存一条指令执行后,CPU所处状态信息及运算结果的特征。所处状态信息及运算结果的特征。1条条件件标标志志:用用来来反反映映EU执执行行算算术术和和逻逻辑辑运运算以后的结果特征。算以后的结果特征。2状状态态控控制制标标志志:用用来来控控制制CPU的的工工作作方方式式或工作状态或工作状态。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验15141312111098765432101)条件标志)条件标志(1)OF溢出标志:溢出标志:溢出时溢出时OF=1,否则,否则OF=0。(2)SF符号标志:符号标志:结果为负时结果为负时SF=1,否则否则SF=0。(3)ZF零标志:零标志:结果为结果为0时时ZF=1,否则,否则ZF=0。(4)CF进位标志:记录运算时从最高有效位产生的进位或借进位标志:记录运算时从最高有效位产生的进位或借位值。位值。当最高有效位有进位或借位时当最高有效位有进位或借位时CF=1,否则置否则置CF=0。(5)AF辅助进位标志:记录运算时第辅助进位标志:记录运算时第3位位(字节运算字节运算)或第或第7位位(字运算)产生的进位或借位值(字运算)产生的进位或借位值。例如,执行加法指令时第例如,执行加法指令时第3位有进位位有进位时时AF=1,否则否则AF=0。OFDFIFTFSFZFAFPFCF汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验(6)PF奇偶标志:用来检验机器传送信息时可能产生的代码出错奇偶标志:用来检验机器传送信息时可能产生的代码出错情况。情况。当结果操作数中当结果操作数中1的个数为偶数时的个数为偶数时PF=l,否则否则PF=0。2)控制标志)控制标志(1)DF方向标志,方向标志,当当DF位为位为1时,每次操作后使变址寄存器时,每次操作后使变址寄存器SI和和DI减量;当减量;当DF为为0时,则使时,则使SI和和DI增量。增量。(2)IF中断标志,中断标志,IF为为l时,开中断,否则关中断。时,开中断,否则关中断。(3)TF陷阱标志,陷阱标志,TF=1时,每条指令执行完后产生陷井,时,每条指令执行完后产生陷井,TF=0时,时,CPU正常工作不产生陷开。正常工作不产生陷开。其中控制标志是系统程序或用户程序根据需要用指令设置的。而状其中控制标志是系统程序或用户程序根据需要用指令设置的。而状态信息是由中央处理机根据计算结果自动设置的。态信息是由中央处理机根据计算结果自动设置的。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验3)标志位举例)标志位举例【例例1 1】执行以下两数的加法操作,判断各标志位的状态。执行以下两数的加法操作,判断各标志位的状态。0010001101000101+00110010000110010101010101011110执行以上操作后,各条件标志位的状态应为:执行以上操作后,各条件标志位的状态应为:OF=0(NV)SF=0(PL)ZF=0(NZ)AF=0(NA)PF=0(PO)CF=0(NV)汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验Debug中标志位的符号表示中标志位的符号表示标志标志10OFOVNVDFDNUPIFEIDISFNGPLZFZRNZAFACNAPFPEPOCFCYNC汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验【例例2】执行加法操作。执行加法操作。1010101100000000+11111111111111111010101011111111执行操作后,各状态标志位的状态应为:执行操作后,各状态标志位的状态应为:CFPFAFZF=SF=OF=【例例3】执行加法操作。执行加法操作。0110010000000000+01100100000000001100100000000000执行以上加法操作后,各状态标志位的状态应为:执行以上加法操作后,各状态标志位的状态应为:CF=PF=AF=ZFSF=OF=110010000011汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验SF、CF、OF标志标志SF符号标志位:主要是记录符号标志位:主要是记录有符号数运算有符号数运算的结的结果符号,对于无符号数运算,该标志位没有意果符号,对于无符号数运算,该标志位没有意义。它记录指令执行后,义。它记录指令执行后,结果为负,SF=1;结果为正,SF=0。有符号数与补码有符号数与补码计算机中通常用补码来表示有符号数据。计算机中的一计算机中通常用补码来表示有符号数据。计算机中的一个数据可以看作是有符号数,也可以看成是无符号数。个数据可以看作是有符号数,也可以看成是无符号数。关键看程序员需要的是什么数。关键看程序员需要的是什么数。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验SF、CF、OF标志标志OF溢出标志溢出标志:记录有符号数运算结果是否正确。:记录有符号数运算结果是否正确。在进行有符号数运算的时候,如结果超过了机器所能表示的在进行有符号数运算的时候,如结果超过了机器所能表示的范围称为范围称为溢出,溢出,发生溢出,结果不正确。发生溢出,结果不正确。机器所能表示的范围是多少呢?机器所能表示的范围是多少呢?-2n-1+2n-1-1比如:比如:addal,3,那么对于,那么对于8位的有符号数据,机器所能表位的有符号数据,机器所能表示的范围就是示的范围就是-128127。addax,3,对于,对于16位有符号数,机器所能表示的范围是位有符号数,机器所能表示的范围是-3276832767。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验OF标志标志注意注意,这里所讲的溢出,只是对有符号数运算而言,这里所讲的溢出,只是对有符号数运算而言,对无符号对无符号数没有意义数没有意义比如比如moval,98addal,99执行后将产生溢出执行后将产生溢出OF=1。因为结果。因为结果197超出了机器所能表示超出了机器所能表示的的8位有符号数的范围:位有符号数的范围:-128127指令:指令:moval,0F0H;0F0H,为有符号数,为有符号数-16的补码的补码addal,88H;88H,为有符号数,为有符号数-120的补码的补码执行后将产生溢出执行后将产生溢出,结果错误。结果错误。(al)=78H(120),),OF=1。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验SF、CF、OF标志标志CF进位标志位进位标志位,记录在进行无符号数运算的时候,记录在进行无符号数运算的时候,运算结果的最高有效位向更高位有无进位值,或从运算结果的最高有效位向更高位有无进位值,或从更高位有无借位值。更高位有无借位值。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验CF和和OF的区别的区别一定要注意一定要注意CF和和OF的区别:的区别:CF是对无符号数运算有意义的标志位;是对无符号数运算有意义的标志位;而而OF和和SF是对有符号数运算有意义的标志位。是对有符号数运算有意义的标志位。比如:比如:moval,0F0Haddal,88Hadd指令执行后:指令执行后:CF=1,OF=1。对于无符号数运算,对于无符号数运算,0F0H(240)+88H(136)有进位,)有进位,CF=1;对于有符号数运算,对于有符号数运算,0F0H(-16)+88H(-120)发生溢出,)发生溢出,OF=1。那是不是有进位那是不是有进位CF=1就一定产生溢出就一定产生溢出OF=1呢呢?汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验CF和和OF的区别的区别再比如:再比如:moval,0F0H(-16)addal,78H(120)add指令执行后:指令执行后:CF=1,OF=0。对于无符号运算,对于无符号运算,0F0H(240)+78H(120)有进位,)有进位,CF=1;对于有符号数运算,对于有符号数运算,0F0H+78H不发生溢出,不发生溢出,OF=0。结果正确(。结果正确(al)=68H(104)可以看出,可以看出,CF和和OF所表示的进位和溢出,是分别对无符所表示的进位和溢出,是分别对无符号数和有符号数运算而言的,它们之间没有任何关系。号数和有符号数运算而言的,它们之间没有任何关系。CF表示无符号数的溢出,表示无符号数的溢出,OF表示有符号数的溢出。表示有符号数的溢出。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验如何判断有符号数运算的溢出如何判断有符号数运算的溢出设微型计算机字长为设微型计算机字长为n,则两个带符号数的绝对值都应当,则两个带符号数的绝对值都应当小于小于2n-1,因而只有当两个数同为,因而只有当两个数同为正或同为负,并且和的绝对值又大于正或同为负,并且和的绝对值又大于2n-1时,才会发生溢时,才会发生溢出。出。两个正数相加,若数值部分之和大于两个正数相加,若数值部分之和大于2n-1,则数值部分必,则数值部分必有进位有进位Cp=1,而符号位却无进位,而符号位却无进位Cs=0,这种溢出称为,这种溢出称为“正溢出正溢出”。两个负数相加,若数值部分绝对值之和大于两个负数相加,若数值部分绝对值之和大于2n-1,则数值,则数值部分补码之和必小于部分补码之和必小于2n-1,Cp=0,而符号位肯定有进位,而符号位肯定有进位Cs=1,这时称为负溢出,这时称为负溢出汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验如何判断有符号数运算的溢出如何判断有符号数运算的溢出补码运算过程也存在正常溢出,正常溢出是以补码运算过程也存在正常溢出,正常溢出是以2n(n为二进为二进制的位数)为模的溢出,它被自然丢失,不影响结果的正确制的位数)为模的溢出,它被自然丢失,不影响结果的正确性。性。溢出溢出只能出现在两个同符号数相加或两个异符号数相减只能出现在两个同符号数相加或两个异符号数相减的情况下。判断规则:的情况下。判断规则:1、如果次高位向最高位有进位(或借位),而最高位向上无、如果次高位向最高位有进位(或借位),而最高位向上无进位(或借位),则溢出。进位(或借位),则溢出。2、如果次高位无进位(或借位),而最高位有进位(或借位)、如果次高位无进位(或借位),而最高位有进位(或借位),也溢出。,也溢出。即采用即采用双高位异或判断法双高位异或判断法:对对8位有符号数,位有符号数,D6产生的进位(或借位)记为产生的进位(或借位)记为C6,D7产生的进位(或借位)记为产生的进位(或借位)记为C7,若,若C7 C6=1,则,则OF=1。汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验举例举例:n=8bit有符号数有符号数(-128127),无符号数无符号数(0255)00000100+0000101100001111带:带:(+4)+(+11)=+15OF=0无:无:4+11=15CF=0带符号数和无符号数都不溢出带符号数和无符号数都不溢出00001001+0111110010000101带带:(+9)+(+124)=-123OF=1无无:9+124=133CF=0带符号数溢出带符号数溢出无符号数溢出无符号数溢出00000111+11111011100000010带:带:(+7)+(-5)=+2OF=0无:无:7+251=2CF=1带符号数和无符号数都溢出带符号数和无符号数都溢出10000111+11110101101111100带:带:(-121)+(-11)=+124OF=1无:无:135+245=124CF=1汇编语言程序设计汇编语言程序设计汇编语言程序设计实验汇编语言程序设计实验Thankyouverymuch!本章到此结束,谢谢您的光临!本章到此结束,谢谢您的光临!返回本章首页返回本章首页结结束束
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:汇编源程序与上机过程.pptx
    链接地址:https://www.zixin.com.cn/doc/4224419.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork