x86汇编中 为何debug单步调试结果和直接运行不相同 10

Main:org100hmovax,csmovds,axmoves,axmovax,1234callprintIntprintInt:movcx,0xorbp,bpmov... Main:
org 100h
mov ax,cs
mov ds,ax
mov es,ax
mov ax, 1234
call printInt

printInt:
mov cx,0
xor bp,bp
mov cx, 0
mov si, 0
mov bx, 10
@start:
xor dx,dx
cmp ax, 0
je @return
div bx
add dx, '0'
mov [tmp + si], dx
add si, 1
add cx, 1
jmp @start
@return:
mov bp, tmp
mov ah, 13h
mov al,1
mov dh,1
mov dl,0
mov bl,0fh
mov bh,0
int 10h
ret
tmp:
db 16
单步调试出来是正确的4321,直接运行却是5684
展开
 我来答
百度网友4b5749e
2017-04-11 · TA获得超过204个赞
知道小有建树答主
回答量:272
采纳率:62%
帮助的人:39.7万
展开全部
单步要用p命令,不要用t命令进入int里面了,否则永远都调试不完的。你在哪行开始出现错误了的?
追问
我刚回去试了试,用p命令调试结果也是和实际输出结果不相同的..
而且我的p命令怎么也会进入函数内部..
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式