注册 登录
编程论坛 汇编论坛

用debug加载exe到内存中用t命令执行的问题~~

ucyan 发布于 2011-04-26 20:45, 1151 次点击
程序代码:

code segment
     assume cs:code
start:
     mov ax,0
     mov cx,100
again:
     add ax,cx
     loop again
     mov ax,4ch
     int 21h
code ends

end start
用debug 把loop.exe加载到内存中,进行反汇编用了U命令后,再用T命令执行指令,但是在这个程序需要不断循环,此时要执行202次才运行完
当循环次数很大时,而我有不知道到底要执行T命令多少次,我想问有没有方法一步就可以执行完整个程序,得出最后结果~~~~~
新手~~~初学~~呵呵

其实我的主要问题是
程序代码:
prognam segment
main proc far
     
      assume cs:prognam
start:
      push ds
      sub ax,ax
      push ax
      mov ch,4
rotate:
      mov cl,4
      rol bx,cl
      mov al,bl
      and al,0fh
      add al,30h
      cmp al,3ah
      jl  printit
      add al,7h
printit:
      mov dl,al
      mov ah,2
      int 21h
      dec ch
      jnz rotate
      ret
     
main  endp

prognam  ends

       end
用debug加载时,怎样用t命令得出结果,我不知道到底要执行多少条指令~~
求救ing~~


[ 本帖最后由 ucyan 于 2011-4-26 21:47 编辑 ]
6 回复
#2
ansic2011-04-26 23:10
用P或者G命令
#3
ucyan2011-04-26 23:32
如果第二个程序我需要一步一步执行的话,需要执行多少次t命令?
#4
ansic2011-04-27 10:59
用U命令查看从rotate到ret前有多少条指令,就知道啦
#5
ucyan2011-04-27 13:05
可是它是一个循环指令啊~~~用U命令也不能知道它循环了多少次吧~
请问可以给出一个逐步执行的过程吗?
如果用P命令做,又怎么做?

[ 本帖最后由 ucyan 于 2011-4-27 13:44 编辑 ]
#6
ansic2011-04-27 16:25
刚开始学习,尽量使用debug调试程序,用T命令跟踪观察每条指令执行后相应寄存器以及内存地址的变化对提高非常有帮助的。熟练使用debug可是汇编里最基本的基本功啦。
#7
zaixuexi2011-04-29 23:46
DEBUG的用法google一堆,要是这个也不想,趁早别学
1