标签:style blog class code tar int art 2014 文件 404 数据
1.将数据、栈都放到代码段中太混乱了。下面我们写一个程序,将数据、代码、栈放到不同的段中
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 mov bx,0 mov cx,8 s: push [bx] add bx,2 loop s mov bx,0 mov cx,8 s0: pop [bx] add bx,2 loop s0 mov ax,4c00h int 21h code ends end start
(2)代码段、数据段、栈段完全是我们的安排
现在,我们以一个具体的程序来再次讨论一下所谓的代码段、数据段、栈段。在汇编程序中,我们可以定义很多的段,比如上面我们定义三个段“code”,“data",“stack”。我们可以安排他们存放代码段、数据、栈。那么我们如何让CPU按照我们的这种安排来执行这个程序呢?我们来看看源程序中对这三个段所做的处理:
mov ax,stack mov ss,ax mov sp,16设置ss指向stack,设置ss:sp指向stack:16,CPU执行这些指令后,将把stack段当做栈空间来用。CPU若要访问data段中的数据,则可用ds指向data段,用其他的寄存器来存放data段中数据的偏移地址。
将数据、代码、栈放到不同的段(感觉很好),码迷,mamicode.com
标签:style blog class code tar int art 2014 文件 404 数据
原文地址:http://blog.csdn.net/getnextwindow/article/details/24796247