标签:调试 除法 blog linu www. char 机器码 数组 没有
参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和”
测试代码传入自己的8位学号
上方提交代码
附件提交运行测试截图
解答:
编写代码
#include <stdio.h>
void main(int argc,char** argv)
{
int i,a,sum=0;
for(i=1;i<argc;i++)
{
a=atoi(argv[i]);
sum = sum +a;
}
printf("%d\n",sum);
}
代码调试中的问题及解决方法
运行结果
把第一个练习中的代码在X86-64(Ubuntu)中反汇编,给出汇编代码和机器码的截图
把X86-64汇编翻译成Y86-64汇编,并给出相应机器码的截图(使用附件中的Y86-64模拟器)
代码调试中的问题及解决方法
问题一: 在安装Y86的时候出现了这个问题
解决:通过输入命令sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock
,以及sudo rm /var/lib/dpkg/lock
之后成功解除占用。
运行结果
X86-64汇编代码
X86-64机器码
服务器响应消息格式是
客户端IP:XXXX
服务器实现者学号:XXXXXXXX
当前时间: XX:XX:XX
4.47
解题思路:
具体方法为:将指针赋给数组的头地址,然后按位移动指代
C格式:int *data=a;
*(data+i);
将所得的C程序汇编一下获得相应的汇编代码
gcc -S .c -o
去掉相应的“.”
将所得的Y86代码与用机器产生的反汇编代码比对,验证准确性
解题过程:
对比及修改
注意事项
2017-2018-1 20155336 《信息安全系统设计基础》第八周课堂测试
标签:调试 除法 blog linu www. char 机器码 数组 没有
原文地址:http://www.cnblogs.com/hxl681207/p/7822808.html