zoukankan      html  css  js  c++  java
  • 20145228 《信息安全系统设计基础》第五周学习总结 (2)

    教材学习内容总结

    ·IA32利用程序栈来支持过程调用(包括将数据和控制)。为单个过程分配的那部分栈做栈帧。最底端(地址最大)%ebp为帧指针;最顶端(地址最小)%esp为栈指针。当程序执行时,栈指针可以移动

    MOV语句

    ·MOV相当于C语言的赋值”=“,注意ATT格式中的方向, 另外不能从内存地址直接MOV到另一个内存地址,要用寄存器中转一下。

    在IA32中规定不能从内存地址直接MOV到另一个内存地址,要用寄存器进行中转。其中,MOVS是符号扩展;MOVZ是零扩展。

    1.MOV:将源操作数的值复制到目的操作数中;

    2.MOVS:将一个较小的源数据复制到一个较大的数据位置,高位用位扩展;

    3.MOVZ:将一个较小的源数据复制到一个较大的数据位置,高位用零扩展。

    操作数的三种类型

    1·立即数:不超过32位的数值

    2·寄存器:用Ea表示任意寄存器a,R[Ea]表示它的值

    3·存储器:会根据计算出来的地址访问某个内存,用M[addr]表示

    部分练习代码截图

    使用gcc -S -o timu.s timu.c -32命令编译成汇编代码

    删除gcc产生代码中以"."开头的编译器指令

    感悟

    由于上学期没有学习过汇编语言,这几周还需要将汇编方面的基础知识学习了解,这样才能更高效地学好Linux.

    本周代码托管

    代码托管链接

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 4000行 25篇 350小时
    第一周 0/ 0 2/2 20/30
    第二周 100/100 1/3 20/50
    第三周 300/400 1/4 20/70
    第四周 0/400 0/4 0/70
    第五周 300/700 2/6 20/90

    参考资料

  • 相关阅读:
    less的使用
    04 LeetCode --- 反转整数
    03 LeetCode --- 反转整数
    数据结构--- 队列
    数据结构---栈
    数据结构---列表与数组
    04-配置阿里云yum源并启动nginx服务
    03-linux命令
    02-windows下vmware配置nat网络
    01-xshell连接linux
  • 原文地址:https://www.cnblogs.com/J000/p/5966778.html
Copyright © 2011-2022 走看看