欢迎光临散文网 会员登陆 & 注册

0167-入栈和出栈

2023-08-14 09:36 作者:jiangbo4444  | 我要投稿

环境

  • Time 2022-11-09

  • WSL-Ubuntu 22.04

  • QEMU 6.2.0

  • NASM 2.15.05

前言

说明

参考:《x86汇编语言:从实模式到保护模式》李忠

目标

通过设置 SS 栈段,和 push,pop 指令,反序输出 hello world。

BIOS 中断

栈是一种可以支持后进先出的数据结构,通过这种结构可以将字符串反序输出。

汇编代码

栈段设置

将栈段设置在了 0X7C00 处,刚好是启动代码的入口点,不过栈是向下增长的,所以并不会覆盖代码段。

入栈

通过 push 操作,将字符一个一个的送入栈中。

出栈

通过 pop 操作,将之前压入栈中的数据反向弹出,并输出。

倒序显示hello

总结

通过使用栈,向屏幕倒序输出了 hello world。

附录


0167-入栈和出栈的评论 (共 条)

分享到微博请遵守国家法律