本帖最后由 林之白狼 于 2013-1-16 00:39 编辑
以下是论坛搜索的汇编语言答案 实验5 编写、调试具有多个段的程序 (1)将下面的程序编译连接,用Debug加载、跟踪,然后回答问题。 assume cs:code,ds:data,ss:stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment dw 0,0,0,0,0,0,0,0 stack ends code segment start: mov ax,stack mov ss,ax mov sp,16 mov ax,data mov ds,ax push ds:[0] push ds:[2] pop ds:[2] pop ds:[0] mov ax,4c00h int 21h code ends end start ①CPU执行程序,程序返回前,data段中的数据 不变 。 ②CPU执行程序,程序返回前,CS= 0C88H ,SS= 0C87H ,DS= 0C86H 。 ③设程序加载后,CODE段的段地址为X,则DATA段的段地址为 X-2 ,STACK段的段地址为 X-1 。
但是我实际写了代码debug之后的结果却如下图所示:
ds=0B6F,ES=0B6F,SS=0B7F,CS=0B81, ip=0000 和上面红色的所示的结论不一样呀,请问下大神们这是怎么回事啊??
源代码在这里:
T4.rar
(286 Bytes, 下载次数: 9)
|