`
firewalls
  • 浏览: 5941 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

汇编语言,在debug窗口中修改寄存器CS、IP中的值

阅读更多
最近头脑有点发热,又回顾(几年之前看过几遍)了一下汇编语言(第二版,王爽著)。

在第二章快要结束时,有个实验1(查看CPU和内存...)。
其中有一个实验任务是修改寄存器CS和IP中的值。

当时书没看仔细(估计是看了好几遍的缘故,有点麻木),没有看明白是如何修改CS和IP的值,加上前面的一节中有讲到如何通过使用jmp指令修改CS和IP,于是想在debug窗口中直接使用jmp指令修改CS和IP,结果出现如下错误。


出现了一个Error,当时就很纳闷,于是百度了一下,发现了有几篇文章也是遇到了这个问题(或许和我想的不是同一个问题),但是它们没有给出解决方案。
只好把这个章节又看了一篇,当时很怀疑能否使用R命令修改CS和IP,结果试了一下竟然成功了,恍然大悟,原来是我理解错了,jmp是用于指令执行的时候修改CS和IP,而不是在debug中直接修改,下图就是正确的修改方式。


#jmp指令的执行。
#在内存地址1000:0写入一段指令。
-a 1000:0
1000:0000 mov ax,1
1000:0003 mov bx,2
1000:0006 jmp 1000:0
1000:0008

#修改寄存器CS和IP的值。
-r cs
cs 0AF4
:1000
-
-r ip
ip 0011
:0

#执行一条指令(mov ax,1),执行之后IP的值为0003。
-t

#执行一条指令(mov bx,2),执行之后IP的值为0006。
-t

#执行一条指令(jmp 1000:0),执行之后IP的值为0000。
-t


额,这难道就是“书读百遍,其义自见”?
分享到:
评论

相关推荐

    汇编语言游戏debug

    1. **Debug 工具介绍**:在汇编语言开发过程中,调试是非常重要的环节。"Debug"是一款经典的汇编语言调试工具,尤其适用于学习和理解汇编语言程序的工作原理。通过它,开发者可以在程序执行的每个步骤中停下来检查...

    汇编语言程序设计debug

    【汇编语言程序设计与DEBUG调试】 汇编语言是一种低级编程语言,它与机器语言直接对应,每条指令都代表计算机硬件的一个特定操作。在编写汇编语言程序后,通常需要通过调试工具来检查和修正错误。DEBUG是DOS操作...

    汇编语言-最常用的几个寄存器

    在汇编语言中,寄存器是CPU中的一组小的内存区域,用来存储数据和指令。它们是CPU直接访问和处理数据的区域。常用的寄存器有: 1. AX寄存器:是累加寄存器,用于存储算术和逻辑操作的结果。 2. BX寄存器:是基址...

    IBM-PC汇编语言利用DEBUG调试工具调试程序

    在学习IBM-PC汇编语言的过程中,DEBUG是一个重要的调试工具,它包含在DOS系统中,位于`c:\windows\command`目录下。DEBUG不仅能够调试已经汇编和链接后的可执行程序,还支持直接在环境中编写简单的汇编程序。了解...

    计算机专用词汇+debug命令全称+寄存器英文全称

    DEBUG是DOS操作系统中内置的一个命令行调试工具,对于学习汇编语言的初学者来说,它提供了查看和修改内存、单步执行指令、设置断点等功能。其主要命令包括: 1. A - 用于汇编指令。 2. D - 显示内存区域的内容。 3. ...

    汇编全面讲解debug操作

    在编程领域,汇编语言是一种低级编程语言,与机器语言密切相关,直接对应于计算机的指令集。为了方便程序员调试汇编程序,Microsoft开发了一个名为DEBUG的工具,它提供了丰富的功能,包括单步执行、设置断点、查看和...

    王爽汇编语言期末复习题(

    本文将对王爽汇编语言期末复习题进行总结和分析,涵盖汇编语言基础知识、8086CPU 工作原理、DEBUG 命令、指令格式、寄存器、内存寻址、栈段管理等方面的知识点。 一、汇编语言基础知识 * 汇编语言是一种低级语言,...

    汇编语言学习手把手的Debug教程.pdf

    在学习汇编语言的过程中,调试技能至关重要。本文将详细介绍如何利用Debug工具进行汇编语言的学习和调试,包括Debug的基础知识、常见命令及其应用场景等。 #### 二、Debug简介 **Debug** 是一种用于调试程序的工具...

    汇编语言debug命令解释

    ### 汇编语言Debug命令解释 #### 一、DEBUG的主要用途及DEBUG的调用 DEBUG是一款专为汇编语言设计的调试工具,它通过多种方式帮助程序员有效地调试程序,如单步执行、设置断点等。这款工具使得开发者能够直接检查...

    合工大汇编语言程序设计实验报告

    【汇编语言程序设计实验报告】是合肥工业大学计算机与信息学院...通过这个实验,学生能够实践汇编语言的基本操作,理解汇编指令在实际程序中的运用,同时掌握DEBUG的使用技巧,为后续的汇编语言程序设计打下坚实基础。

    汇编语言 DEBUG

    ### 汇编语言 DEBUG 详解 #### 一、DEBUG 程序的启动与基本概念 **DEBUG** 是一种专用于 DOS 环境下的调试工具,主要用于汇编语言程序的开发与调试。它提供了丰富的命令集,帮助开发者进行程序的测试与错误定位。 ...

    汇编语言速成教程

    随着计算机技术的发展,汇编语言也在不断发展和改进。 汇编语言的类型 汇编语言有很多类型,包括: * x86 汇编语言:适用于 Intel x86 架构的计算机。 * ARM 汇编语言:适用于 ARM 架构的计算机。 * MIPS 汇编...

    汇编语言实验报告 debug命令及汇编工具的使用

    这个过程强调了汇编语言与机器语言之间的转换,以及DEBUG在程序调试中的作用。 第三部分,实验者在命令行环境中使用TASM进行编译,TLINK进行链接,最后执行AnyShow.asm。这演示了从源代码到可执行程序的完整编译...

    中山大学汇编语言教程

    4. **内存操作**:讲解内存模型和内存访问,包括段和偏移地址的概念,以及如何通过DS、ES、SS、CS等段寄存器配合IP(指令指针)进行内存寻址。 5. **I/O操作**:如何通过IN和OUT指令与外部设备交互,以及中断处理...

    王爽汇编语言答案汇集

    而IP(指令指针寄存器)和CS(代码段寄存器)是8086 CPU中的两个寄存器,用来指示下一条将要执行的指令的地址和当前代码段的位置。 通过这些基本的命令和操作,程序员可以使用DEBUG工具来调试汇编程序。例如,通过...

    汇编语言调试DEBUG命令详解.

    ### 汇编语言调试DEBUG命令详解 #### 概述 在计算机编程领域,特别是针对低级别的编程语言如汇编语言,调试工具是必不可少的一部分。本文将详细介绍DEBUG这一古老的调试工具,它主要用于MS-DOS环境下进行程序调试...

    汇编语言程序的上机过程及调试

    在这个步骤中,我们使用 DEBUG 程序来调试汇编语言程序。DEBUG 程序是一种专门为汇编语言设计的调试工具,它提供了多种调试方式,例如单步、跟踪、断点和连续等。DEBUG 程序的主要命令有: * A 命令:从指定地址...

    汇编语言和汇编指令1

    在调试工具如DEBUG中,可以通过`R`、`D`和`E`命令来查看、显示和修改寄存器和内存内容。 理解汇编语言和8086 CPU的工作原理对于深入学习计算机体系结构、操作系统和低级别编程至关重要。掌握这些基础知识有助于开发...

    汇编实验1熟悉汇编语言环境

    调试汇编语言程序通常需要借助调试器,如DEBUG或更现代的如OllyDbg,它们可以查看内存、跟踪执行、设置断点、修改寄存器等,以帮助找出程序中的错误。 在实验过程中,你需要动手编写简单的汇编程序,如打印字符、...

Global site tag (gtag.js) - Google Analytics