汇编语言程序debug调试,怎样才能使cs寄存器地址和DS地址相同??
我用汇编语言编了一个程序,用debug调试时,cs寄存器地址是13CD,而DS寄存器地址是13CB,-g后,用-d时,显示不了程序的结果,-d13cb才能看见结果,这是为...
我用汇编语言编了一个程序,用debug调试时,cs寄存器地址是13CD,而DS寄存器地址是13CB,-g后,用-d时,显示不了程序的结果,-d13cb才能看见结果,这是为什么,怎么样才能做到-d直接看见最后的结果,源程序如下:data segment
NUM db 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
result db ?
data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
LEA SI,[NUM]
mov CL,16
step1:
mov DL,[SI]
mov AL,DL
mov BL,2
CBW
div BL
CMP AH,1
JE step2
JNE step3
step2:
mov [SI+10H],DL
JMP step3
step3:INC SI
LOOP step1
ret
main endp
code ends
end start
非常感谢!!!
就是用debug调试这个程序时,先进入debug,-g运行后,再-d,此时内存地址是13CD:0000 后面没有显示我的程序的最终结果,而要-d13CB:0000 在这个内存地址中显示了最后结果,为什么?怎么才能做到-g运行后,再-d直接就能在显示的内存地址中显示我要的结果? 展开
NUM db 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
result db ?
data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
LEA SI,[NUM]
mov CL,16
step1:
mov DL,[SI]
mov AL,DL
mov BL,2
CBW
div BL
CMP AH,1
JE step2
JNE step3
step2:
mov [SI+10H],DL
JMP step3
step3:INC SI
LOOP step1
ret
main endp
code ends
end start
非常感谢!!!
就是用debug调试这个程序时,先进入debug,-g运行后,再-d,此时内存地址是13CD:0000 后面没有显示我的程序的最终结果,而要-d13CB:0000 在这个内存地址中显示了最后结果,为什么?怎么才能做到-g运行后,再-d直接就能在显示的内存地址中显示我要的结果? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询