关闭

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

151人阅读 评论(0) 收藏 举报
分类:

在代码段中使用栈, 置换
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





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:948722次
    • 积分:11632
    • 等级:
    • 排名:第1305名
    • 原创:371篇
    • 转载:42篇
    • 译文:0篇
    • 评论:130条
    最新评论