汇编语言,在命令提示符中,怎么执行程序并查看寄存器?

如题所述

如果设置了环境变量,直接输入程序名,回车将能够运行,如果没有设置环境变量,输??入要运行的程序路径和程序名。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-27
更改路径值以后添加的%SystemRoot%\ SYSTEM32
第2个回答  推荐于2017-10-02
在dos环境中,执行debug (程序).exe
r命令查看寄存器
t命令单步跟踪
g命令执行到某条指令地址
u命令反汇编
d命令查看数据
?看帮助追问

命令知道,就不知道怎么操作,查看执行后的寄存器,是先debug,直接-r查看,还是先debug,在-t,在-r查看

追答

1)debug 程序;用debug 调入要调试的程序
2)u 0 ;反汇编程序,查看ds, es等段值
3)d ds的值:0 ;看一下数据段的数据情况,d es的段值:0,查看附加段的数据
4)u     ;继续反汇编程序,查看要执行的断点的地址(如002d)
5)g2d ;执行程序到断点,执行后,debug会显示出当前各寄存器的值
6)如果不用5),可以用t=0,单步执行程序,每执行一条指令,debug会显示当前寄存器的值,并且显示出下一条要执行指令代码,不用特地使用r命令去查看寄存器

debug调用程序后,寄存器都是初始值,这时没必要去用r命令看寄存器的值。

本回答被提问者和网友采纳
第3个回答  2012-12-23
先debug出来结果后,输入-u再-r就可以了。
第4个回答  2012-12-22
x86的话用DEBUG -T

[从零学习汇编语言] - 寄存器与内存访问
如果你忘了也不要紧,我们再来一遍这个实验: 第一步: 通过R指令查看寄存器内容这里我们观察到此时AX寄存器对应的内存数据内容为十六位的0000 第二步 :通过R指令修改AX寄存器的值我们通过R指令将AX寄存器中的值修改为了十六位的1111 第三步:分别修改AH和AL寄存器的值,观察AX寄存器的变化在这里我们首先...

汇编语言中cs.ds.es.ss怎么用?
1.可将寄存器内的数据执行算术及逻辑运算;2.存于寄存器内的地址可用来指向内存的某个位置,即寻址;3.可以用来读写数据到电脑的周边设备。[编辑本段]数据寄存器8086有14个16位寄存器,这14个寄存器按其用途可分为(1)通用寄存器、(2)指令指针、(3)标志寄存器和(4)段寄存器等4类。(1)通用寄存器有8个,又可以分成...

汇编语言 设在某个程序中有如下片段,请写出每条传送指令执行后寄存器AX...
MESS DB ’HELLO’ ;116H~11AH, 分别存入H,E,L,L,O字符的ASCII值 BEGIN: MOV AX,OFFSET MESS ;AX中存放MESS的偏移地址,AX中内容为116H MOV AX,TYPE BEGIN ;表达式是标号,显然是属于NEAR,所以AX中内容为-1,即FFFFFFFFH MOV AX, OFFSET BEGIN ;AX中存放MESS的偏移地址,AX中内...

下列程序段完成什么工作?说明各寄存器的作用。你是如何上机调试运行该...
在调试过程中,可以使用DEBUG命令进行单步执行,查看程序执行时各寄存器的值以及内存中的数据。常用的DEBUG命令包括:A:显示当前执行指令的汇编代码和机器码 U:以汇编代码的形式显示一段内存数据 R:显示寄存器的值 T:跳转到指定的地址 P:修改寄存器和内存中的值 例如,可以使用命令“D 100”将DAT1和...

计算机指令是如何执行的?
1、首先是取指令和分析指令。按照程序规定的次序,从内存储器取出当前执行的指令。2、送到控制器的指令寄存器中,对所取的指令进行分析,即根据指令中的操作码确定计算机应进行什么操作。3、根据指令分析结果,由控制器发出完成操作所需的一系列控制电位,以便指挥计算机有关部件完成这一操作。4、为下一条...

汇编语言程序设计
MOV DI,0000H \/\/字符串初始地址放入寄存器DI中 MOV CX,n \/\/字符串长度放入CX中 MOV AL,'A' \/\/要查找的字母A放入AL中 CLD\/\/清除方向标志位 REPNE SCASB\/\/以上都是指令REPNE SCASB的指令要求。。。可以参考该指令用法,作用是不相等则重复比较 JZ FOUND \/\/有条件跳转转移 CX为零则执行标号...

汇编语言指令
1. 汇编语言指令的种类和功能:汇编语言指令通常分为几大类,包括数据传送指令、算术运算指令、逻辑运算指令、控制流指令等。数据传送指令用于在内存和寄存器之间,或在寄存器和外设之间传输数据;算术运算指令执行加、减、乘、除等基本算术操作;逻辑运算指令进行逻辑位的操作,如AND、OR、NOT等;控制流指令...

汇编语言中的操作数寻址方式问题.存储器和寄存器问题?高手请进
首先内存和寄存器都是可以存放数据的 而寄存器是就那么几个,不可能把所有数据都放在寄存器里 寄存器里面是有值的,如果直接丢给CPU运算,就是寄存器寻址。如果把寄存器里面的数当作地址编号,跟据编号在内存里找到另一个数,就是存储器寻址。CS,DS,ES,SS是CPU的寄存器 MOV AX,DS 都是寄存器寻址方式...

汇编语言指令大全,要详细的!!!
汇编语言是一种低级语言,其指令集因不同的处理器架构而异。以下是一些常见的汇编语言指令及其解释:数据传送类指令 1. MOV:移动指令,用于数据传送。例如:MOV AX,5 即将数值5传送到AX寄存器。2. PUSH 和 POP:推入和弹出指令,用于数据压入堆栈或弹出堆栈。例如:PUSH BX 将BX寄存器的内容推入堆栈...

单片机程序状态寄存器
至于说指令后面的#0F8H,这是汇编语言的规定,直接数以A~F开头的,前面要加个0,这时候编译器才会正确编译,这是一个汇编编译器的规则,我们只要知道就可以了,如果你写成这样#F8H,编译器一般会提示错误,这个需要注意。最后来看PSW内的内容,首先要了解PSW内每个位都代表什么,最高位CY代表进位,...

相似回答