2017-2018-1 20155222 《信息安全系统设计基础》第8周学习总结

2017-2018-1 20155222 《信息安全系统设计基础》第8周学习总结

课上内容补做

    1. 课上作业2
      源程序:
#include main(int argc,char *argv[])
{
	int i,sum=0;
	for(i=1;i<argc;i++)
		sum+=atoi(argv[i]);
	printf("%d\n",sum);
}

汇编代码与机器代码:

y86汇编码:

.file   "sum.c"

    .section    .rodata

.LC0:

    .string "Total: %d\n"

    .text

    .globl  main

    .type   main, @function

main:

.LFB2:

    .cfi_startproc

    pushq   %rbp

    .cfi_def_cfa_offset 16

    .cfi_offset 6, -16

    movq    %rsp, %rbp

    .cfi_def_cfa_register 6

    subq    $32, %rsp

    irmovq  %edi, -20(%rbp)

    irmovq  %rsi, -32(%rbp)

    irmovlq $0, -4(%rbp)

    irmovlq $0, -8(%rbp)

    jmp .L2

.L3:

    movl    -8(%rbp), %eax

    cltq

    leaq    0(,%rax,8), %rdx

    movq    -32(%rbp), %rax

    addq    %rdx, %rax

    movq    (%rax), %rax

    movq    %rax, %rdi

    call    atoi

    addl    %eax, -4(%rbp)

    addl    $1, -8(%rbp)

.L2:

    movlq   -8(%rbp), %eax

    cmpl    -20(%rbp), %eax

    jl  .L3

    movl    -4(%rbp), %eax

    movl    %eax, %esi

    movl    $.LC0, %edi

    movl    $0, %eax

    call    printf

    movl    $0, %eax

    leave

    .cfi_def_cfa 7, 8

    ret

    .cfi_endproc

.LFE2:

    .size   main, .-main

    .ident  "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609"

    .section    .note.GNU-stack,"",@progbits
	
    基于socket 使用教材的csapp.h csapp.c,实现daytime(13)服务器(端口我们使用13+后三位学号)和客户端
    服务器响应消息格式是

    客户端IP:XXXX
    服务器实现者学号:XXXXXXXX
    当前时间: XX:XX:XX

    上方提交代码
    提交一个客户端至少查询三次时间的截图测试截图
    提交至少两个客户端查询时间的截图测试截图

posted @ 2017-11-12 15:25  20155222卢梓杰  阅读(182)  评论(0编辑  收藏  举报