![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
二进制学习笔记
文章平均质量分 58
二进制学习笔记
Day-3
与君共勉
展开
-
计算机取证科普性基础
内容为美亚柏科公开课笔记。原创 2023-01-18 14:51:19 · 6906 阅读 · 0 评论 -
汇编语言(7)运算指令
mul后写一个寄存器,另外的一个自动调用ax,结果存到ax中,如果大于16位则存在DX:AX中。ax存储商,dx存储余数。xor异或 两个操作数,放到第一个操作数里and 与 两个操作数,放到第一个操作数里or或 两个操作数,放到第一个操作数里not取反 一个操作数 在汇编中移位命令有很多,左移右移都有不同的类型。左移 左移有 SHL(逻辑左移)、SAL(算术左移) ,两者都是左移,都使用 0 来填充移位产生的空位。两者没有区别。 左移还有 ROL(循环左移)、RCL(带进位循环左移),循环原创 2022-06-25 18:02:58 · 197 阅读 · 0 评论 -
汇编语言(6)使用JCC指令构造分支与循环
汇编语言打印字符串。2 flag寄存器CMP OPRD1,OPRD1SUB影响标志位AX = 8BX = 8相等 AX - BX = 0 ZF = 1AX = 8BX = 1不相等 AX - BX != 0 ZF = 0AX < BX:发生借位CF = 1AX > BX:不发生借位AX - BX = ?CF = 0 ZF = 0AX = BX:AX - BX = ? CF = 0 || ZF = 1...原创 2022-06-25 16:36:20 · 556 阅读 · 0 评论 -
汇编语言(5)寄存器(内存访问)
CPU中,用16位寄存器来存储一个字。高八位存放高位字节,低八位存放低位字节。字单元概念,即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。CPU自动取ds中的数据为内存单元的段地址。CPU不支持直接将数据送入段寄存器的操作。4 mov add sub指令mov 段寄存器,寄存器mov 寄存器,段寄存器mov 内存单元,段寄存器.mov 段寄存器,内存单元将123B0H~123B9的内存单元原创 2022-06-25 14:15:25 · 562 阅读 · 0 评论 -
汇编语言(2)基础知识-debug
机器语言晦涩难懂,且篇幅较长。汇编指令是机器指令便于记忆的书写格式。寄存器:简单的讲是CPU中可以存储数据的器件。汇编语言由三种指令组成:(1)汇编指令:机器码的助记符,有对应的机器码。(核心)(2)伪指令:没有对应的机器码,由编译器执行,没有对应的机器码。(3)其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。存储器芯片从读写属性上看分为两类:RAM(随机存储器)和ROM(只读存储器)。不同的CPU,寄存器的个数、结构是不同的。通用寄存器:AX、BX、CX、DX。物理地址:物原创 2022-06-23 22:55:50 · 594 阅读 · 0 评论 -
(10)二叉树
理论内容转自:https://blog.csdn.net/weixin_51983604/article/details/116451530树树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根在上,而叶在下的。有一个特殊的结点,称为根结点,根节点没有前驱结点。除根节点外,其余结点被分成m(m > 0)个互不相交的集合T1、T2、…… 、Tm,其中每一个集合Ti(1 ...原创 2022-06-22 15:42:50 · 118 阅读 · 0 评论 -
(7)双向链表
目前我们所学到的链表,无论是动态链表还是静态链表,表中各节点中都只包含一个指针(游标),且都统一指向直接后继节点,通常称这类链表为单向链表(或单链表)。虽然使用单链表能 100% 解决逻辑关系为 “一对一” 数据的存储问题,但在解决某些特殊问题时,单链表并不是效率最优的存储结构。比如说,如果算法中需要大量地找某指定结点的前趋结点,使用单链表无疑是灾难性的,因为单链表更适合 “从前往后” 找,而 “从后往前” 找并不是它的强项。...原创 2022-06-20 23:12:45 · 175 阅读 · 1 评论 -
(5)字符串/内存管理/文件/结构体/位运算/预处理器
定义字符串的三种方式字符串输出scanf不判断长度,可能导致溢出。fgets(数组名,数组长度,stdin)获取输入。puts自带换行功能。计算字符串长度int nRet = strlen(string);拼接字符串strcat(拼到哪,从哪拷贝);比较字符串strcmp(strA,strB);返回值为零则字符串相同,非零则字符串不同。拷贝字符串strcpy(拷到的位置,从哪拷,拷贝多长);将不同类型的数据存到一个数组中sprintf(strD,“%s %d %hd”, str原创 2022-06-19 22:33:28 · 209 阅读 · 0 评论 -
(2)基础数据类型与算数运算符
1 数据类型概览K&R:int long short unsigned char float doubleC90:signed voidC99:_Bool _Complex _Imaginary long long2 整数类型(基于MSVC)short 2int 4long 4long long 8有符号指的是存在负数八进制前面加0,十六进制前面加0x,十二进制0b开头声明变量的时候相当于创建了一个32位的内存空间,然后使用变量名标记这块内存。%#o打印八进制的时候原创 2022-05-28 22:25:25 · 67 阅读 · 0 评论 -
(1)环境配置与基础设置
1 C语言1.1 C语言起源作者:丹尼斯 里奇在贝尔实验室发明C语言。代表作品:《The C Progrmming Language》1.2 C语言优点语法易懂,应用广泛,可移植性,更强的操控性1.3 应用领域操作系统,编译器,游戏(现在一般用C++),嵌入式,桌面程序。。。1.4 C语言标准一堆,C89(第一个官方版本),C99(第二个官方版本,我们打算使用的标准),C11(第三个官方版本)1.5 C语言使用步骤确定需求设计程序编写代码编译(链接编译)运行程序测试原创 2022-05-28 13:56:28 · 95 阅读 · 2 评论