asdasddd 发表于 2015-5-13 06:32:30

《汇编语言》检测点10.5有疑惑

检测点10.5(1)下面的程序执行后,ax中的数值为多少?assume cs:codestack segment   dw 8 dup (0)stack endscode segmentstart:   mov ax,stack   mov ss,ax   mov sp,16   mov ds,ax   mov ax,0   call word ptr ds:   inc ax   inc ax   inc ax   mov ax,4c00h   int 21hcode endsend start 推算:执行call word ptr ds:指令时,先cs入栈,再ip=11入栈,最后ip转移到(ds:)。(ds:)=11h,执行inc ax……最终ax=3
疑惑:从这段代码中是怎么得知 ds: 的值的?

独一无二114 发表于 2015-5-13 15:30:11

标号 stack 是栈段还是数据段

独一无二114 发表于 2015-5-13 15:32:51

call 后面是指令的地址不是数据段的地址
页: [1]
查看完整版本: 《汇编语言》检测点10.5有疑惑