• 2017-2018-1 20155222 《信息安全系统设计基础》课上实验2、3


    2017-2018-1 20155222 《信息安全系统设计基础》课上实验2、3

    • 1-ch02
      1.参考附图代码,编写一个程序 “week0601学号.c",判断一下你的电脑是大端还是小端。
      2.提交运行结果”学号XXXX的笔记本电脑是X端“的运行截图,要全屏,包含自己的学号信息

    • 2-ch02
      1.调用附图代码,编写一个程序 “week0602学号.c",用show_int(), show_float()打印一下你的4位学号,参考教材P33打印出匹配的位序列。
      2.提交运行结果截图,要全屏,要包含自己的学号信息

    • 3-ch02

      1. 编写一个程序 “week0603学号.c",运行下面代码:

        1. short int v = -学号后四位
        2. unsigned short uv = (unsigned short) v
        3. printf("v = %d, uv = %u ", v, uv);
      2. 在第三行设置断点用gdb调试,用p /x v; p /x uv 查看变量的值,提交调试结果截图,要全屏,要包含自己的学号信息

      3. 分析p /x v; p /x uv 与程序运行结果的不同和联系

    • 4-ch03

      1. 通过输入gcc -S -o main.s main.c 将下面c程序”week0603学号.c“编译成汇编代码
        int g(int x){
        return x+3;
        }
        int f(int x){
        int i = 学号后两位;
        return g(x)+i;
        }
        int main(void){
        return f(8)+1;
        }

      2. 删除汇编代码中 . 开关的代码,提交f 函数的汇编代码截图,图中用矩形标出函数栈帧的形成和销毁的代码

    • 5-ch03

      1. 通过输入gcc -S -o main.s main.c 将下面c程序”week0603学号.c“编译成汇编代码
        int g(int x){
        return x+3;
        }
        int f(int x){
        int i = 学号后两位;
        return g(x)+i;
        }
        int main(void){
        return f(8)+1;
        }

      2. 参考http://www.cnblogs.com/lxm20145215----/p/5982554.html,使用gdb跟踪汇编代码,在纸上画出f中每一条语句引起的eip(rip),ebp(rbp),esp(rsb),eax(rax)的值和栈的变化情况。提交照片,要有学号信息。

  • 相关阅读:
    课程总结1
    网站概要设计说明书
    数据库设计说明书
    团队项目之7天工作计划
    NABC
    敏捷开发综述
    二维数组最大子数组
    电梯调度
    输出整数数组中 最大的子数组的结果
    【自习任我行】第二阶段个人总结10
  • 原文地址:https://www.cnblogs.com/20155222lzj/p/7752050.html
Copyright © 2020-2023  润新知