防范电脑病毒的知识大全

JavaScript014

防范电脑病毒的知识大全,第1张

计算机病毒是指编制者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。下面就让我带你去看看哪些防范电脑病毒的 知识大全 吧,希望能帮助到大家!

计算机病毒

计算机病毒是指编制或者在计算机程序中插入的,破坏计算机功能或数据、影响计算机使用, 并能自我复制的一组计算机指令或者程序代码。

1.计算机病毒的特点

电脑病毒的主要特点如下。

(1)隐蔽性

电脑病毒的隐蔽性使得人们不容易发现它,例如有的病毒要等到某个月13日且是星期五才发作,平时的日子不发作。一台电脑或者一张软盘被感染上病毒一般是无法事先知道的,病毒程序是一个没有文件名的程序。

(2)潜伏性

从被感染上电脑病毒到电脑病毒开始运行,一般是需要经过一段时间的。当满足病毒发作的指定环境条件时,病毒程序才开始发作。

(3)传染性

电脑病毒程序的一个主要特点是能够将自身的程序复制给其他程序(文件型病毒),或者放入指定的位置,如引导扇区(引导型病毒)。

(4)欺骗性

每个电脑病毒都具有特洛伊木马的特点,用欺骗手段寄生在其他文件上,一旦该文件被加载,就会让病毒发作并破坏电脑的软、硬件资源,迫使电脑无法正常工作。

(5)危害性

病毒的危害性是显然的,几乎没有一个无害的病毒。它的危害性不仅体现在破坏系统,删除或者修改数据方面,而且还要占用系统资源,干扰机器的正常运行等。

2.计算机病毒的分类

2.1按传染方式分类

病毒按传染方式可分为:

1).引导区电脑病毒

2).文件型电脑病毒

3).复合型电脑病毒

4).宏病毒

5).木马

6).蠕虫

1).引导区电脑病毒:

隐藏在磁盘内,在系统文件启动以前电脑病毒已驻留在内存内。这样一来,电脑病毒就可完全控制DOS中断功能,以便进行病毒传播和破坏活动。那些设计在DOS或Windows3.1上执行的引导区病毒是不能够在新的电脑 操作系统 上传播。

2).文件型电脑病毒

又称寄生病毒,通常感染执行文件(.E__E),但是也有些会感染 其它 可执行文件,如DLL,SCR等。每次执行受感染的文件时,电脑病毒便会发作(电脑病毒会将自己复制到其他可执行文件,并且继续执行原有的程序,以免被用户所察觉)。

典型例子:CIH会感染Windows95/98的.E__E文件,并在每月的26号发作日进行严重破坏。于每月的26号当日,此电脑病毒会试图把一些随机资料覆写在系统的硬盘,令该硬盘无法读取原有资料。此外,这病毒又会试图破坏FlashBIOS 内的资料。

3).复合型电脑病毒:

具有引导区病毒和文件型病毒的双重特点。

4).宏病毒:

宏病毒专门针对特定的应用软件,可感染依附于某些应用软件内的宏指令,它可以很容易透过电子邮件附件、软盘、文件下载和群组软件等多种方式进行传播如Microsoft Word和E__cel。

与其他电脑病毒类型的区别是宏病毒是攻击数据文件而不是程序文件。

5).特洛伊或特洛伊木马

是一个看似正当的程序,但事实上当执行时会进行一些恶性及不正当的活动。特洛伊可用作黑客工具去窃取用户的密码资料或破坏硬盘内的程序或数据。

特洛伊木马与电脑病毒的重大区别是特洛伊木马不具传染性,它并不能像病毒那样复制自身,也并不"刻意"地去感染其他文件,它主要通过将自身伪装起来,吸引用户下载执行。

6).蠕虫:

一般认为:蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性、隐蔽性、破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合,等等。

根据使用者情况将蠕虫病毒分为两类:一种是面向企业用户和局域网而言这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网可造成瘫痪性的后果。另外一种是针对个人用户的,通过网络(主要是电子邮件、恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒、求职信病毒为代表。

蠕虫病毒的传染目标是互联网内的所有计算机,局域网条件下的共享文件夹、电子邮件Email、网络中的恶意网页、大量存在着漏洞的服务器等。

它跟电脑病毒有些不同,电脑病毒通常会专注感染其它程序,但蠕虫是专注于利用网络去扩散。

2.2按连接方式分类

病毒按连接方式分为源码型病毒、入侵型病毒、操作系统型病毒、外壳型病毒等四种。

(1) 源码型病毒

该病毒攻击高级语言编写的程序,该病毒在高级语言所编写的程序编译前插入到原程序中,经编译成为合法程序的一部分。

(2)嵌入型病毒

这种病毒是将自身嵌入到现有程序中,把计算机病毒的主体程序与其攻击的对象以插入的方式链接。这种计算机病毒是难以编写的,一旦侵入程序体后也较难消除。如果同时采用多态性病毒技术,超级病毒技术和隐蔽性病毒技术,将给当前的反病毒技术带来严峻的挑战。

(3)外壳型病毒

外壳型病毒将其自身包围在主程序的四周,对原来的程序不作修改。这种病毒最为常见,易于编写,也易于发现,一般测试文件的大小即可知。

(4)操作系统型病毒

这种病毒用它自已的程序意图加入或取代部分操作系统进行工作,具有很强的破坏力,可以导致整个系统的瘫痪。圆点病毒和大麻病毒就是典型的操作系统型病毒。

这种病毒在运行时,用自己的逻辑部分取代操作系统的合法程序模块,根据病毒自身的特点和被替代的操作系统中合法程序模块在操作系统中运行的地位与作用以及病毒取代操作系统的取代方式等,对操作系统进行破坏。

2.3按照计算机病毒激活的时间分类

按照计算机病毒激活时间可分为定时的和随机的。定时病毒仅在某一特定时间才发作,而随机病毒一般不是由时钟来激活的。

2.4按照传播媒介分类

按照计算机病毒的传播媒介来分类,可分为单机病毒和网络病毒。

(1)单机病毒

单机病毒的载体是磁盘,常见的是病毒从软盘传入硬盘,感染系统,然后再传染其他软盘,软盘又传染其他系统。

(2)网络病毒

网络病毒的传播媒介不再是移动式载体,而是网络通道,这种病毒的传染能力更强,破坏力更大。

2.5按照寄生方式和传染途径分类

计算机病毒按其寄生方式大致可分为两类,一是引导型病毒,二是文件型病毒它们再按其传染途径又可分为驻留内存型和不驻留内存型,驻留内存型按其驻留内存方式又可细分。混合型病毒集引导型和文件型病毒特性于一体。

2.6按病毒的特性分类

Trojan--特洛伊木马,有这个前缀的就是木马了,在此类病毒名中有PSW或者什么PWD之类的一般都表示这个病毒有盗取密码的功能。比如 Trojuan.qqpass.a。

Win32 PE Win95 W32 W95--系统病毒,特性是可以感染windows操作系统的 __.e__e 和 __.dll 文件。

Worm--蠕虫病毒,通过网络或者系统漏洞进行传播。比较著名的有冲击波。

Script--脚本病毒 一般来说,脚本病毒还会有如下前缀:VBSJS(表明是何种脚本编写的)比如欢乐时光。

Backdoor--后门病毒,特性是通过网络传播,给系统开后门,最著名的就是灰鸽子为代表。

Dropper-- 种植 程序病毒,特性是运行时会从体内释放出一个或几个新的病毒到系统目录下,代表就是落雪了。

Joke--玩笑病毒 ,只是吓吓人而已,没什么危害。

HackTool--黑客工具。

Downloader--木马下载者,以体积小的下载者下载体积大的木马,方便隐藏。

AdWare-- 广告 病毒,监视你在上网时的一举一动,然后把信息反馈到用它的公司。

3.计算机病毒程序结构

3.1引导模块

病毒引导模块的主要作用是将静态病毒激活,使之成为动态病毒(加载)。

病毒程序的加载分为两个步骤:一是系统加载过程二是病毒附加的加载过程。病毒程序选择的加载点、目标多是计算机的固有弱点或软件系统的输入节点。

病毒程序的加载受到操作系统的制约。DOS系统下,病毒程序的加载有3种方式:①参与系统启动过程②依附正常文件加载③直接运行病毒程序

DOS系统下,病毒的加载过程,主要由3个步骤组成:

(1)开辟内存空间

(2)病毒体定位和驻留

其中驻留内存的 方法 有以下几种:

① 减少DOS系统可分配空间

② 利用系统模块间的空隙和DOS间隙

③利用功能调用驻留内存

④占用系统程序使用空间(又称程序覆盖方法)

一般Windows环境下的病毒有3种方法驻留内存:一是将病毒作为一个Windows环境下的应用程序,拥有自己的窗口(隐藏的)和消息处理函数二是使用DPMI申请一块系统内存,将病毒代码放入其中三是将病毒作为一个V__D(WIN 9__下的设备驱动程序)或VDD(WIN2000/NT下的设备驱动程序)加载到内存中运行。

(3)恢复系统功能

3.2感染模块

感染模块主要完成病毒的动态感染,是各种病毒必不可少的模块。病毒在取得对系统的控制权后,先执行它的感染操作中的条件判断模块,判断感染条件是否满足,如果满足感染条件,进行感染,将病毒代码放入宿主程序然后再执行其他的操作(如执行病毒的表现(破坏)模块),最后再执行系统正确的处理,这是病毒感染经常采取的手段之一。

感染标记又称病毒签名,表明了某种病毒的存在特性,往往是病毒的一个重要的感染条件。感染标记是一些具有唯一不变性的数字或字符串,它们以ASCII码方式存放在程序里的特定位置。感染标记可以存在于病毒程序的任何一点,也有可能是组合在程序中的代码。感染标记是由病毒制造者有意设置的,但也可以不设置标记。不同病毒的感染标记位置不同、内容不同。病毒程序感染宿主程序时,要把感染标记写入宿主程序,作为该程序已被感染的标记。

病毒在感染健康程序以前,先要对感染对象进行搜索,查看它是否带有感染标记。如果有,说明它已被感染过,就不会再被感染如果没有,病毒就会感染该程序。

病毒的感染目标和感染方式

就目前出现的各种计算机病毒来看,其寄生目标有两种:

一种是寄生在磁盘(主)引导扇区(利用转储或直接存取扇区的方法,此方法还可将病毒驻入磁盘的文件分配表、文件目录区和数据存储区等,常利用INT 13H中断)

另一种是寄生在可执行文件(如.E__E,.COM, .BAT, .SYS, .OVL, .DLL,.V__D文件等)中 。

而近来常被感染的一些数据文件(主要是微软的办公软件系统,Word文档、数据表格、数据库、演示文档等等)其实也是可以看作一种特殊的可执行文件(宏) 。

文件型病毒常利用INT 21H中断来感染可执行文件,病毒的感染通常采用替代法、链接法和独立存在法

病毒的感染机制

病毒在不同的载体上感染的机制不同。网络上或系统上的感染是利用网络间或系统间的通信或数据共享机制实现的。存储介质(软盘、硬盘或磁带等)或文件间的感染一般利用内存作为中间媒介,病毒先由带毒介质或文件进入内存,再由内存侵入无毒介质或文件。

病毒从内存侵入无毒介质,经常利用操作系统的读写磁盘中断向量入口地址或修改加载机制(例如INT l3H或INT 21H),使该中断向量指向病毒程序感染模块。内存中的病毒时刻监视着操作系统的每一个操作,这样,一旦系统执行磁盘读写操作或系统功能调用,病毒感染模块就会被激活,感染模块在判断感染条件满足的条件下,把病毒自身感染给被读写的磁盘或被加载的程序,实施病毒的感染,病毒被按照病毒的磁盘储存结构存放在磁盘上,然后再转移到原中断服务程序执行原有的操作。另外还有被动感染。

3.3表现(破坏)模块

表现(破坏)模块主要完成病毒的表现或破坏功能。

它的发作部分应具备两个特征:程序要有一定的隐蔽性及潜伏性,病毒发作的条件性和多样性。

计算机病毒的破坏和表现模块一般分为两个部分:一个是破坏模块的触发条件的判断部分一个是破坏功能的实施部分。

和病毒的感染模块一样,破坏模块可能在病毒程序第一次加载时就运行,也可能在第一次加载时只将引导模块引入内存,以后再通过某些中断机制触发才运行。破坏机制在设计原则上也与感染机制基本相同。

4.DOS基本系统知识

DOS系统基本程序模块由以下几个部分组成(以MS-DOS为例):

(1)引导程序(BOOT)。它驻留在系统盘的0面0道1扇区,在启动计算机时,它首先被自动读入内存,然后由它负责把DOS的其他程序调入内存。

(2)BOM中的ROMBIOS。它提供对计算机输入/输出设备进行管理的程序,被固化在主机板上的ROM中,是计算机硬件与软件的最低层的接口。

(3)输入输出管理IO.SYS模块。其功能是初始化操作系统,并提供DOS系统与ROM BIOS之间的接口。

(4)核心MSDOS.SYS模块。它主要提供设备管理、内存管理、磁盘文件及目录管理的功能,这些功能可以通过所谓的系统功能调用INT 21H来使用,它是用户程序与计算机硬件之间的高层软件接口。

(5)命令处理COMMAND.COM模块。它是DOS调入内存的最后一个模块,它的任务是负责接收和解释用户输入的命令,可以执行DOS的所有内、外部命令和批命令。它主要由3部分组成:常驻部分、初始化部分和暂驻部分。

DOS的启动过程主要有以下一些步骤:

(1)在系统复位或加电时,计算机程序的指令指针自动从内存地址0FFFF:0000H外开始执行,该处含有一条无条件转移指令,使控制转移到系统的ROM板上,执行ROM BIOS中的系统自检和最初的初始化工作程序,以及建立INT 1FH以前的中断向量表。如果自检正常,则把系统盘上存于0面0道1扇区的系统引导记录读入内存地址0000:7000H,并把控制权交给引导程序中的第一条指令。

(2)引导记录用于检查系统所规定的两个文件IO.SYS和MSDOS.SYS是否按规定的位置存于启动盘中,如符合要求就把它们读入内存地址0060:0000H,否则启动盘被认为不合法,启动失败。

(3)IO.SYS与MSDOS.SYS被装入内存以后,引导记录的使命即完成,控制权交给IO.SYS,该程序完成初始化系统、定位MSDOS.SYS以及装入COMMAND.COM等工作。

其主要过程是:

①建立新的磁盘基数表并修改INT lEH向量地址指向该磁盘基数表。

②初始化异步通信口R5-232和打印机口。

③修改0lH,03H,04H和1BH中断入口。

④调用INT 11H及INT l2H确定系统的硬件配置和内存RAM容量。

⑤将系统初始化程序移到内存高端并将MSDOS.SYS程序下移占据其位置。

⑥控制权交给MSDOS.SYS。MSDOS.SYS是DOS的核心部分,它在接受控制以后,也进行一系列的初始化工作,这些工作包括:初始化DOS内部表和工作区、初始化DOS的中断向量20H~2EH、建立磁盘输入/输出参数表以及设置磁盘缓冲区和文件控制块等。完成这些工作以后,继续执行IO.SYS的系统初始化程序。

⑦初始化程序检查系统盘上的系统配置程序CONFIG.SYS,如果存在,则执行该程序,按配置命令建立DOS的运行环境:设置磁盘缓冲区大小、能同时打开的句柄文件个数、加载可安装的设备驱动程序等。

⑧将命令处理程序COMMAND.COM程序装入内存,并把控制权交给该程序。至此IO.SYS文件的使命即告完成。

(4)命令处理程序在接受控制以后,重新设置中断向量22H、23H、24H和27H入口地址,然后检查系统盘上是否存在AUTOE__EC.BAT文件。若系统盘上不存在该文件,则显示日期和时间等待用户输入,显示DOS提示符。若存在该文件,则程序转入暂驻区,由批处理程序对其进行解释和执行,执行完成后显示DOS提示符。至此,DOS的整个启动过程全部结束,系统处于命令接受状态。

DOS启动后,内存的组织即分配如图2.6所示,该图仅说明了DOS在基本内存(640KB)运行时的内存分配状态。在计算机通常的工作方式(实方式)下,总体上来说,DOS可以管理的内存空间为1 MB。此lMByte空间可分为两大部分,一部分是RAM区,另一部分则是ROM区。而RAM区又分为系统程序、数据区和用户程序区两部分。由于DOS的版本不同,DOS系统文件的长度就不同,从而驻留在内存中的系统程序占用的内存空间也就不同,这样用户程序区的段地址就是一个不确定的值。

从内存绝对地址0040:0000H~0040:00FFH开始存放一些重要的数据,这些数据是由ROM BIOS程序在引导过程中装入的,记录了有关系统的设备配置和存储单元的系统参数,它们是提供给ROM BIOS例行程序在进行设备操作时必备的重要数据。其中地址为40:13~40:14的两个字节存放了以lKB为单位的内存总容量(含存储扩展板容量),例如640 KB RAM为280H。有些病毒程序通过调入内皴高端并修改40:13~40:14内存而驻留内存地址为40:6C~40:6F的4个字节为时钟数据区前两个字节(40:6C~40:6D)为0~65535之间的一个数,由8253定时器每55 ms调1NT 8H使数值加1后两个字节(40:6E~40:6F)为小时数,当计数值满65 535时(恰好1小时),小时数加1。病毒常通过调用这一时钟数据来检测激活的时机是否成熟。

你get到这些防范电脑病毒知识点吗?

咱们日常学习生活中经常使用电脑,信商的好多小伙伴大都经历过电脑中病毒的烦恼。含有电脑的实验室,老师们也不建议同学们带优盘拷贝东西,就是怕电脑中病毒影响大家日常上课。为了大家的信息安全和安全上网,今天我就来给大家讲解一下计算机病毒的相关知识。如果对你有帮助,别忘了 文章 最后赞赏一下呦!

知识点,圈起来

也许我们曾听人说过:“电脑有病毒了,赶紧找杀毒软件!”电脑又不是动物和人类,它怎么会有病毒呢?

电脑病毒是由人所编写的,存在电脑中的一种短小、特殊的程序,这种程序平时处于“安静”状态,并不马上发作,在一定情况下,它就会发作,对电脑系统造成破坏。例如,小球病毒就是一种电脑病毒,它发作时,会出现许多跳跃的小球,再提示“你的电脑成为石头!”接着,电脑中的数据就慢慢被破坏掉了。使计算机无法启动。另外,蠕虫病毒能通过网络邮件系统快速自动扩散传播,在短时间内造成大面积网络阻塞或造成世界的互联网络瘫痪。有一些病毒还可以通过网络任意控制你的计算机,并获得重要文件等等。电脑病毒能够像生物病毒一样,在许多电脑之间传播,危害极大。电脑可以通过软件盘、网络传播,使电脑“生病”。

预防与防护

1、如何预防电脑中病毒?

安装杀毒软件及网络防火墙,及时更新病毒库。

不随意安装不知晓的软件。

不去安全性得不到保障的网站 。

从网络下载后及时杀毒。

关闭多余端口,做到使电脑在合理的使用范围之内。

关闭IE安全中的ACTIVE__运行,好多网站都是使用它来入侵你的电脑。

如果有条件,尽量使用非IE内核的浏览器,如OPERA。

不要使用修改版的软件,如果一定要用,请在使用前查杀病毒&木马,以确保安全。

2、中勒索病毒怎么办?

Win7、Win8、Win10的处理流程:

打开控制面板-系统与安全-Windows防火墙,点击左侧启动或关闭Windows防火墙。

选择启动防火墙,并点击确定。

点击高级设置。

点击入站规则,新建规则。

选择端口,下一步。

特定本地端口,输入445,下一步。

选择阻止连接,下一步。

配置文件,全选,下一步。

名称,可以任意输入,完成即可。

3、中其他病毒怎么办?

(1)电脑还可以运行。

1. 如果电脑中毒后,可以正常运行,那么就千万不要再去进行登录什么账号或者是修改密码等操作,应该及时的使用电脑杀毒软件给你的电脑杀毒。

2. 然后等待杀毒完成后,一定要重启电脑,因为大多数病毒都是在重启后,才会彻底清除的,重启完成后,再去修改你中毒期间用过的账号密码。

(2)电脑无法正常运行。

1.如果中毒后,电脑出现无法正常运行的情况,例如说程序打不开,电脑 键盘鼠标 被锁定 死机 ,那么一定要及时的拔出的你网线,用无线路由器的直接关闭路由器。

2.然后重启电脑的过程中,不停按F8进入网络安全模式,然后再去正常连接网络,下载电脑中的杀毒软件,给你的电脑杀毒就可以了。

3.或者直接重装系统,然所有盘的都格式化一遍。

计算机病毒知识

繁殖性:计算机病毒可以像生物病毒一样进行繁殖。

破坏性:计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏。

传染性:计算机病毒传染性是指计算机病毒通过修改别的程序将自身的复制品或其变体传染到其它无毒的对象上。

潜伏性:计算机病毒潜伏性是指计算机病毒可以依附于其它媒体寄生的能力,侵入后的病毒潜伏到条件成熟才发作。

隐蔽性:计算机病毒具有很强的隐蔽性,可以通过病毒软件检查出来少数,隐蔽性使计算机病毒时隐时现、变化无常,这类病毒处理起来非常困难。

可触发性:编制计算机病毒的人,一般都为病毒程序设定了一些触发条件,例如,系统时钟的某个时间或日期、系统运行了某些程序等。

常见计算机病毒

01

木马/僵尸网络

有些也叫作远程控制软件,如果木马能连通的话,那么可以说控制者已经得到了远程计算机的全部操作控制权限,操作远程计算机与操作自己计算机基本没什么大的区别。

02

蠕虫病毒

蠕虫病毒利用系统漏洞,通过网络和电子邮件传播,蠕虫病毒是自包含的程序(或是一套程序),与一般病毒不同,蠕虫不需要将其自身附着到宿主程序。比如“熊猫烧香”以及其变种都是蠕虫病毒。

03

脚本病毒

脚本病毒通常是脚本语言代码编写的恶意代码,一般带有广告性质,会修改浏览器首页、修改注册表等信息,造成用户使用计算机不方便。

04

宏病毒

宏病毒的感染对象为 Microsoft 开发的办公系列软件。Word、E__cel 这些办公软件本身支持运行可进行某些文档操作的命令,所以也被 Office 文档中含有恶意的宏病毒所利用。

05

文件型病毒

文件型病毒通常寄居于可执行文件(扩展名为.e__e 或.com 的文件),当被感染的文件被运行,病毒便开始破坏电脑。

06

勒索病毒

勒索病毒,是一种新型电脑病毒,这种病毒利用各种加密算法对文件进行加密,被感染者一般无法解密,必须拿到解密的私钥才有可能破译。该病毒性质恶劣、危害极大,一旦感染将给用户带来无法估量的损失。

勒索病毒主要通过漏洞、邮件、程序木马、网页挂马的形式进行传播。也可以通过移动设备传播。

传播途径和清除方式

计算机病毒主要通过:移动存储设备、计算机网络、电子邮件来进行传播。

清除方式:使用杀毒软件、手工清除、格式化存储设备、重装系统。

防范电脑病毒的知识大全相关文章:

★ 【病毒预防】:计算机病毒的基础知识介绍

★ 电脑安全设置及防护

★ 网络安全知识内容

★ Linux防范病毒的方法有哪些?一般需要我们怎么做?

★ 电脑中了病毒如何解决

★ 2020预防春季常见传染病小常识分享

★ 预防新型冠状病毒

★ 最新2020预防新型冠状病毒口诀大全

★ 网络安全知识主题班会教案最新2020精选5篇

★ 网络安全知识教案设计5篇精选大全

秒表的设计程序

用89C51,外接晶振,复位电路,二个数码管,二个按键,做一个电子秒表,具体要求为用按键起停电子表,可用按键设计倒计时时间(如10S,20S,60S),并启动倒计时功能。能用按键选择以上两功能之一。

三、程序代码:

A_BIT EQU 20H 数码管个位数存放内存位置

B_BIT EQU 21H 数码管十位数存放内存位置

TEMP EQU 22H 计数器数值存放内存位置 开机初始化

MOV P3,#0FFH对P3口初始化,设置为高电平,用于按键输入

MOV P0,#0FFH使显示时间数码管熄灭

CLR F0

CLR F1

MOV DPTR,#NUMTAB 指定查表启始地址

等待按键输入

根据按键的输入判断执行什么功能按键1按下则执行功能1

MOV P3,#0FFH对P3口初始化,设置为高电平,用于按键输入

MOV P0,#0FFH使显示时间数码管熄灭

START:JB P3.6,START1循环判断开始按钮K1是否按下?

ACALL DELAY10延时10毫秒触点消抖

JB P3.6,START如果是干扰就返回

JNB P3.6,$等待按键松开

LJMP GN1 按键2按下则执行功能2START1: JB P3.7,START循环判断开始按钮K2是否按下?

ACALL DELAY10延时10毫秒触点消抖

JB P3.7,START1如果是干扰就返回

JNB P3.7,$

LJMP GN2数码管显示秒表时间的程序

GN1:先初始化

S1:MOV A,#0

MOV TEMP,A

GOON1: MOV R2,#2

JS1: MOV R3,#250

TIME1: MOV A,TEMP 将TEMP中的十六进制数转换成10进制

MOV B,#10 10进制/10=10进制

DIV AB

MOV B_BIT,A 十位在A

MOV A_BIT,B 个位在B LCALL DPLOP1插入一段判断定时过程中是否有按键输入的程序段

C1: JB P3.6,B1

ACALL DELAY10延时10毫秒消抖

JB P3.6,C1

JNB P3.6,$等待按键松开

CPL F0

ZT1: MOV P3,#0FFH对P3口初始化,设置为高电平,用于按键输入

JB P3.6,$循环判断开始按钮K1是否按下?

ACALL DELAY10延时10毫秒触点消抖

JB P3.6,ZT1如果是干扰就返回

JNB P3.6,$等待按键松开

LCALL DPLOP1

B1: JB P3.7,LOOP1

ACALL DELAY10延时10毫秒消抖

JB P3.7,B1

JNB P3.7,$等待按键松开

AJMP OVERLOOP1: DJNZ R3,TIME1 2毫秒循环执行250次,时间约0.5秒

DJNZ R2,JS1 循环执行2次,时间为1 秒钟INC TEMP满一秒钟对时间加1

MOV A,TEMP

CLR C

SUBB A,#60

JNZ GOON1判断TEMP的数值是否为60?不为60循环

ACALL OVER

RET

GN2: MOV A,#14H 设定倒计时的时间20S

MOV TEMP,A数码管显示倒计时时间的程序

初始化

MOV P3,#0FFH对P3口初始化,设置为高电平,用于按键输入

MOV P0,#14H使显示时间为设定的倒计时时间 GOON2: MOV R2,#2

JS2: MOV R3,#250

TIME2: MOV A,TEMP 将TEMP中的十六进制数转换成10进制

MOV B,#10 10进制/10=10进制

DIV AB

MOV B_BIT,A 十位在A

MOV A_BIT,B 个位在BMOV DPTR,#NUMTAB 指定查表启始地址

DPLOP2: MOV A,A_BIT 取个位数

MOVC A,@A+DPTR 查个位数的7段代码

MOV P0,A 送出个位的7段代码

CLR P2.5 开个位显示

ACALL DELY1显示1毫秒

SETB P2.5关闭个位显示,防止鬼影

MOV A,B_BIT 取十位数

MOVC A,@A+DPTR 查十位数的7段代码

MOV P0,A 送出十位的7段代码

CLR P2.6 开十位显示

ACALL DELY1显示1毫秒

SETB P2.6关闭十位显示,防止鬼影插入一段判断定时过程中是否有按键输入的程序段

C2: JB P3.6,B2

ACALL DELAY10延时10毫秒消抖

JB P3.6,C2

JNB P3.6,$等待按键松开

ZT2:MOV P3,#0FFH对P3口初始化,设置为高电平,用于按键输入

JB P3.6,$循环判断开始按钮K1是否按下?

ACALL DELAY10延时10毫秒触点消抖

JB P3.6,ZT2如果是干扰就返回

JNB P3.6,$等待按键松开

B2: JB P3.7,LOOP2

ACALL DELAY10延时10毫秒消抖

JB P3.7,B1

JNB P3.7,$等待按键松开

AJMP OVERLOOP2: DJNZ R3,TIME2 2毫秒循环执行250次,时间约0.5秒

DJNZ R2,JS2 循环执行2次,时间为1 秒钟DEC TEMP满一秒钟对时间减1

MOV A,TEMP

JNZ GOON2判断TEMP的数值是否为0?不为0循环

ACALL OVER

RET

结束定时

OVER: AJMP START退到开机初始化状态1毫秒延时子程序

DELY1: MOV R4,#2

D1:MOV R5,#248

DJNZ R5,$

DJNZ R4,D1

RET10毫秒延时子程序

DELAY10: MOV R4,#20

D2:MOV R5,#248

DJNZ R5,$

DJNZ R4,D2

RET实验板上的两位一体的数码管0~9各数字的显示代码

NUMTAB: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H

DPLOP1: MOV A,A_BIT 取个位数

MOVC A,@A+DPTR 查个位数的7段代码

MOV P0,A 送出个位的7段代码

CLR P2.5 开个位显示

ACALL DELY1显示1毫秒

SETB P2.5关闭个位显示,防止鬼影

MOV A,B_BIT 取十位数

MOVC A,@A+DPTR 查十位数的7段代码

MOV P0,A 送出十位的7段代码

CLR P2.6 开十位显示

ACALL DELY1显示1毫秒

SETB P2.6关闭十位显示,防止鬼影

RET

END

哈哈,太多了

汇编命令详解

名称 解释 格式

a (Assemble) 逐行汇编 a [address]

c (Compare) 比较两内存块 c range address

d (Dump) 内存16进制显示 d [address]或 d [range]

e (Enter) 修改内存字节 e address

f (fin) 预置一段内存 f range list

g (Go) 执行程序 g [=address][address...]

h (Hexavithmetic) 制算术运算 h value value

i (Input) 从指定端口地址输入 i pataddress

l (Load) 读盘 l [address [driver seetor>

m (Move) 内存块传送 m range address

n (Name) 置文件名 n filespec [filespec...]

o (Output) 从指定端口地址输出 o portadress byte

q (Quit) 结束 q

r (Register) 显示和修改寄存器 r [register name]

s (Search) 查找字节串 s range list

t (Trace) 跟踪执行 t [=address] [value]

u (Unassemble) 反汇编 u [address ]或range

w (Write) 存盘 w [address[driver sector secnum>

? 联机帮助 ?

debug小汇编a命令

debug小汇编a命令是一个很有用的功能,许多的小程序都要他来做。

编一些小程序比汇编要来得方便,快洁。

在Debug中,中断是非常有用的,首先,让我们先了解一下中断。

所谓中断,其实,就是,当你做某事时,有人过来找你有其他事,你先放下手中的事(计算机中,称为保护现场)

,再去与叫你的那个人办事去,等完了,你又回,接着做刚才的事。这是个很通俗的讲法。

计算机在运行时,也会出现这种情况,我们叫之中断。

下面是他的一些常用中断向量的入口值详解:(记住哦,很用的...呵呵)

IBM PC 中断 int10

ooH 屏幕方式设置

入口:AH=0,AL=显示方式代码(0--6)

0:40*25 黑白

1:40*25 彩色

2:80*25 黑白

3:80*25 彩色文本

4:320*200 彩色

5:320*200 黑白

6:640*200 黑白图形模式

7:80*25 单色字符(单色显示器)

0BH 色彩设置

入口:AH=0B,BL=0 设背景色,BH=0--15 BL=1 设调色码,BH=0--1

0CH 写图形点

入口:AH=0C,CX:DX=列号:行号,AL=颜色

ODH 读图形点

入口:AH=0D,CX:DX=列号:行号

返回:AL=颜色

0EH 在当前页、当前光标处写字符

入口:AH=0E,AL=字符的ASCII码,BL=前景色

OFH 显示器状态

入口:AH=0F

返回:AL=当前显示器方式,AH=屏幕列数,BH=当前页号

01H 光标设置

入口:AH=1,CH=光标起始行号(00--0C),CL=光标结束行号(00--0C)

注:CH > CL

02H 光标定位

入口:AH=2,BH=页号,DH:DL=起始行:列

03H 读光标位置

入口:AH=3,BH=页号。

返回:DH:DL=起始行:列

06H 窗口上卷

入品:AH=6,AL=窗口上卷行数,CH:CL-DH:DL 窗口坐标

注:AL=0 卷动整个窗口

07H 窗口下卷

入口:AH=7,AL=窗口下卷行数,CH:CL-DH:DL 窗口坐标

08H 读当前光标处字符和属性

入口:AH=8,BH=页号。

返回:AH:AL=字符的颜色:字符的ASCII码

注:颜色代码见下对照表

09H:在当前光标处写字符和属性

注:光标不下移

入口:AH=9,BH=页号,BL:AL=字符的颜色:字符的ASCII码,CX=重复次数

1 2 3 4 5 6 7 8

BL R G B I R G B

闪烁 字符底色 加亮 字符颜色

中断向量号表

中断号 解释 中断号 解释

0 除数为0错 19 引导装入程序

1 音步中断 1A 日时调用

2 不可屏蔽中断NMI 1B 键盘阻断时得到控制权

3 断电中断(CCH) 1C 时钟中断时得到控制权

4 溢出中断 1D 指向CRT初始参数表

5 屏幕打印中断 1E 指向盒带参数表

6-7 保留 1F 1KB图形模式

8 计时器中断(18.2秒) 20 结束DOS程序

9 键盘中断 21 DOS功能调用

A-D 保留 22 结束地址(建义用EXEC)

E 软盘机中断 23 DOS Crtl-Break退出地址

F 保留 24 DOS致命错向量

10 屏幕I/O调用 25 DOS绝对磁盘读

11 设备检查调用 26 DOS绝对磁盘写

12 存储器检查调用 27 结束程序并驻留(建义用31h)

13 软盘机I/O调用 28-3F DOS保留

14 RS-233I/O调用 40-7F 未用

15 盒带机I/O调用 80-85 BASIC保留

16 键盘I/O调用 86-F0 BASIC解释程序用

17 打印机I/O调用 F1-FF 未用

18 ROM-BASIC入口

指令名详解

call 指令(过程调用)(控制指令-长转移)

详解:

段内直接调用

段内间接调用(寄存器)

段内间接调用(存储器)

段间直接调用

段间间接调用

指令名

jmp 指令(无条件转移指令)(控制指令-长转移)

详解:

段内直接跳转

短段内直接跳转

段内间接跳转(寄存器)

段内间接跳转(存储器)

段间直接跳转

段间间接跳转

指令名

ret 指令(过程返回)(控制指令-长转移)

详解:

段内返回

段内返回立即数加于sp

段间返回

段间返回立即数加于sp

na/jnbe 指令(控制指令-短转移) 不小于或不等于时转移

jae/jnb 指令 (控制指令-短转移) 大于或等于时转移

jb/jnae 指令 (控制指令-短转移) 小于转移

jbe/jna 指令 (控制指令-短转移) 小于或等 于转移

jg/jnle 指令(控制指令-短转移) 大于转移

jge/jnl 指令 (控制指令-短转移) 大于或等于转移

jl/jnge 指令 (控制指令-短转移) 小于转移

jle/jng 指令 (控制指令-短转移) 小于或等 于转移

je/jz 指令 (控制指令-短转移) 等于转移

jne/jnz 指令 (控制指令-短转移) 不等于转移

jc 指令 (控制指令-短转移) 有进位时转移

jnc 指令 (控制指令-短转移) 列进位时转移

jno 指令 (控制指令-短转移) 不溢出时转移

jnp/jpo 指令 (控制指令-短转移) 奇偶性为奇数时转移

jns 指令 (控制指令-短转移) 符号位为"0"转移

jo 指令 (控制指令-短转移) 溢出转移

jp/jpe 指令 (控制指令-短转移) 奇偶性为偶数时转移

js 指令 (控制指令-短转移) 符号位为"1"时转移

loop 指令 (循环控制指令-短转移) cx 不为0时循环

loope/loopz 指令 (循环控制指令-短转移) cx 不为0且标志 z=1 时循环

loopne/loopnz 指令 (循环控制指令-短转移) cx 不为0且标志 z=0 时循环

jcxz 指令 (循环控制指令-短转移) cx 为0时转移

★int 指令 (中断指令) 中断指令(后详解)

into 指令 (中断指令) 溢出中断

iret 指令 (中断指令) 中断返回

指令名

shl 指令(逻辑左移)

sal 指令(算术左移)

shr 指令(逻辑右移)

sar 指令(算术右移) 寄存器,1

rol 指令(循环左移) 寄存器,cl

ror 指令(循环右移) 存储器,1

rcl 指令(通过进位的循环左移)存储器,cl

rcr 指令(通过进位的循环右移)(逻辑运算)

not 指令(取反运算)寄存器求反

(逻辑运算)存储器求反

and 指令(与运算) (逻辑运算)

寄存器 and 寄存器 寄存器

寄存器 and 存储器 寄存器

存储器 and 寄存器 存储器

立即数 and 存储器 存储器

立即数 and 累加器 累加器

or 指令(或运算)(逻辑运算)

寄存器 or 寄存器 寄存器

寄存器 or 存储器 寄存器

存储器 or 寄存器 存储器

立即数 or 存储器 存储器

立即数 or 累加器 累加器

test 指令(测试) (逻辑运算)

寄存器 test 寄存器

寄存器 test 存储器

寄存器 test 立即数

存储器 test 立即数

累加器 test 立即数

movs 指令(串传送)(字符串操作指令)

单个传送

重复传送

cmps 指令(串比较) (字符串操作指令)

单个比较

重复比较

scas 指令(串扫描)(字符串操作指令)

单个搜索

重复搜索

lods 指令(装入串)

(字符串操作指令)

单个装载

重复装载

stos 指令(保存串) (字符串操作指令)

单个存储

重复存储

mov 指令(传送字或字节)(数据传送命令)

寄存器与寄存器间传送

存储器与寄存器间传送

立即数传送给存储器

立即数传送给寄存器

存储器传送给累加器

累加器传送存储器

寄存器传送给段寄存器

存储器传送给段寄存器

段寄存器传送给寄存器

段寄存器传送给存储存器

pop 指令(把字弹出堆栈) (数据传送命令)

push 指令(把字压入堆栈)

存储器

寄存器

段寄器

xchg 指令(交换字或字节) (数据传送命令)

寄存器与寄存器交换

存储器与寄存器交换

寄存器与累加器交换

in 指令(端口输入) (数据传送命令)

直接输入

间接输入

out 指令(端口输出) (数据传送指令)

直接输出

间接输出

add 指令(加法)(算术指令)

adc 指令(带进位加法)

寄存器+寄存器 寄存器

寄存器+存储器 寄存器

存储器+寄存器 存储器

立即数+存储器 存储器

立即数+累加器 累加器

inc 指令(加1)(算术指令)

存储器增量

寄存器增量

sub 指令(减法) (算术指令)

sbb 指令(带借位减法)

寄存器-寄存器 寄存器

寄存器-存储器 寄存器

存储器-寄存器 存储器

立即数-存储器 存储器

立即数-累加器 累加器

dec 指令(减1)(算术指令)

存储器减量

寄存器减量

nec 指令(求反,以0减之)

寄存器求补

存储器求补

cmp 指令(比较)(算术指令)

寄存器与寄存器比较

寄存器与存储器比较

寄存器与立即数比较

存储器与立即数比较

累加器与立即数比较

mul 指令(无符号乘法) (算术指令)

imul 指令(整数乘法)

与8位寄存器相乘

与16位寄存器相乘

与8位存储单元相乘

与16位存储单元相乘

div 指令(无符号除法)(算术指令)

idiv 指令(整数除法)

被8位寄存器除

被16位寄存器除

被8位存储单元除

被16位存储单元除

Debug实战

1.查看主板的生产日期,版本

D ffff:05

D fe00:0e

2.模拟Rest键功能

A

:100 jmp ffff:0000

:105

g

3.快速格式化软盘

L 100 0 0 * '插入一张己格式化软盘

W 100 0 0 * '放入一张欲格式化软盘

注:* 分别为:720K e |1.2M id |1.44M 21

4.硬盘格式化两种方法

(1)G=c800:05

(2) A 100

mov ax,0703

mov cx,0001

mov dx,0080

int 13

int 3

g 100

5.加速键盘

A

mov ax,0305

mov bx,0000

int 16

int 20

rcx

10

n fast.com

w

q

6.关闭显示器(恢复时,按任意键)

A

mov ax,1201

mov bl,36

int 10

mov ah,0

int 16

mov ax,1200

int 10

rcx

10

n crt-of.com

w

q

7.硬盘DOS引导记录的修复

在软驱中放入一张己格式化软盘

debug

-l 100 2 0 1

-w 100 0 50 1

把软盘放入故障机软驱中

debug

-l 100 0 50 1

-w 100 2 0 1

-q

8.清coms中setup口令

debug

-a

mov bx,0038

mov cx,0000

mov ax,bx

out 70,al

inc cx

cmp cx,0006

jnz 0106

int 20

-rcx

:20

-nclearpassword.com

-w

-q

注:以上适合super与dtk机,对于ast机,因为他的口令放在coms的4ch-51h地址处,只要将:mov bx,0038 改为: mov

bx,004c即可

9.取消coms的密码(将coms数据清为初始化)

-o 70,10

-o 71,10

-g

-q

10.将硬盘主引导记录保存到文件中

debug

-a

mov ax,0201

mov bx,0200

mov cx,0001

mov dx,0080

mov int 13

int 3

-rcx

:200

-nboot.dat

-w

-q

11.调用中断实现重启计算机(可以成文件)

debug

-a

int 19

int 20

-rcx

:2

-nreset.com

-w

-q

DEBUG主要命令

DEBUG是为汇编语言设计的一种高度工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。

一、DEBUG程序的调用

在DOS的提示符下,可键入命令:

C:\DEBUG [D:][PATH][FILENAME[.EXT>[PARM1][PARM2]

其中,文件名是被调试文件的名字。如用户键入文件,则DEBUG将指定的文件装入存储器中,用户可对其进行调试。如果未键入文件名,则用户可以用当前存储器的内容工作,或者用DEBUG命令N和L把需要的文件装入存储器后再进行调试。命令中的D指定驱动器PATH为路径,PARM1和PARM2则为运行被调试文件时所需要的命令参数。

在DEBUG程序调入后,将出现提示符,此时就可用DEBUG命令来调试程序。

二、DEBUG的主要命令

1、显示存储单元的命令D(DUMP),格式为:

_D[address]或_D[range]

例如,按指定范围显示存储单元内容的方法为:

-d100 120

18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G...8.G.....G...

18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 ....h..M PQVW.

7

18E4:0120 8B

其中0100至0120是DEBUG显示的单元内容,左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,·表示不可显示的字符。这里没有指定段地址,D命令自动显示DS段的内容。如果只指定首地址,则显示从首地址开始的80个字节的内容。如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。

2、修改存储单元内容的命令有两种。

·输入命令E(ENTER),有两种格式如下:第一种格式可以用给定的内容表来替代指定范围的存储单元内容。命令格式为:

-E address

例如,-E DS:100 F3'XYZ'8D

其中F3,'X','Y','Z'和各占一个字节,该命令可以用这五个字节来替代存储单元DS:0100到0104的原先的内容

第二种格式则是采用逐个单元相继修改的方法。命令格式为:

-E address

例如,-E DS:100

则可能显示为:

18E4:0100 89.-

如果需要把该单元的内容修改为78,则用户可以直接键入78,再按"空格"键可接着显示下一个单元的内容,如下:

18E4:0100 89.78 1B.-

这样,用户可以不断修改相继单元的内容,直到用ENTER键结束该命令为止。

·填写命令F(FILL),其格式为:

-F range list

例如:-F 4BA:0100 5 F3'XYZ'8D

使04BA:0100~0104单元包含指定的五个字节的内容。如果list中的字节数超过指定的范围,则忽略超过的项;如果list的字节数小于指定的范围,则重复使用list填入,直到填满指定的所有单元为止。

3)检查和修改寄存器内容的命令R(register),它有三种格式如下:

·显示CPU内所有寄存器内容和标志位状态,其格式为:

-R

例如,-r

AX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000

DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100 NV UP DI PL NZ NA PO NC

18E4:0100 C70604023801 MOV WORD PTR [0204],0138 DS:0204=0000

·显示和修改某个寄存器内容,其格式为:

-R register name

例如,键入

-R AX

系统将响应如下:

AX F1F4

即AX寄存器的当前内容为F1F4,如不修改则按ENTER键,否则,可键入欲修改的内容,如:

-R bx

BX 0369

:059F

则把BX寄存器的内容修改为059F。

·显示和修改标志位状态,命令格式为:

-RF系统将响应,如:

OV DN EI NG ZR AC PE CY-

此时,如不修改其内容可按ENTER键,否则,可键入欲修改的内容,如:

OV DN EI NG ZR AC PE CY-PONZDINV

即可,可见键入的顺序可以是任意的。

4)运行命令G,其格式为:

-G[=address1][address2[address3…>

其中,地址1指定了运行的起始地址,如不指定则从当前的CS:IP开始运行。后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的指令。

5)跟踪命令T(Trace),有两种格式:

·逐条指令跟踪

-T [=address]

从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值。如未指定地址则从当前的CS:IP开始执行。

·多条指令跟踪

-T [=address][value]

从指定地址起执行n条指令后停下来,n由value指定。

6)汇编命令A(Assemble),其格式为:

-A[address]

该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。必须注意:DEBUG把键入的数字均看成十六进制数,所以如要键入十进制数,则其后应加以说明,如100D。

7)反汇编命令U(Unassemble)有两种格式。

·从指定地址开始,反汇编32个字节,其格式为:

-U[address]

例如:

-u100

18E4:0100 C70604023801 MOV WORD PTR[0204],0138

18E4:0106 C70606020002 MOV WORD PTR[0206],0200

18E4:010C C70606020202 MOV WORD PTR[0208],0202

18E4:0112 BBO4O2 MOV BX,0204

18E4:0115 E80200 CALL 011A

18E4:0118 CD20 INT 20

18E4:011A 50 PUSH AX

18E4:011B 51 PUSH CX

18E4:011C 56 PUSH SI

18E4:011D 57 PUSH DI

18E4:011E 8B37 MOV SI,[BX]

如果地址被省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。

·对指定范围内的存储单元进行反汇编,格式为:

-U[range]

例如:

-u100 10c

18E4:0100 C70604023801 MOV WORD PTR[0204],0138

18E4:0106 C70606020002 MOV WORD PTR[0206],0200

18E4:010C C70606020202 MOV WORD PTR[0208],0202

-u100 112

18E4:0100 C70604023801 MOV WORD PTR[0204],0138

18E4:0106 C70606020002 MOV WORD PTR[0206],0200

18E4:010C C70606020202 MOV WORD PTR[0208],0202

可见这两种格式是等效的。

8)命名命令N(Name),其格式为:

-N filespecs [filespecs]

命令把两个文件标识符格式化在CS:5CH和CS:6CH的两个文件控制块中,以便在其后用L或W命令把文件装入存盘。filespecs的格式可以是:

[d:][path] filename[.ext]

例如,

-N myprog

-L

-

可把文件myprog装入存储器。

9)装入命令(Load),有两种功能。

·把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中。其格式为:

-L[address[drive sector sector]

·装入指定文件,其格式为:

-L[address]

此命令装入已在CS:5CH中格式化了文件控制块所指定的文件。如未指定地址,则装入CS:0100开始的存储区中。

10)写命令W(Write),有两种功能。

·把数据写入磁盘的指定扇区。其格式为:

-W address drive sector sector

·把数据写入指定的文件中。其格式为:

-W[address]

此命令把指定的存储区中的数据写入由CS:5CH处的文件控制块所指定的文件中。如未指定地址则数据从CS:0100开始。要写入文件的字节数应先放入BX和CX中。

11)退出DEBUG命令Q(Quit),其格式为:

-Q

它退出DEBUG,返回DOS。本命令并无存盘功能,如需存盘应先使用W命令。

问题:初学者问一个低级问题,执行debug-a后,如果有一行输入错误,如何更改这一行?

回答:

加入进行如下输入:

D:\PWIN95\Desktop>debug

-a

2129:0100movax,200

2129:0103movbx,200

2129:0106movcx,200

2129:0109

此时,发现movbx,200一句错误,应为movbx,20,可以敲回车返回"-"状态,然后输入:

-a103

2129:0103movbx,20

如果多或者少若干行,不必重新输入,可以用M命令移动后面的程序来去掉或者增加程序空间.

A.程序调用命令

C>DEBUG [D:] [PATH] [FILENAME[.EXT]] [PARM1] [PARM2]

其中,文件名是被调试文件的名字。如未键入文件名。可用DEBUG命令N和L把需要文件装入存储器后再调试。D指定驱动器,PATH为路径,FILENAME为文件名,PARM为命令参数

B.显示存储单元命令

-D [ADDRESS]或 ;ADDRESS 地址

-D [RANGE] ;RANGE 范围

C.修改存储单元内容命令

-E ADDRESS [LIST]

D.检查和修改寄存器内容命令

-R [REGISTER NAME] ;Register name 寄存器名字

E.汇编命令

-A [ADDRESS]

F.跟踪命令

-T [=ADDRESS] [VALUE] ;Value 变量值

G.运行命令

-G [=ADDRESS ] [ADDRESS2 [ADDRESS3]

H.反汇编命令

-U [ADDRESS]

-U [RANGE]

I.命名命令

-N FILESPECS [FILESPECS]

FILESPECS的格式可为[D:][PATH]FILENAME [.EXT]

J.装入命令

-L [ADDRESS[DRIVE SECTOR SECTOR]] ;DRIVE SECTOR 磁盘 扇区

K.写命令

W ADDRESS DRIVE SECTOR

L.退出命令

-Q