2017 2018 1 20155229 《信息安全系统设计基础》第十四周学习总结 对“第三章 程序机器级表示”的深入学习 我选择这章的理由是第一次学的时候还是不太理解,老师也有说这章建议在认真学习,所以本周的学习任务是认真再次学习这一章 c语言、汇编代码以及机器代码 这三者的关系大概顺序是: [1 ...
分类:
其他好文 时间:
2017-12-24 16:58:17
阅读次数:
165
20145221 《信息安全系统设计基础》第5周学习总结 程序的机器级表示 历史观点 Intel处理器系列:俗称x86,开始时是第一代单芯片、16位微处理器之一。 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全; 8086的分段模式; IA32的带保护模式的平坦模式 每个后继处理器的设计都 ...
分类:
其他好文 时间:
2017-12-24 15:49:48
阅读次数:
190
深入理解计算机系统第三章 程序的机器级表示 练习题解析 3.1 | 操作数 | 值 | 注释 | | | | | |%eax|0x100|寄存器| |0x104|0xAB|绝对地址| |$0x108|0x108|立即数| |(%eax)|0xFF|地址0x100| |4(%eax)|0xAB|地址0 ...
分类:
其他好文 时间:
2017-12-17 23:43:55
阅读次数:
1253
前阵子让写makefile,纠结了下,基本忘记差不多了。 1.gcc的编译选项 -c 只是编译不链接,生成目标文件“.o” -S 只是编译不汇编,生成汇编代码 -E 只进行预编译,不做其他处理 -g 在可执行程序中包含标准调试信息 -o file 把输出文件输出到file里 -v 打印出编译器内部编 ...
分类:
其他好文 时间:
2017-12-11 00:43:18
阅读次数:
161
研究实验5 问题引出:我们经过之前的研究已经知道了函数就是汇编中的子程序这样一个概念,那么但是函数的参数是如何传递呢,是汇编语言学习中参数传递的哪种方式呢? 问题研究: 图1-2 a.exe汇编代码 从图中的汇编代码我们可以清晰的发现,C语言中传递参数是通过栈来传递参数,这在之前汇编语言中是有介绍的 ...
分类:
其他好文 时间:
2017-12-09 23:59:02
阅读次数:
407
变量的本质 研究过程: 对程序进行编译连接之后,生成.exe文件,再次用debug加载此程序,执行其汇编代码。 再次得到之前已经得到的结论,C语言中函数的参数传递是通过堆栈的方式进行参数传递的。 图1 堆栈传参 同时看出,函数的返回值保存在寄存器AX中,这也是之前得到过的结论。 同时发现,程序运行时 ...
分类:
其他好文 时间:
2017-12-09 23:57:27
阅读次数:
276
首先编写C语言源程序文件,如Hello.c 执行gcc命令,生成a.out可执行文件 ./a.out 执行 gcc命令 gcc(选项)(参数) -o:指定生成的输出文件,未指定输出文件,默认输出为a.out。 -E:仅执行编译预处理; -S:将C代码转换为汇编代码; -wall:显示警告信息; -c ...
分类:
编程语言 时间:
2017-12-03 12:53:30
阅读次数:
142
1、启动调试程序 gdb 调试对象,例如gdb app 2、运行程序 run 或这简写为r 3、设置断点 有几种不同的方式 1)break line 2) break file:line 3) break function:offset 4、中断后继续执行 c 5、显示汇编代码 disassembl ...
分类:
数据库 时间:
2017-12-02 00:41:00
阅读次数:
259
原文转自 http://blog.csdn.net/alexcrazy/article/details/7183312 解决方案: 1. 下载nasm.exe和ndisasm.exe作为加载汇编代码用的。(xvid编码,解码); 2. 假如你的VC6.0安装在C:把上面的nasm.exe和ndisa ...
分类:
其他好文 时间:
2017-11-29 17:01:19
阅读次数:
450
第四周汇编2课堂测试画的图抽象且不完整,这里做一下补充。 (1)源代码: (2)汇编代码: (3)调试 可以看到main函数的汇编代码,用 (info registers)查看各寄存器的值。 可以使每次执行下一条汇编语句时都会显示出当前执行的语句。 单步执行 ,esp减4从0xbffff118变为0 ...
分类:
其他好文 时间:
2017-11-25 22:39:31
阅读次数:
144