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中运行的代码如下:

  • 相关阅读:
    SecureCRT
    NFS服务器搭建
    卸载oracle步骤
    redhat 5.5 x86_x64搭建samba服务器
    ORA-01940: cannot drop a user that is currently connected
    迁移表空间
    日常SQL使用总结
    DataGuard常规操作命令
    使用PowerDesginer画ER图
    数据库卸载
  • 原文地址:https://www.cnblogs.com/journey97/p/13832194.html
Copyright © 2011-2022 走看看