Linux汇编教程14:系统调用和文件处理下
2015-09-16 21:03
148 查看
紧跟着上一节,这一节我们来完成把小写变大写的功能。在开始之前,我们简单说一下寄存器存放的东西。
%eax – 缓冲区起始地址
%ebx – 缓冲区大小
%edi – 当前缓冲区偏移量
%cl – 当前正在检测的字节
具体实现如下:
Moriarty_221为本文的CSDN博客
如未注明,均为原创,转载请注明出处
转载请注明:coskimo » Linux汇编教程14:系统调用和文件处理下
版权所有 © 科斯基摩 |
本网站采用cc
by-nc-sa 3.0协议进行授权
%eax – 缓冲区起始地址
%ebx – 缓冲区大小
%edi – 当前缓冲区偏移量
%cl – 当前正在检测的字节
具体实现如下:
# 我们搜索的下边界 .equ LOWERCASE_A, 'a' # 我们搜索的上边界 .equ LOWERCASE_Z, 'z' # 大小写转换 .equ UPPER_CONVERSION, 'A' - 'a' ### 栈相关 ### .equ ST_BUFFER_LEN, 8 .equ ST_BUFFER, 12 convert_to_upper: pushl %ebp movl %esp, %ebp movl ST_BUFFER(%ebp), %eax movl ST_BUFFER_LEN(%ebp), %ebx movl $0, %edi cmpl $0, %eax je end_convert_loop convert_loop: movb (%eax, %edi, 1), %cl cmpb $LOWERCASE_A, %cl jl next_byte cmpb $LOWERCASE_Z, %cl jg next_byte addb $UPPER_CONVERSION, %cl movb %cl, (%eax, %edi, 1) next_byte: incl %edi cmpl %edi, %ebx jne convert_loop end_convert_loop: movl %ebp, %esp popl %ebp ret
版权声明
Moriarty_221为本文的CSDN博客如未注明,均为原创,转载请注明出处
转载请注明:coskimo » Linux汇编教程14:系统调用和文件处理下
版权所有 © 科斯基摩 |
本网站采用cc
by-nc-sa 3.0协议进行授权
相关文章推荐
- 虚拟机下linux连不上网
- net-snmp5.7.3移植到arm-linux平台
- Linux基础篇-压缩、解压缩命令
- linux__frameBuffer__操作2--写入和截屏
- linux中监控进程 自动重启
- 初识Linux
- Linux内核学习(二)---Linux中的进程、线程和轻量级进程
- linux openssl漏洞
- linux crontab 定时执行计划命令
- linux字符设备内核源码
- linux关于文件共享
- linux之nm命令
- Linux的SOCKET编程详解
- 【CentOS 6.5】解决QtCreator 安装时错误: 无法解析dbus_connection_can_send_type中的符号"dbus_connection_can_send_type"
- linux telnet端口号修改
- Linux mount命令于的基本用法与umount的命令
- linux每个路由表的系统研究
- 应该知道的Linux技巧
- Linux进程查看,管理工具
- linux下pgsql安装步骤