linux汇编学习(-)之从键盘输入输出

本文介绍了作者在学习汇编过程中,如何通过查阅资料实现Linux环境下从键盘输入并输出到屏幕的基本操作。经过一个多月的努力,作者希望以此为起点,深入汇编学习。代码已在文中给出,欢迎经验丰富的读者指正。
摘要由CSDN通过智能技术生成

看了一个多月的汇编始终都是门外汉,连个输入输出都很困难,今天终于查阅相关资料实现了得意,也借此寒假的时间好好学习一下汇编,就用下面这段代码来开始汇编的学习吧,如果有什么错误,还请各路大大见谅,毕竟本人也是菜鸟一个!大笑

#实现从键盘输入字符串 并输出
#如果不清楚系统调用函数参数可以使用man 2 function_name 查看
#如 man 2 read
#参数与寄存器对应关系为从左到右分别为ebx,ecx,edx,...(注此为lz自己发现的规律,不一定正确)
#eax 用于指定系统调用的函数代码
#函数对应的宏代码定义可以在头文件/usr/include/asm/unistd.h中看到
.section .bbs                  #定义bbs段
    .lcomm buffer,30
.section .text
.globl _start
_start:
    movl $buffer,%ecx       #下面三条语句将sys_read参数分别传入到相应寄存器,$加变量名相当于取地址
    movl $30,%edx
    movl $0,%ebx
    movl $3,%eax            #系统调用sys_read函数代码
    int $0x80               #使用ox80指定执行系统调用中断代码

    movl $1,%ebx
    movl $4,%eax            #系统调用sys_wr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值