笔记

进制

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 

 0    1    2    3    4     5    6    7    8    9    A

1011 1100 1101 1110 1111

  B    C    D    E    F
  FF -1	 FE -2	 FD -3	 FC -4	 FB -5 	FA -6

1字节(Byte)=8位(Bit)

1字=2字节=16位

1双字=2字=4字节=32位

字节:0~0xFF

字:0~0xFFFF

双字:0~0xFFFFFFFF

要存储数据超过存储范围,会被丢弃

char:8位 int:32位

与运算(and&) 1&1 1 0&1 0

或运算(or|) 有1即为1

异或运算(xor^) 不一样的时候为1

非运算(not~) 1~0 0~1

左移(shl<<) 二进制全部左移若干位,高位丢弃,低位补0

右移 各二进制全部右移若干位,低位丢弃,高位补0或符号位

​ 补0(shr>>): 1101 0101 0011 0101

​ 补符号位(sar>>):1101 0101 1111 0101

加法:1)先异或,(不考虑进位的情况下与按位加结果相同)

​ 2)判断是否有进位(与后为0则无进位,与后为1则有进位)

​ 3)有进位则将与的结果左移再和上次异或出来的结果继续异或

0000 0100	4

0000 0101	5

0000 0001

0000 1000

0000 1001

0000 0000

0000 1001	9

寄存器

寄存器

32位通用寄存器:EAX EBX ECX EDX ESP EBP ESI EDI

MOV(移动数据):立即数到寄存器 寄存器到寄存器

16位通用寄存器:AX BX CX DX SP BP SI DI

8位通用寄存器:AL BL CL DL AH BH CH DH

AH(高8位) AL(低8位)

内存

内存(每个应用程序都会有自己的独立的4GB的内存空间)

内存地址:(32位)/(64位)

绝大部分指令(不能从内存到内存)

内存地址表示形式:
1.[立即数]
2.[reg] reg代表寄存器
3.[reg+寄存器]
4.[reg+reg * {1,2,4,8}] (数组) 5.[reg+reg * {1,2,4,8}+立即数]

存储模式:
大端模式:数据高位在低位,数据低位在高位
小端模式:数据低位在低位,数据高位在高位

指令

MOV(移动) ADD(+) SUB(-) AND(与) OR(或)
XOR(异或) NOT(非)
在这里插入图片描述

MOVS() 移动数据 内存-内存
在这里插入图片描述STOS():
在这里插入图片描述
修改EIP指令:
EIP不能用MOV指令修改
JMP指令:JMP 寄存器/立即数/内存
(相当于MOV EIP,寄存器/立即数/内存)
在这里插入图片描述
CALL指令:
在这里插入图片描述
RET指令:
在这里插入图片描述
堆栈平衡:
1.如果要返回父程序,在堆栈中进行堆栈操作时,保证在RET指令前,ESP指向的是压入栈中的地址。
2.如果通过堆栈传递参数了,那么在函数执行完毕后,要平衡参数导致的堆栈变化。
(程序经过编译链接,高级语言中的一个语句转换成一段汇编代码。而这段汇编代码执行前后ESP、EBP应该保持不变。也就是说每个子程序调用前后ESP、EBP不应改变。只有这样,才能让一段代码的执行不影响到以前各次调用的返回地址,从而保证整个程序的正确运行。)

HTML

B/S使用浏览器作为软件客户端,访问网页,软件不需要安装,软件更新时,客户端不需要更新,软件可以跨平台,软件客户端和服务器通信采用HTTP协议,相对不安全。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

只要精神小伙在
到哪都是实力派

好吧我学的是有点慢。。。
字都是手打的 没有Ctrl c Ctrl v…
我发4!

介只是个笔记…
请大佬们不要理我,让我自己玩耍。嘿嘿
在这里插入图片描述

我来交作业啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值