第五周(10.05-10.11):
学习计时:共小时
读书:
代码:
做业:
博客:
1、学习目标安全
4、学习任务函数
5、后续学习预告(可选):
第四章《处理器体系结构》
6、学习过程
(提示:此处由学生填写,学习过程,学习笔记,代码编译,运行结果,思考等)
3.1历史观点oop
Intel处理器俗称X86,经历了长期的、不断进化的发展过程。
8086—〉Core i7(处理器版本后向兼容)
3.2程序编码
编译代码:gcc =O1 -o p p1.c p2.c
实际上gcc命令调用了一系列程序,将源代码转化成可执行代码。学习
3.2.1机器级代码编码
指令集体系结构ISA:定义了处理器状态、指令的格式,每条指令对状态的影响。翻译
3.3数据格式
char b-字节
short w-字
int l-双字设计
数据传送指令:
MOV S,D指针
movb 传送字节
movw 传送字
movl 传送双字
(上述gcc生成的汇编代码指令都有一个字符后缀,代表操做数的大小)调试
3.5算术和逻辑操做
四种整数操做:code
加载有效地址:实际是将有效地址写入目的操做数,目的操做数必须是寄存器。
一元操做:只有一个操做数,能够是寄存器也但是存储器位置。
3.6控制
翻译条件分支
将条件表达式和语句从c语言翻译成机器语言,最经常使用的方式就是结合有条件和无条件跳转。
do循环
do
body-statement while(test-expr);
loop:
body-statement t = test-expr; if(t) goto loop;
while循环
while (test-expr)
body-statement
if(!test-expr)
goto done;
do
body-statement while(test-expr);
for循环
for(init-expr;test-expr;update-expr)
body-satament
翻译条件分支
将条件表达式和语句从c语言翻译成机器语言,最经常使用的方式就是结合有条件和无条件跳转。
1.寄存器的使用
调用者——%eax、%edx、%ecx
被调用者——%ebx%esi%edi
寄存器%ebp-帧指针
寄存器%esp-栈指针
7、遇到的问题及解决
感受跟上个学期的汇编联系很大,但汇编没学好.....如今看这个比较难过
8、其余 (提示:此处由学生填写,灵感,领悟等)