16位汇编 在代码段中使用栈

原创 2016年08月29日 21:15:52

在代码段中使用栈, 置换
0123  0456  0789  0abc  0def  0fed    0cba  0987
0987  0cba  0fed   0def   0abc  0789  0456  0123

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  ;定义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      ;将16个数据循环压栈

	mov bx,0
	mov cx,8

	s0:
	pop cs:[bx]
	add bx,2
	loop s0   
	
	mov ax,4c00h  ;将16个数据循环出栈
	int 21h

codesg ends

end start





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

16位和32位代码段的区别

转自:http://hi.baidu.com/guanxinsui/blog/item/bf9cc5abe3a0d81b4b36d6b5.html 16位和32位代码段的区别 2011-01-...

关于16位和32位代码段

转自: http://hi.baidu.com/phps/blog/item/48a2a83487ab1eb3d1a2d371.html 在调试一段保护模式代码,搞了大半天发现原来是在切...

8086汇编学习之代码段、数据段、栈段与段地址寄存器

同类学习笔记总结: (一)、8086汇编学习之基础知识、通用寄存器、CS/IP寄存器与Debug的使用 (二)、8086汇编学习之DS寄存器、SS/SP寄存器 (三)、8086汇编学习之[B...

16位代码段与32位代码段的区别

16位代码段与32位代码段的区别: 16位代码段与32位代码段的区别如下: 16位代码段最长只能为64k,段内偏移量为16位,默认的指令地址及操作地址为16位;  32位代码段最长可以4G,...

第6章 6.2 在代码段中使用栈

在看原书代码之前,我试图自己完成书中提出的问题:使用代码段中的栈空间,于是我写出了如下代码段: assume cs:code code segment dw 0123h, 0456h, 078...

silverlight 使用的代码段

16位汇编第一讲----Debug的使用以及Hello World(2016.11.29)

0x00 Debug的基本使用 何为Denug? Dubug是Window和Dos下都提供的实模式调试工具。 Debug的使用。 cmd下Debug就可以进入调试,注意64位系统下已经没有Deb...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)