汇编实验
合工大汇编实验报告

合工大汇编实验报告本文将围绕“合工大汇编实验报告”展开阐述,按照实验的步骤分为以下几个部分进行讲解。
第一部分:实验目的和实验环境本次实验的目的是让我们熟悉汇编语言的基本语法和指令,了解在计算机内部运行程序的原理。
实验环境为Windows系统下的汇编语言编写工具MASM。
第二部分:实验过程在实验过程中,我们首先需要学会使用MASM编写汇编程序,然后通过“debug”命令进行调试,最后在汇编器中运行程序,观察程序的执行情况。
具体操作过程如下:1. 编写汇编程序首先,我们需要编写一份汇编程序。
在这份程序中,我们可以通过汇编语言的基本语法和指令,实现一些简单的计算、输出等操作。
例如,下面是一份简单的汇编程序:; 求1+2+3+...+10的结果mov ax, 0 ; 将ax寄存器清零mov bx, 1 ; 将bx寄存器初始化为1mov cx, 10 ; 将cx寄存器初始化为10sum_loop: ; 循环计算add ax, bx ; 将bx寄存器的值加到ax寄存器中inc bx ; 将bx寄存器的值加1loop sum_loop ; cx寄存器自减1,如果cx不为0则跳转到sum_loop处继续循环2. 调试程序当我们编写好程序之后,我们需要通过“debug”命令来进行调试操作。
在这个过程中,我们需要逐步执行汇编程序中的指令,并且观察寄存器和内存的变化情况,以检查程序是否正确。
3. 运行程序在完成程序的调试之后,我们可以通过汇编器来运行这份程序。
在运行的过程中,我们需要观察程序在计算机内部的执行情况,包括计算结果和输出结果等。
第三部分:实验收获通过这次实验,我们对汇编语言的基本语法和指令有了更深入的了解。
同时,我们也了解了在计算机内部执行程序的原理和过程。
这对于我们深入理解计算机的工作原理以及编写更高效的程序都有着重要的意义。
总之,本次实验为我们提供了一个很好的机会,让我们更深入地了解计算机系统的工作原理,同时也提高了我们的编程能力和实际应用能力。
汇编语言程序设计实验要求

汇编语言程序设计实验要求一、实验目的1.理解计算机的基本组成结构和运行原理;2.掌握汇编语言的基本语法和应用;3.学会使用汇编语言设计并实现简单的程序;4.培养分析和解决问题的能力。
二、实验内容根据实验的具体要求,设计并实现汇编语言程序,要求程序的功能和执行效果符合实验要求。
三、实验要求1.完成实验报告,并按照实验报告模板的要求编写。
2.实验过程中能提出并解答问题的,要及时记录下来。
3.实验过程中发现的问题要及时上报和解决。
4.保持实验室设备的安全性和完好性。
四、实验步骤1.紧密结合课程内容,理清实验的基本思路和需求。
2.设计程序的框架和算法,明确每个步骤的功能和实现方法。
3.编写汇编语言程序的代码,注意代码的规范性和可读性。
4.进行程序的编译和调试,确保程序能够正确运行并得到正确的结果。
5.运行程序,观察程序的执行过程和结果是否符合设计要求。
五、实验评分标准1.实验报告的撰写质量(包括格式、内容、语言表达等)占总分的30%。
2.汇编语言程序的设计和实现质量占总分的50%。
3.程序的运行效果和正确性占总分的20%。
六、实验注意事项1.在编写汇编语言程序时,要注意程序的可读性和可维护性。
2.在程序的编译和调试过程中,要保持对程序的追踪和记录。
3.注意程序的输入和输出的正确性和合法性。
4.在实验过程中,要积极与实验指导教师和同学之间进行交流和讨论。
以上就是汇编语言程序设计实验的要求。
通过这门实验课程的学习和实践,我们能够更加深入地了解计算机体系结构和汇编语言的基本原理和应用,从而为我们今后的学习和工作打下坚实的基础。
希望同学们在实验中能够认真学习和探索,通过实践提高自己的动手能力和问题解决能力。
汇编语言实验7实验报告

汇编语言实验7实验报告一、实验目的本次实验旨在通过汇编语言编写程序,实现对字符串的操作和输出。
二、实验内容1. 编写一个汇编程序,要求从键盘输入一个字符串,并将其逆序输出到屏幕上;2. 编写一个汇编程序,要求从键盘输入两个字符串,并将它们拼接起来后输出到屏幕上。
三、实验过程1. 字符串逆序输出程序首先,需要从键盘输入一个字符串。
为了方便起见,我们可以先规定字符串的最大长度为100。
接着,我们需要定义两个变量:```buffer db 100 ; 用于存储输入的字符串length dw ? ; 存储输入的字符串长度```其中,db代表定义字节型变量,dw代表定义双字节型变量。
然后,我们需要使用INT 21H中断来读取用户输入的字符串。
具体而言,我们可以使用下面这段代码:```mov ah, 0Ah ; 设置INT 21H功能号为0Ahmov dx, offset buffer ; 将buffer的地址传给DX寄存器int 21h ; 调用INT 21H中断```该代码会将用户输入的字符串存储在buffer中,并且将其长度存储在length变量中。
接着,我们需要将该字符串逆序输出到屏幕上。
为了实现这个功能,我们可以使用栈来存储字符串中的每个字符,并逐个弹出来输出。
具体而言,我们可以使用下面这段代码:```mov si, offset buffer + 1 ; 将si寄存器指向字符串的第一个字符mov cx, length ; 将cx寄存器设置为字符串长度dec cx ; 字符串长度需要减1reverse:push byte ptr [si] ; 将当前字符压入栈中inc si ; 指向下一个字符loop reverse ; 循环直到所有字符都被压入栈中mov ah, 02h ; 设置INT 21H功能号为02h,表示输出一个字符print:pop dx ; 弹出栈顶元素int 21h ; 输出该字符loop print ; 循环直到所有字符都被弹出并输出完毕```2. 字符串拼接程序首先,需要从键盘输入两个字符串。
实验一 汇编程序学习与程序调试方法实验

四、实验说明 通过本实验,同学们可以了解仿真软件使用、 通过本实验 , 同学们可以了解仿真软件使用 、 简单程序编写和汇编程 序调试的方法,同时了解单片机存储器结构及读写存储器的方法。 序调试的方法,同时了解单片机存储器结构及读写存储器的方法。 五、实验步骤 启动计算机,打开伟福仿真软件,进入仿真环境。 1、启动计算机,打开伟福仿真软件,进入仿真环境。首先进行仿真器的设 点击主菜单的仿真器选项,选择仿真器设置, 置 , 点击主 菜 单的仿真器选项 , 选择仿真器设置 , 或者直接点击仿真器设 置快捷按钮打开仿真器设置窗口, 置快捷按钮打开仿真器设置窗口 , 在仿真器标签里选择使用伟福软件模拟 器。 2、在编辑窗口输入源程序,保存,文件名为T11-A.ASM, 在编辑窗口输入源程序,保存,文件名为T11- ASM, 11- ASM源程序进行编译 点击项目菜单,选择全部编译。 源程序进行编译。 3 、 对 T11-A.ASM 源程序进行编译 。 点击项目菜单 , 选择全部编译 。 编译无 误后,打开数据窗口,选择外部数据存储器窗口XDATA 拖动XDATA XDATA, XDATA窗口的 误后 , 打开数据窗口 , 选择外部数据存储器窗口 XDATA , 拖动 XDATA 窗口的 滚动条,使地址8000 出现在窗口上,观察8000 起始的256 8000H 8000H 256个字节单元的内 滚动条,使地址8000H出现在窗口上,观察8000H起始的256个字节单元的内 执行程序,点击全速执行快捷按钮,点击暂停按钮, 容 。 执行程序 , 点击全速执行快捷按钮 , 点击暂停按钮 , 观察存储块数据 变化情况,256个字节全部清零 红色) 点击复位按钮,可再次运行程序。 个字节全部清零( 变化情况,256个字节全部清零(红色)。点击复位按钮,可再次运行程序。 打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU CPU窗口 CPU窗口各寄存 4、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存 器的变化,可以看到程序执行的过程,加深对实验的了解。 器的变化,可以看到程序执行的过程,加深对实验的了解。 12.ASM源程序进行 源程序进行2 操作,增加断点调试方法练习, 5、对T12.ASM源程序进行2、3、4操作,增加断点调试方法练习,观察片内 及片外数据窗口的数据变化。 及片外数据窗口的数据变化。
微机原理(单片机汇编)实验报告

软件实验报告软件实验一一、实验目的1.熟悉软件实验的基本步骤和汇编程序的调试方法;2.了解内存块的移动方法;3.了解将十六进制数转换成ASCII值的方法。
二、实验原理用MOV和MOVX指令可以进行数据的赋值和移动,用循环可以完成大量数据的复制。
三、实验内容及步骤1、软件设置为模拟调试状态,在所建的Project文件中添加例程1的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。
打开CPU窗口,观察CPU窗口各寄存器的变化。
打开View菜单中的Memory Window,可以观察内部RAM、外部RAM的数据和程序存储器中的程序。
在Address窗口输入X:8000H后回车,观察8000H-800FF起始的256个字节单元的内容。
2、新建一个Project文件,添加例程2的源程序进行编译,编译无误后,可以选择单步或跟踪执行方式或全速运行程序。
打开View菜单中的Memory Window,在Address 窗口的Memory#1输入X:3000H后回车,点击运行按钮后, 在Memory#2输入X:4000H后回车,观察外部RAM3000H和4000H中的内容。
3、添加将片内30H-3FH单元的内容复制片外片外1030H~103FH中的源程序,编译运行,观察比较30-3FH单元中的内容和片外1030H-103FH中的内容。
4、添加将30H、31H单元中的十六进制数,转换成ASCII码,存放到40H开始的4个单元中的源程序,编译运行,观察结果。
5、添加求内部RAM 30H—37H单元中8个无符号数的算术和的源程序,8个无符号数设定为25H,36H,4AH,65H,7FH,82H,9BH,1DH,观察39H,38H中的数字是否分别为02H,C3H。
四、实验结果1.步骤1的结果为8000H-80FFH的内容都为1.2.步骤2的结果为3000H起始的256个字节存储块与4000H起始的256个字节存储块各单元内数据对应相同。
汇编实验的原理

汇编实验的原理汇编语言是一种机器语言的抽象表示,它是一种低级语言,用于告诉计算机如何执行特定的指令。
在计算机科学和工程中,汇编语言通常被用来编写低级程序,这些程序能够直接操作计算机的硬件。
汇编实验的原理可以分为以下几个方面:1. 汇编语言的基本原理:汇编语言是一种符号表示的机器语言,它使用简单的符号和指令来表示特定的操作。
这些符号和指令可以被翻译成机器语言,然后由计算机执行。
对于不同的CPU,汇编语言的指令集不同,需要根据具体的CPU 架构来编写不同的汇编程序。
2. 汇编语言的指令集:汇编语言的指令集包括数据传送指令、算术运算指令、逻辑运算指令、控制转移指令等。
这些指令可以对计算机中的寄存器、内存、I/O 设备等进行操作,实现各种功能。
3. 汇编语言的编程方法:汇编语言的编程方法通常包括两种:基于寄存器的编程和基于内存的编程。
基于寄存器的编程主要是以寄存器为中心,直接对寄存器进行操作;基于内存的编程主要是以内存为中心,需要通过地址来操作内存单元。
4. 汇编语言的程序设计:汇编语言可以用于编写各种程序,包括操作系统、驱动程序、嵌入式系统等。
通过汇编语言,程序员可以更加精细地控制计算机的硬件,实现高效的程序设计和优化。
汇编实验通常包括以下内容:1. 汇编语言的基本语法和指令集:学习汇编语言的第一步是了解其基本语法和指令集。
在实验中,学生需要学习如何使用汇编语言的各种指令来进行数据操作、算术运算、逻辑运算等。
2. 汇编语言的程序设计:学生需要学习如何使用汇编语言来编写程序。
在实验中,他们可以编写一些简单的程序,例如实现加减乘除运算、排序算法等。
3. 汇编语言的调试和优化:学生需要学习如何调试和优化汇编语言程序。
在实验中,他们可以使用调试工具来检查程序的执行过程,分析程序的性能,并对程序进行优化。
4. 汇编语言的应用实例:学生可以学习一些实际的应用实例,如操作系统内核、设备驱动程序等。
在实验中,他们可以尝试编写一些简单的应用程序,了解汇编语言在实际应用中的使用。
汇编语言实验报告_6

青岛理工大学课程实验报告
课程名称汇编语言程序设计班级实验日期
2013.11.3
姓名学号实验成绩
实验
名称
子程序
实验目的及要求1.掌握子程序设计相关指令和伪指令的使用方法
2.掌握子程序设计方法, 特别是参数传递方法
3.掌握主程序和子程序之间的调用关系和调用方法
4.熟悉循环和子程序结合应用解答问题的思路
实验环境1.命令行方式
2.MASM.EXE LINK.EXE DEBUG.EXE
实验内容1.设DATA1开始的内存单元中, 存放着一串带符号字数据, 要求采用冒泡排序算法(Bubble Sort)按照从小到大的顺序排序并将排好序的数据存在DATA1开始的单元。
然后在显示器输出排好序的数据, 中间用’,’隔开。
2.输出数据使用子程序方式。
算法描述及实验步骤步骤:
(1)设置数据段地址
(2)设置堆栈段地址
(3)设置堆栈指针
(4)调用9号功能, 输出一个提示性字符串。
(5)循环进入子程序, 输出原始数据。
(6)在子程序内循环输出每一位的十进制数字。
(7)主程序进行内外循环, 进行冒泡排序。
(8)再一次调用子程序输出排序后的结果。
调试过程及实验结果调试过程:
(2)(1)在输出时, 调用DOS 9号功能, 并不是只要语句MOV AH,09H
(3)它是存在入口条件的, 入口条件:DS:DX=输出字符缓冲区首地址。
所以前面必须加上MOV DX,OFFSET NOTE1。
(4)汇编语言是不会再输出汉字的。
(5)子程序结束时一定要有RET
(6)冒泡排序也遇到一些困难。
调试结果:。
汇编语言实验报告

汇编语言实验报告
1. 实验简介
本次实验是针对汇编语言的学习和实践,在实验中,我们将学习如何使用汇编语言编写程序、调试程序,并通过一系列实例来练习和巩固所学知识。
2. 实验目的
(这一部分可以根据实际情况来写,列举实验的具体目的和要求)
3. 实验环境及工具
(介绍实验所使用的软件环境和工具,如:编译器、调试器)
4. 实验步骤
(根据实验内容具体描述实验步骤,可以分为多个小节)
4.1 准备工作
在开始实验之前,需要进行一些准备工作,包括安装编译器、创建工作环境等。
4.2 实验一:简单的汇编程序
本实验通过编写一个简单的汇编程序来熟悉汇编语言的基本语法和指令集,包括数据传送、算术运算、逻辑运算等。
4.3 实验二:汇编程序的调试
在实验二中,我们将学习如何使用调试器对汇编程序进行调试,包括设置断点、查看变量值、单步执行等操作。
4.4 实验三:汇编程序的优化
本实验将通过优化代码来提高程序的执行效率,包括减少指令的使用、优化循环结构等。
5. 实验结果与分析
(对实验的结果进行总结和分析,可以包括程序的输出结果、性能分析等)
6. 实验总结
(针对本次实验的收获和心得体会进行总结,可以包括对汇编语言的理解、解决问题的思路等)
7. 实验感想
(对本次实验的感想和建议,如实验过程中遇到的困难、改进的方向等)
8. 参考文献
(列出本报告中所引用的参考文献)
注:该文章只是按照题目提示给出了一个大致的框架和构思,实际根据具体的实验内容和要求来编写每个小节的详细内容。
希望对你有所帮助!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二部分先将基本的程序结构编好,再进入 debug 程序,先用-u 指令查看一下程序, 结果如下:
再用-a 指令从 142F:000B 后面输入已给出的程序,然后用-u0 指令查看程序,结果 如下:
这时可以先用-t 指令将程序逐步执行到指令 mov ax,bx 之前,然后用-e300 指令安要 求修改相关的内存内容,再用-d300 指令查看一下修改后的内存内容,结果如下:
后,
ax 中的内容为 AX=0B0源自,在执行完指令 MOV AX,0001[BX] 后,ax 中的内容为
AX=0C0B,在执行完指令 MOV AX,[BX][SI]后,ax 中的内容为 AX=0D0C,
在执行完指令 MOV AX,0001[BX][SI] 后,ax 中的内容为 AX=0E0D,这样的结
果应该和我们预期的一样。
三、 源程序清单和执行结果
第一部分的源程序: DATAS SEGMENT DATAS ENDS STACKS SEGMENT STACKS ENDS CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS MOV DS,AX MOV AX,3000H MOV BX,5000H PUSH AX mov AX,BX POP BX MOV AH,4CH INT 21H CODES ENDS END START
二、 调试说明
调试程序可以在 debug 中进行,基本步骤和前面的实验大致相同,在软件 Masm 集 成实验环境 2008.4 中编辑程序,则可以直接点击程序上的调试按钮,即可进行调试。 调试时可通过-t 指令来逐步运行程序,观察程序是如何进行循环的。修改 AL 中的内 容,可以通过-r 指令来实现,如修改 ax 中的内容,通过指令-r ax 来实现,如下图所 示:
L2:sub al,20h mov cl,al lea dx,string2 mov ah,9
int 21h mov dl,0 mov dl,cl mov ah,2 int 21h
mov dl,0ah mov ah,2 int 21h
mov dl,0dh mov ah,2
int 21h jmp L0 L3: lea dx,string1 mov ah,9 int 21h jmp L0
在 debug 程序中,用-t 指令可以逐步执行指令,可以看到在每条指令执行完后,ax 和 bx 中的内容的变化,通过比较可以看出,ax 和 bx 中的内容从开始时的
AX=3000,BX=5000 变为 AX=5000,BX=3000,说明 AX 和 BX 中的内容发生了交换, 最终执行结果如下:
然后在将断点设置在指令 rep movsb 之后,通过指令-g 运行后,再用-d 指令查看一 下内存块的相关内容,得到的结果如下:
三、 执行结果
第一部分的执行结果: 第二部分地址块加一方法移动块的程序执行结果
实验四 将键盘输入的小写字母用大写字母显示出来
一、 程序说明
本程序用来将小写字母转变为大写,并在屏幕上显示出来。先利用 DOS 功能调 用 INT21H 的 1 号功能从键盘输入字符,然后判断输入的是否是小写字母,若不是小 写字母,则显示输入出错,重新输入。若输入的是小写字母,则通过将其减去 20h, 从而变为大写字母。在通过 DOS 功能调用 INT21H 的 2 号功能显示出来。若输入的 是 Enter 键,则结束程序。
CODES ENDS END START
做完所有操作,程序的最终的执行结果如下:
实验三、存储器块清零和内存块移动
一、 程序说明
第一个程序用来存储块清零,先设置块起始地址,然后设置块长度,再将当前地 址内容清零,地址加一,然后判断是否清完,若清完则结束,否则返回到上一步。
第二个程序用来移动内存块,先设置块的源地址,再设置块的目标地址,然后设 置移动长度,安长度重复传送数据直到结束。
bl 加 1,si 减 1
是 ch 加 1,si 减 1
是
cl 加 1,si 减 1
dl 是否为 0
是
退出程序
实验一 汇编运行环境及方法、简单程序设计
一、程序说明
本程序用来比较两个字符串 string1 和 string2 所含的字符是否相同。若相同则 显示‘Match’,否则显示‘Nomatch’。
在开始编好程序的时候,我发现输出的并不是我想要的结果,后来在调试程序 中我用-t 指令进行逐步运行程序,我才发现我的错误之处。原来我在程序的第二十七 行将 al 的值直接赋给 dl 了,表面上看这是没有问题的,但在调试程序中逐步调试就 会发现这样做是错误的,因为在这之前调用了 DOS 功能调用 INT21H 的 9 号功能, 这样会改变 al 中的值,从而使我赋给 dl 的值并不是我真正想要赋给 dl 的值,所以导 致最终结果出现错误。我通过在调用 INT21H 的 9 号功能之前,先将 al 的值赋给 cl,
第二部分初始时的源程序如下: DATAS SEGMENT DATAS ENDS
CODES SEGMENT ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS MOV DS,AX MOV BX,0300h MOV SI,0002h MOV AH,4CH INT 21H
exit: MOV AH,4CH INT 21H
CODES ENDS END START
程序最终运行结果如下:
实验五:循环程序设计
一、 程序说明
第一个程序是用来显示 AL 寄存器中的两位十六进位制数,通过 DOS 功能调用 INT21H 的 2 号功能显示出来。
第二个程序是用来判别键盘上输入的字符:若是 1-9 字符,则显示之;若为 A-Z 或 a-z 字符,均显示“c”;若是回车字符<CR>,z 则结束程序,若为其他字符则不显示, 继续等待新的字符输入。首先输入一个字符,将其和回车字符比较,若是回车字符, 则结束程序。1-9 字符,则显示之。若是若小于 0,则重新等待输入。若大于 9,则跳 转到和‘A’、Z’比较,若小于’A’,则重新等待输入,若大于’Z’,则跳转到和’a’、’z’ 比较处,若小于 a 或大于 z,则重新等待输入,否则输出‘c’。
汇编语言实验报告
学号: 姓名: 班级:
2010-12-6
系
班级
同组者
实验报告
实验报告
学号
姓名 指导教师
设置十个学生成
绩
否
是否等 于 100
否
是否大于 等于 90 90
否
是否大于 等于 80 80
否
是否大于 等于 70
否
是否大于 等于 60
是
al 加 1,si 减 1
是
bh 加 1,si 减 1
是
二、 调试说明
第一个程序在进入 debug 后,先用-u 指令查看一下程序,再将断点设置在指令 Loop again 之后,通过指令-g 加上指令 Loop again 后的地址,将程序运行到 Loop again 之后停止,然后再通过-d 指令查看相关内存内容是否被清零。
第二个程序在进入到 debug 后,先用-u 指令查看一下程序,再将断点设置在指令 rep movsb 之前,通过指令-g 运行后,然后用-d 指令查看一下内存块的相关内容,得到的 结果如下:
第一个程序先将 AX 的内容进栈,然后将 BX 的内容赋给 AX,再将出栈的内容赋 给 BX 即可。第二个程序是在进入 debug 后,用-a 指令输入给出的程序,然用-e 指令 安要求修改内存的内容,再用-t 指令逐步执行每条指令,看修改的内存内容对指令执 行结果的影响。
二、 调试说明
第一部分先将程序编好后,在 DOS 环境下用 masm 程序生成 obj 文件,再用 link 程序生成 exe 文件,然后进入 debug 进行调试,用-t 命令逐步运行程序,查看 AX 和 BX 中内容的变化。如果发现 AX 和 BX 中的内容进行了交换,则说明 程序运行成功。 用-t 命令逐步运行:
在程序的数据段先定义两个字符串 string1 和 string2,再定义两个字符串 mess1 和 mess2,分别代表‘Match’和‘Nomatch’。再代码段比较字符串 string1 和 string2, 通过比较判断是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。
二、调试说明
再通过 cl 将我想要的值赋给 dl,这样就避免了这种错误了。在改正之后,整个程序 就运行得到我想要的结果了。
三、 源程序清单和执行结果
DATAS SEGMENT string1 db ' Input error!Please input between a to z!',0ah,0dh,'$' string2 db ' $'
DATA ENDS
code segment main proc far assume cs:code,ds:DATA,es:DATA
start:mov ax,DATA mov ds,ax mov es,ax lea si,STRING1 lea di,STRING2 cld mov cx,25 repz cmpsb jz match lea dx,mess2 jmp short disp match:lea dx,mess1 disp:mov ah,9 int 21h mov ah,4ch int 21h
再 EDIT 中建立 ASM 文件,再用汇编程序对源程序汇编产生目标文件 Obj, 再用连接程序产生执行文件 EXE。再用 Debug 进行调试。
其中常用到的指令有: 用-g 命令来用运行程序,用-u 命令来显示程序,用-d 命令来查看数据段的情况, 用-e 或-f 命令来修改需要改正的部分,用-t 指令来逐步执行程序,用-r 指令来查看寄 存器和修改寄存器的值,-q 命令用来退出 debug 程序。在这些命令的后面加上地址, 可以将命令执行到相应的地方。 如用-g 指令运行程序后,再用-u 指令显示程序的执行借给如下: