zoukankan      html  css  js  c++  java
  • 2020-2021-1 202029325 《Linux内核原理与分析》第二周作业

    一、
    寻址方式和常用汇编指令
    mov1 %eax, %edx:把寄存器%eax的内容放到%edx中
    mov1 $0x123,%edx:就是吧这个十六进制的数值直接放到edx寄存器中。
    mov1 0x123 %edx:就是把十六禁止的内存地址所指向的那块数据放到edx寄存器里
    mov1 4(%edx),%edx:把这个ebx寄存器存储的数值加上4,然后强制类型转化为一个int类型的指针,在用*取出他的值,然后放到edx寄存器中,这称为变址寻址
    二、本实验是在linux环境下编写了一个由三个函数组成的c语言小程序,在vim编辑的代码如下:(图中9325学号后四位)

    因为在main函数中设置的是无返回值,所以./a,out并没有返回数值,通过>echo$?查看最后的返回值,并通过gcc -S -o main.s main.c -m64
    查看main.s文件如下

    上图中的汇编代码非常繁杂,所以需要对main.s简化一下,所有以“.”打头的字符串不会执行,所以都可以删除,通过g/.s*/d删除这些字符串
    在linux中运行的代码如下:

  • 相关阅读:
    通过 Web 服务共享 Windows 剪贴板
    bzoj 1007[HNOI2008]水平可见直线 半平面交
    c#读写INI
    c#获得伪静态页码
    c#判断部分
    c#网络通信
    C# 转换函数
    c#文件操作
    c#进制转换
    服务器端异步接受SOKCET请求
  • 原文地址:https://www.cnblogs.com/journey97/p/13832194.html
Copyright © 2011-2022 走看看