zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155310 《信息安全系统设计基础》第六周课上测试补交

    第六周课上测试-3-ch02

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

    1 short int v = -学号后四位
    2 unsigned short uv = (unsigned short) v

    2.printf("v = %d, uv = %u ", v, uv);

    3.在第三行设置断点用gdb调试,用p /x v; p /x uv 查看变量的值,提交调试结果截图,要全屏,要包含自己的学号信息

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

    当时没有来得及提交截图,就在下一个实验中提交了,这里重新整理一下。

    #include<stdio.h>
    int main()
    {
            short int v=5310;
            unsigned short uv=(unsigned short)v;
            printf("v=%d, uv=%u
    ", v, uv);
    }
    

    第六周课上测试-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;
     }
    

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

    •display /i $pc命令在每次执行下一条汇编语句时,都会显示出当前执行的语句。

    -x/na +地址,显示该寄存器的值。

  • 相关阅读:
    js函数调用模式
    js闭包和回调
    js原型
    oracle sql优化笔记
    shell脚本学习
    程序与资源管理
    vi/vim学习
    压缩和解压缩
    用户及用户组
    万用字符和特殊字符
  • 原文地址:https://www.cnblogs.com/m20155310/p/7751839.html
Copyright © 2011-2022 走看看