汇编语言 在代码段中使用栈
2011-07-28 11:27
155 查看
程序思路:
程序运行时,将定义的数据存放在cs:0~cs:f单元中,共八个字单元。依次将这八个字单元中的数据入栈,然后一次出栈到这八个单元中,从而实现数据的逆序存放。问题是,我们首先要有一段可当作栈的内存空间。如前所述,这段空间应由系统分配。可以在程序通过定义数据来获取一段空间,然后将这段空间当作栈使用。程序如下:
程序运行时,将定义的数据存放在cs:0~cs:f单元中,共八个字单元。依次将这八个字单元中的数据入栈,然后一次出栈到这八个单元中,从而实现数据的逆序存放。问题是,我们首先要有一段可当作栈的内存空间。如前所述,这段空间应由系统分配。可以在程序通过定义数据来获取一段空间,然后将这段空间当作栈使用。程序如下:
assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;用dw定义16个字型数据,在程序加载后,将取得16个字的 ;内存空间,存放16个数据。在后面的程序中将这段 ;空间当作栈使用 start: mov ax,cs mov ss,ax mov sp,30h ;将设置栈顶ss:sp指向cs:30 mov bx,0 mov cx,8 s: push cs:[bx] add bx,2 loop s;将以上代码段0~15单元中的八个字型数据一次入栈 mov bx,0 mov cx,8 s0:pop cs:[bx] add bx,2 loop s0;以上依次出栈8个字型数据到代码段0-15单元 mov ax,4c00h int 21h codesg ends end start;指明程序的入口出在start处
相关文章推荐
- 汇编语言和C语言的混合使用
- 8086汇编语言自学经验分享 汇编源程序中使用jmp命令修改CS:IP
- 32位汇编语言学习笔记(29)--在NASM中使用宏
- 使用MASM12(使用子程序和堆栈平衡原理)- Win32汇编语言020
- 使用汇编语言编写程序,设计一个用8051单片机控制的循环彩灯控制系统
- 汇编语言中将代码段的代码复制到指定地址的方法
- 汇编语言 单步调试失败 解决方法:代码段最好写在数据段的前面
- 汇编语言编译工具DUBUG使用与安装
- 使用多个段来存储数据(汇编语言)
- 王爽汇编语言综合研究-使用内存空间
- 汇编语言之寄存器使用(bx,si,di,bp)
- 使用MASM11(变量的使用2)- Win32汇编语言019
- 王爽-汇编语言-综合研究三-使用内存空间
- 汇编语言使用加减法实现有符号数除法
- 16位汇编 在代码段中使用数据
- linux下使用汇编语言编写hello world!程序
- 使用BIOS进行键盘输入和磁盘读写02 - 零基础入门学习汇编语言76
- 内核态下基于动态感染技术的应用程序执行保护(二 使用汇编语言编写内核态程序)
- windows下32位汇编语言学习笔记 第三章 使用MASM
- 王爽汇编语言综合研究-使用内存空间