码迷,mamicode.com
首页 > 其他好文 > 详细

王爽汇编第三版检测点10.5

时间:2018-03-11 00:33:38      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:地址   解析   王爽   div   push   存储   segment   star   第三版   

  (1)下面的程序执行后,ax 中的数值是多少?

 1 assume cs:code
 2 stack segment
 3     dw 8 dup (0)
 4 stack ends
 5 code segment
 6  start:    mov ax,stack
 7         mov ss,ax
 8         mov sp,16
 9         mov ds,ax
10         mov ax,0
11         call word ptr ds:[0]
12         inc ax
13         inc ax
14         inc ax
15         mov ax,4c00h
16         int 21h
17 code ends
18 end start

答案: ax=3

   解析:stack定义16字节的空间,其中都是0.然后ss,sp指向站定也就是stack:[10h],然后让数据段也指向stack空间。也就是说stack段即是栈段也是数据段

      call word ptr ds:[0]读取指令到执行控制器,然后IP地址指向了下一行指令。(inc ax)然后执行call指令。然后push IP。先sp=sp-2,使sp指向了ss:[0eh]。然后这里存储着下一行的偏移地址。

      执行 jmp word ptr 内存单元地址。 此时就执行到了下一行。(inc ax) 所以最后ax=3.

王爽汇编第三版检测点10.5

标签:地址   解析   王爽   div   push   存储   segment   star   第三版   

原文地址:https://www.cnblogs.com/Triomphe/p/8541952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!