微机原理与控制技术参考资料.doc_第1页
微机原理与控制技术参考资料.doc_第2页
微机原理与控制技术参考资料.doc_第3页
微机原理与控制技术参考资料.doc_第4页
微机原理与控制技术参考资料.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、双核的概念双核处理器是指在一个处理器上集成两个运算核心,从而提高计算能力。什么是双核处理器呢?双核处理器背后的概念蕴涵着什么意义呢?简而言之,双核处理器即是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心。换句话说,将两个物理处理器核心整合入一个核中。企业IT管理者们也一直坚持寻求增进性能而不用提高实际硬件覆盖区的方法。多核处理器解决方案针对这些需求,提供更强的性能而不需要增大能量或实际空间。 双核心处理器技术的引入是提高处理器性能的有效方法。因为处理器实际性能是处理器在每个时钟周期内所能处理器指令数的总量,因此增加一个内核,处理器每个时钟周期内可执行的单元数将增加一倍。在这里我们必须强调一点的是,如果你想让系统达到最大性能,你必须充分利用两个内核中的所有可执行单元:即让所有执行单元都有活可干! 最近逐渐热起来的“双核”概念,主要是指基于X86开放架构的双核技术。在这方面,起领导地位的厂商主要有AMD和Intel两家。其中,两家的思路又有不同。AMD从一开始设计时就考虑到了对多核心的支持。所有组件都直接连接到CPU,消除系统架构方面的挑战和瓶颈。两个处理器核心直接连接到同一个内核上,核心之间以芯片速度通信,进一步降低了处理器之间的延迟。而Intel采用多个核心共享前端总线的方式。专家认为,AMD的架构对于更容易实现双核以至多核,Intel的架构会遇到多个内核争用总线资源的瓶颈问题。2、AMD是Advanced Micro Devices的缩写,AMD是指美国超威半导体公司,是一家专注于微处理器设计和生产的跨国公司,总部位于美国加州硅谷内森尼韦尔。3、晶体管的发明1947年12月23日,37岁的美国物理学家肖克莱和他的合作者在著名的贝尔实验室向人们展示了第一个半导体电子增幅器,即最初的晶体管晶体管的发明成为人类微电子革命的先声 如果时光倒流几十年,晶体管还没有被发明,那么今天的人们大概还在使用电子管收音机这种收音机普遍使用五六个电子管,输出功率只有1瓦左右,而耗电却要四五十瓦,功能也很有限打开电源开关,要等1分多钟才会慢慢地响起来而现在,袖珍半导体收音机早就成了青少年的随身物了我们在使用现代科技产品时,真应该对这些产品的发明者心存谢意你知道晶体管是谁发明的吗?它是美国物理学家肖克莱和他的同事巴丁及布拉顿一同发明的这项影响深远的发明,让他们共同获得了1956年度诺贝尔物理学奖1947年圣诞节前夕,37岁的物理学家肖克莱写了一张言辞有些羞怯的便柬,邀请美国新泽西州中部贝尔电话实验室的几位同僚到他的实验室,观察他和他的合作者巴丁及布拉顿最近取得的“一些成果”这三位发明家演示了电流通过一个名为“晶体管”的小原器件尽管用现代标准衡量,这个原器件原始且笨拙,但它在当时却是一个举世震惊的突破因为真空管最初的电子增幅器,虽然加快了无线电、电话、电视机等的发展,但是这种真空管体积大、耗能多,拖了发展复杂电子机器的后腿电子机械师们早就期待着一种可靠、小型而又便宜的替代装置了 晶体管的发明,终于使由玻璃封装的、易碎的真空管有了替代物同真空管相同的是,晶体管能放大微弱的电子信号;不同的是,它廉价、耐久、耗能小,并且几乎能够被制成无限小1999年9月,法国原子能委员会的科学有研制出当今世界上最小的晶体管,这种晶体管直径仅20纳米(1纳米为1米的10亿分之一),科学家须用电子显微镜把它放大50万倍,方能取得它1厘米大的照片把20纳米的晶体管放进一片普通集成电路,形同一根头发放在足球场的中央同工作中能产生巨大热量的真空管相反,晶体管能在冷却状态下工作因为它采用了半导体一种处于绝缘体(如玻璃)与良导体(如铁和金)之间的固态导体肖克莱等人的成功,取决于他们确定了合适的使用材料(开始是金属元素锗,然后是硅),用这种材料,只需很少量,晶体管就能像真空管一样,对电子产生相同的作用在带有正、负电荷的接头或障碍物两侧就可得“晶体管效应”;障碍物的作用因来自第三方的微小电流的使用而明显地减弱这个结果就像拧开了开关、使巨大电流通过障碍物,把第三方的信号放大到4万倍 晶体管诞生后,首先在电话设备和助听器中使用逐渐地,它在任何有插座或电池的东西中都能发挥作用了将微型晶体管蚀刻在硅片上制成的集成电路,在20世纪50年代发展起来后,以芯片为主的电脑很快就进入了人们的办公室和家庭堆栈溢出堆栈溢出原理 堆栈 堆栈是一个在计算机科学中经常使用的抽象数据类型。堆栈中的物体具有一个特性: 最后一个放入堆栈中的物体总是被最先拿出来, 这个特性通常称为后进先处(LIFO)队列. 堆栈中定义了一些操作. 两个最重要的是PUSH和POP。 PUSH操作在堆栈的顶部加入一 个元素。POP操作相反, 在堆栈顶部移去一个元素, 并将堆栈的大小减一。 为什么使用堆栈? 现代计算机被设计成能够理解人们头脑中的高级语言。 在使用高级语言构造程序时 最重要的技术是过程(procedure)和函数(function)。 从这一点来看, 一个过程调用可 以象跳转(jump)命令那样改变程序的控制流程, 但是与跳转不同的是, 当工作完成时, 函数把控制权返回给调用之后的语句或指令。 这种高级抽象实现起来要靠堆栈的帮助。 堆栈也用于给函数中使用的局部变量动态分配空间, 同样给函数传递参数和函数返 回值也要用到堆栈。 堆栈区域 堆栈是一块保存数据的连续内存。 一个名为堆栈指针(SP)的寄存器指向堆栈的顶部。 堆栈的底部在一个固定的地址。 堆栈的大小在运行时由内核动态地调整。 CPU实现指令 PUSH和POP, 向堆栈中添加元素和从中移去元素。 堆栈由逻辑堆栈帧组成。 当调用函数时逻辑堆栈帧被压入栈中, 当函数返回时逻辑 堆栈帧被从栈中弹出。 堆栈帧包括函数的参数, 函数地局部变量, 以及恢复前一个堆栈 帧所需要的数据, 其中包括在函数调用时指令指针(IP)的值。 堆栈既可以向下增长(向内存低地址)也可以向上增长, 这依赖于具体的实现。 在我 们的例子中, 堆栈是向下增长的。 这是很多计算机的实现方式, 包括Intel, Motorola, SPARC和MIPS处理器。 堆栈指针(SP)也是依赖于具体实现的。 它可以指向堆栈的最后地址, 或者指向堆栈之后的下一个空闲可用地址。 在我们的讨论当中, SP指向堆栈的最后地址。 除了堆栈指针(SP指向堆栈顶部的的低地址)之外, 为了使用方便还有指向帧内固定 地址的指针叫做帧指针(FP)。 有些文章把它叫做局部基指针(LB-local base pointer)。 从理论上来说, 局部变量可以用SP加偏移量来引用。 然而, 当有字被压栈和出栈后, 这 些偏移量就变了。 尽管在某些情况下编译器能够跟踪栈中的字操作, 由此可以修正偏移 量, 但是在某些情况下不能。 而且在所有情况下, 要引入可观的管理开销。 而且在有些 机器上, 比如Intel处理器, 由SP加偏移量访问一个变量需要多条指令才能实现。 因此, 许多编译器使用第二个寄存器, FP, 对于局部变量和函数参数都可以引用, 因为它们到FP的距离不会受到PUSH和POP操作的影响。 在Intel CPU中, BP(EBP)用于这 个目的。 在Motorola CPU中, 除了A7(堆栈指针SP)之外的任何地址寄存器都可以做FP。 考虑到我们堆栈的增长方向, 从FP的位置开始计算, 函数参数的偏移量是正值, 而局部 变量的偏移量是负值。 当一个例程被调用时所必须做的第一件事是保存前一个FP(这样当例程退出时就可以 恢复)。 然后它把SP复制到FP, 创建新的FP, 把SP向前移动为局部变量保留空间。 这称为 例程的序幕(prolog)工作。 当例程退出时, 堆栈必须被清除干净, 这称为例程的收尾 (epilog)工作。 Intel的ENTER和LEAVE指令, Motorola的LINK和UNLINK指令, 都可以用于 有效地序幕和收尾工作。 堆栈溢出 堆栈溢出就是不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,结果覆盖了老的堆栈数据。 或者解释为 在长字符串中嵌入一段代码,并将过程的返回地址覆盖为这段代码的地址,这样当过程返回时,程序就转而开始执行这段自编的代码了.段寄存器段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。CPU内部的段寄存器:CS代码段寄存器(CodeSegmentRegister),其值为代码段的段值;DS数据段寄存器(DataSegmentRegister),其值为数据段的段值;ES附加段寄存器(ExtraSegmentRegister),其值为附加数据段的段值;SS堆栈段寄存器(StackSegmentRegister),其值为堆栈段的段值;FS附加段寄存器(ExtraSegmentRegister),其值为附加数据段的段值;GS附加段寄存器(ExtraSegmentRegister),其值为附加数据段的段值。 在16位CPU系统中,它只有4个段寄存器,所以,程序在任何时刻至多有4个正在使用的段可直接访问;在32位微机系统中,它有6个段寄存器,所以,在此环境下开发的程序最多可同时访问6个段。32位CPU有两个不同的工作方式:实方式和保护方式。在每种方式下,段寄存器的作用是不同的。有关规定简单描述如下:实方式:前4个段寄存器CS、DS、ES和SS与先前CPU中的所对应的段寄存器的含义完全一致,内存单元的逻辑地址仍为段值:“偏移量”的形式。为访问某内存段内的数据,必须使用该段寄存器和存储单元的偏移量。保护方式:在此方式下,情况要复杂得多,装入段寄存器的不再是段值,而是称为”选择子”(Selector)的某个值。三态输出电路就是具有高电平、低电平和高阻抗三种输出状态的门电路,又称三态门输出电路。在固态机互联板电路,“IO”板电路中,除了以上几种组合门电路,三态门电路也是必不可少的。一、电路组成三态门电路主要有TTL三态门电路和 CMOS三态门电路.不难看出,二种输出三态门电路都是在普通门电路的基础上附加控制电路而构成.二、工作原理(1)TTL三态门电路工作原理图1给出了三态门的电路结构图及图形符号。其中控制端EN为低电平时(面=口,P点为高电平,二极管D截止,电路工作状态和普通的与非门没有区别。这时Y=AB,可能是高电子也可能是低电平,视A、B的状态而定。而当控制端EN为高电平时(EN=1),P点为低电平,它控制T1发射极,把VBl钳位在1V,使T,、T5载止。同时二极管D导通,T4的基极电位被钳在1V,使T4载止。由于T4、T5同时载止,所以输出端呈高阻状态o(2)图2中是将CMOS反相器的输出端同一个模拟开关相串联,即可组成三态门。图中T,、T2组成反相器,TG和反相器3组成模拟开关,其工作原理是:当控制端电压Ve =1时,由于模拟开关断开,输出端与电源 Vm,输出端与地都相当于开路,故呈现高阻抗状态。当Ve=OV时,模拟开关闭合,输出电压VY取决于反相器的输入电压。若V4= OV,则T1截止,T2导通,VY=VDD,输出高电平;若Va=1,则Tl导通,T2载止,VY=OV,输出低电平。上述电路中,控制端EN为低电平时与非门处于工作状态,所以该电路为低电平有效同样还有高电平有效控制电路。三、三态门电路的应用(1)多路信号分时传递在一些复杂的数字系统(象固态机的互联板,U0板等)中,为了减少各个单元电路之间连线的数目,希望能在同一条导线上分时传递若干个门电路的输出信号。这时可采用图3所示的连接方式。图中G1-Gn。均为三态与非门。只要在工作时控制各个门的 En端轮流等于“1”,而且任何时候仅有一个等于“1”就可以把各个门的输出信号轮流送到公共的传输线一总线上而互不干扰。(2)用作双向传输的总线接收器利用三态输出门电路还能实现数据的双向传输。固态机数据传送这种功能也是常用的。在图4电路中,当E。=1时,C:工作而 C2为高阻抗,数据D。经C1反相后送到总线上去。当皿=0时,C2工作而C1为高阻抗,来自总线的数据经C2反相后由D,送出。三态输出门电路(TS(Three-state output Gate)门) 右图为三态门输出门电路的原理图。在图中,如果将虚线方框内的两个反相器和一个二极管剪掉,剩下的部分就是典型的TTL与非门电路。所谓三态是指输出端而言。普通的TTL与非门其输出极的两个晶体管T4、T5始终保持一个导通,另一个截止的推拉状态。T4导通,T5截止,输出高电平Y=1;T4截止,T5导通,输出低电平,Y=0。三态门除了上述两种状态外,又出现了T4、T5同时截止的第三种状态。因为晶体管截止时c、e之间是无穷大阻抗,输出端Y对地、对电源(vcc)阻抗无穷大。因此这第三种状态也称高阻状态。存储器与寄存器区别?存储器插在主板上,容量大,速度慢寄存器位于cpu内部,是cpu运算时取数据的地方,所有数据必须从存储器传入寄存器后,cpu才能使用。寄存器容量非常小,一般不超过128字节,但cpu使用寄存器中的数据几乎没有任何延迟,速度非常快DEBUG功能简介 一、DEBUG功能介绍 DEBUG是为DOS提供的有力的侦错,跟踪程序运行,检查系统数据的工具程序,要很好地使用它必须具备一定的汇编程序设计和硬件基本知识的能力,当然,它为汇编语言程序员提供了有效的调试手段,它的功能包括以下几个方面。 1. 直接输入、更改、跟踪、运行汇编程序2. 观察操作系统的内容; 3. 查看ROM BIOS的内容; 4. 观察更改RAM内部的设置值; 5. 以扇区或文件的方式读写软盘数据。 在DEBUG中地址用段地址与段内地址来表示,而段地址可以明确地指出来,也可以用一个段指示器(段寄存器)来代表,用段寄存器表示时,其段地址就是此寄存器的内含值: 如:用段地址和段内地址表示FOFF:0100 用段寄存器和段内地址表示CSF:0100CS指向F000 二、DEBUG程序的调用 在DOS提示符下可键入以下命令: DEBUGd:path文件名参数1参数2 其中文件名是被调试文件的名字,其后缀需为EXE或COM文件,d:和path为被调用文件所在的盘符和路径,两个参数是运用被调试文件所需的参数,方括号“”中的选项可选项,回车后出现“-”提示符,就可用所需的DEBUG命令。 三、DEBUG命令 1.“?”命令 此命令在“-”之后键入“?”回车即可出现DEBUG命令的所有说明,读者一用即知。 2.“A”命令:将汇编语言源程序译成机器码,并存入内存地址。 格式:-A起始地址 如果A后无地址,则DEBUG会将DS:100定为起始地址; 例A:DEBUG -a 0100 08F1:0100 MOV CH,09 08F1:0102 MOV DX,109 08F1:0105 INT 21H 08F1:0107 INT 21H 08F1:0109 db May I help you $ 08F1:0115 离开a状态 -g 运行 May I help you 运行结果 Program terminated normally表示运行正常 3. “C”命令:比较两段内存区内容并列出相异式。 格式:C第一段起始地址 第一段终止地址 第二段起始地址 如:C4000:0 3F 100 就是用来比较4000:0000-4000:003F与DS:0100-DS:013F之间的内容:其显示格式如下: 内存地址1 内含值1 内含值2 内存地址2 例:比较4000:0 3F 100内容的差异 -C4000:0 3F 100 4000:0000 64 43 08F1:0100 4000:0001 3E 69 08F1:0101 4000:0002 78 FF 08F1:0102 .显示内容的差异处 如果要比较的范围在DS内,则段地址不必指出: 如:-C 0 4 100;比较DS:0_DS:4与DS:100_DS:104 C命令的另一种格式如下:C地址1 L长度 地址2 如:-C0000:0 L4 0 ;由0000:0与DS:0开始比较 它同-C0000:0 3 0 命令相等,显示结果如下: 0000:0000 8A C0 08F1:0000 0000:0001 10 20 08F1:0001 0000:0002 1C 00 08F1:0002 0000:0003 49 7F 08F1:0003它们都比较4个字节 4.“D”命令:将指定内存区内容列出 格式 D范围 D命令可以列出指定内存内容,并分别以十六进制及ASCII 字符显示出来, 其中在ASCII字符区,英文字母及数字分别在十六进制区用41-5A和30-39表示大写A-Z和0-9,61-7A表示小写a-z,用D命令时,其列出内存内容的第8到第9之间有一个减号“-”连接,以方便观察。 例:-d10,4f 即为显示DS:10-DS:4F的内存内容 在D命令中如不指出段地址,则其默认为DS段。 如指明段地址,则从指明的段地址列出指定的范围 如:-dffff:00,0f 我们也可以指定长度来列出所需要内存内容 如:-d 100 L20即为显示由DS:100-DS:11F的内容,共20H个字节: 若没有指定范围,则会从上一个D命令所显示的最后的地址接干来显示128个字节,即7FH个。 5.“E”命令:修改内存内容的命令 格式:E起始地址数据行 (1) 用给定内容代替指定范围的单元内容 -E 地址 内容表 例:-E100 41 42 43 44 48 47 46 45 -D 100,L08 08F1:0100 41 42 43 44 48 47 46 45 ABCDHGFE (2) 逐个内存内容 例:-E 100: 08F1:0100 76 42 :42是操作员键入 此命令是将原100号内存内容76修改为42,用D命令可察看 6.“F”命令:将数据填入指定的范围 格式:F范围 数据行 说明:F命令将数据行填入F所设定的范围内,如果数据未能一次填范围,则其会重复地填入,直至填满。 例:-f100 120 61 62 63 64 -d100 11f 08F1:0100 61 62 63 64 61 62 63 64 -61 62 63 64 61 62 63 abcd abcd abcd abcd 08F1:0110 13 67 98 E3 C8 2E B3 B6 -03 21 AC 19 31 21 4E 96 g.l. 如果数据行超出指定的范围,则填不下的数值会被忽略。 例:-f 100 l07 41 43 43 44 45 46 47 48 49 4A 4B 4C 4D -d 100,lof 08F1:0100 41 42 43 44 45 46 47 64 -61 62 63 64 61 62 63 64 ABCDEFGdabcdabcd 由上例可看出,超出范围的数据被忽略 另外,F和E命令都可填入字符串: 如:-F 100 105 “MSDOS” -d 100 lof 08F1:0100 4D 53 44 4F 53 46 47 64 -61 62 63 64 61 62 63 64 MS DOS FGabcd abcd 7.“G”命令:运行机器码程序 格式:-G=起始地址中断点1 例:A:debug tan.exe -u:反编译成汇编语言程码 . . . -g 100指定中断点 Program terminated normally: 另外:我们在DEBUG 下可运行一个文件.EXE 如:A:debug tan.exe -g 即可开始运行此程序,和在DOS下完全一样: 8.“H”命令:以十六进制计算两个数的和与差。 格式:H 数值1 数值2 例:-h 4538 5623 9B5B EF15 - 9.“I”命令:显示I/O端口数据 格式:I I/O端口地址 例:-i 70 F9 ;显示70端口的内容为F9 I命令可由80X86的64K个端口取数据 10.“L”命令:将文件或扇区的数据装入内存 格式:L装入地址驱动器名 起始/扇区/扇区数 (1) 格式1. L装入地址 驱动器名 起始扇区/扇区数 这种方式可把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中,在此外扇区编号引用逻辑/扇区的方式。 例:-L 100 0 01 ,将A驱的0扇区装至CS:100上 -d 100 10f 08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00 .L.MSDOS 6.22 (2) 格式2: L装入地址 这种方式可把指定文件装入内存,装入的文件可在进入DEBUG时指定亦可用N命令建立,格式为-n文件名: 例1 DEBUG tan.pas -L 100 例2 DEBUG -n tan.pas -L 100 须知:L命令只能读取逻辑扇区,不能读取硬盘分区表 L 命令中所用的磁盘代码A=00,B=01,C=02. 11.“M”命令:移动内存中数据 格式:M范围 目的地址 M命令将指定的范围移到目的地址上,其实M命令做的不是移动而是拷贝的动作,经移动的源地址和目的地址内容一样。 例:-e100 41 42 43 44 45 -d100 l0f 08F1:0100 41 42 43 44 45 62 63 64-61 62 63 64 61 62 63 64 ABCDEBCDABCDABCD -M 100 104 110 -d110 L1F 08F0:0100 41 42 43 44 45 0A 21 19-20 01 01 20 07 96 87 9F ABCDE. 12.“N”命令:命名命令 格式:N 路径名1 路径名2 说明:我们在运行程序侦错时,在启动DEBUG 时在其后加文件程序名以及该程序的参数或运行文件,但当我们侦错一段后,可能装入其它文件来测试,这时我们可利用N命令来设置而无需退出DEBUG。 例:A:DEBUG tan.exe -n yong.pas 当程序侦错一段时间后,若要把tan.exe装入tan1.pas则用-n tan1.pas 即可 13.“O”命令:将1个字节的数据送往I/O端口地址 格式:O输出地址数据 例:当我们遇到开机要求输入口令时,可用如下方式取消 -O 70 10 -O 71 00 14.“P”命令:运行指定地址上的程序,指定指令个数格式:P=地址指个数 P命令和T一样选用来跟踪程序运行过程用的命令,我们可以在P命令中指定程序运行的起始地址,指令个数,如未指定则从CS:IP所指定的地址开始一次运行一条指令。 P与T命令的差别在于P命令把CALL/INT当成一条指令来执行,简化了跟踪过程,P命令只运行RAM内存的命令,而T命令则可运行RAM和ROM里的程序。 15.“R”命令:显示及更改寄存器值。 格式:R寄存器名 在R指令后加入寄存器名,则DEBUG会单独显示此寄存器名并等待输入新值,若不想改变则回车即可。 例:-r bx bx 0050 :51 -r AX=0000 BX=0051 CX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0003 ES=0CD3 SS=0CD3 1P=0100 NV UP EI PL NZ NA PO NC 0CD3:0100 0F DB OF 若想改变标志寄存器,用-RF回车,则DEBUG会将标志内容显示出来,若想改变任一标志,只要输入该标志的名称即可。 标志名称 设置 未设置 标志名称 设置 未设置 溢出 OV(溢出) NV(未溢出) 零位 ZR NZ(不等于零) 方向 DN(减少) UP(增加) 辅助进位 AC NA(无进位) 中断 EI(许可) DI(禁止) 奇偶标志 PE(偶) PO(奇) 符号 NG(负) PL(正) 进位 CY NC(清除进位) 例:-Rf NV UP EI PL NZ NA PO NC:- OV DI输入值 16.“S”命令:从指定的内存区找出指定的数据。 格式:S内存 字符串(数据行) 在此内存可以用(起始地址)(终止地址)或(起始地址)L(长度)的方式来表示, 而字符串与数据行则可混合使用:如:02 76“BC”。 例:-d100 lof 08F1:0100 OF 2A 41 43 0B 31 42 96 -FF F0 7F B9 8A F3 00 B1 . AC. 1B. -S 100 lofAC 08F1:0102 表示找到,由0102开始, 17.“T”命令;跟踪程序运行 格式:T=起始地址运行次数 (1) 逐条指令跟踪 -T=起始地址 从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值,如来指定地址则从当前CS:1P开始执行。 A:DEBUG -A 08F1:0100 MOV DL,03H 08F1:0102 MOV AH,02H 08F1:0104 INT 21H 08F1:0106 INT 20H 08F1:0108 -T AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=08F1 ES=08F1 SS=08F1 CS=08F1 1P=0105 NV UP EI PL NZ NA PO CY 08F1:0102 B402 MOV AH,02 若指定起始地址,则T命令会从指定的地址开始跟踪, 我们还可以指定跟踪一次所运行指令的个数,用Ctrl+S可暂停屏幕的显示,以便观察。 -t=100 10;由CS:100开始跟踪10条指令 18.“u”命令:反汇编命令: 格式:u内存范围或地址 (1) 从指定地址开始编译,反汇编32个字节 -U地址从CS:100开始,共反汇编32个字节 如果地址被省略,则从上一个U命令的最后一条指令的下一条单元开始反汇编32 个字节。 (2) 对指定的存贮范围进行反汇编 -u 起始地址 终止地址(L长度) 例:-U 100 109

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论