当前位置: 首页 > news >正文

64位ATT汇编语言使用bss段.skip指令储存字符,并使用系统调用输出字符

.global main
.section .data
.section .bss# 需要输出的字符数组,还没有初始化mystring: .skip 4
.section .text
main:# 将mystring这个字符串的地址存入到rbx寄存器中leaq mystring,%rbx# 将a放入到mystring第一个字节里边movb $'a',(%rbx)# 将地址往后边移动一个字节addq $1,%rbx# 将b放入到mystring第二个字节里边movb $'b',(%rbx)# 将地址往后边移动一个字节addq $1,%rbx# 将换行符放入到mystring第三个字节里边movb $'\n',(%rbx)# 将地址往后边移动一个字节addq $1,%rbx# 将NULL放入到mystring第四个字节里边movb $0,(%rbx)# 1是CPU输出的系统调用号movq $1,%rax# rdi = 1,表示输出到屏幕上movq $1,%rdi# rsi里边存放输出的字符串第一个字节的位置movq $mystring,%rsi# rdx = 3,表明只输出3个字节movq $3,%rdxsyscallmovq $60,%raxmovq $0,%rdisyscall

sudo gcc -no-pie skipTest.s -o skipTest进行编译,sudo ./skipTest进行运行。
在这里插入图片描述

http://www.lryc.cn/news/235715.html

相关文章:

  • 贝锐蒲公英路由器X4C如何远程访问NAS?
  • Golang Context 的使用指南
  • vue3使用西瓜播放器播放flv、hls、mp4视频
  • 【Promise12数据集】Promise12数据集介绍和预处理
  • Qt设置整体背景颜色
  • Stream流常见操作
  • INFINI Labs 产品更新 | 发布 Easysearch Java 客户端,Console 支持 SQL 查询等功能
  • 前端调试只会console.log()?
  • CentOS Linux release 7.9.2009 (Core)中安装配置Tomcat
  • 移动机器人路径规划(四)--- 考虑机器人模型下的运动规划KINODYNAMIC PATHFINDING
  • 服务器数据恢复—VMware虚拟化下误操作导致服务器崩溃的数据恢复案例
  • 微服务实战系列之Gateway
  • GZ038 物联网应用开发赛题第10套
  • 重生之我是一名程序员 35
  • 计算机毕业设计选题推荐-点餐微信小程序/安卓APP-项目实战
  • 分享禁止Win10更新的两种方法
  • SPASS-回归分析
  • 【使用vscode在线web搭建开发环境--code-server搭建】
  • c++ list容器使用详解
  • 【案例】可视化大屏
  • js制作动态表单
  • 解决Kibana初始化失败报错: Unable to connect to Elasticsearch
  • 流媒体服务器
  • Java GUI小程序之图片浏览器
  • Kafka-4.1-工作原理综述
  • Linux八股文
  • SPASS-偏相关分析
  • 第二证券:今日投资前瞻:小米汽车引关注 全球风光有望持续高速发展
  • Docker中的RabbitMQ已经启动运行,但是管理界面打不开
  • 自动化网络图软件