逻辑运算

1.或运算:两位数只要有一位是1——真(1)
汇编:or                  c语音:‖
2.与运算:两位数都为1——真(1)
汇编:and              c语音:&
3.异或运算:两位数不相同——真(1)
4.汇编:xor            c语音:^

5.非运算:0为1,1为0

汇编:not          c语音:!

计算机的计算2+3运算(cpu)

汇编语言的2➕3的计算

 

两个16进制数代表一个字节

一个位存储一个1和0

寄存器与内存

CPU里的存储容器为寄存器,

内存条里的存储容器为内存

1.寄存器

通用寄存器

 16位是在32位的寄存器里,8位在16位 里(32,16,8都是指的能存多少个0或1,即二进制)

一个16进制数用四位二进制数表示

 如图:

1.mov指令

2.ADD-加法,SUB-减法。

MOV EAX, 12345678        //1234678为立即数

ADD EAX,1                      //EAX加上1,并放到EAX里(EAX+1=EAX)

MOV ECX,2

ADD EAX,ECX            

SUB EAX,3              //EAX-3=EAX

3.and

4.xor

2.内存

1.32位指内存里的寻址条最大寻址范围(最大寻址宽度{编号},即0xfffffffff)

也是指4g,但也可以超过4g.

2.每个内存单元的宽度为8(16位制,为一个字节

byte 字节=8(bit)                              1kb=1024byte

word 字=16(bit)                              1mb(兆=1024kb   

dwoed 双字=32(bit)                         1gb=1024mb

3.在汇编中内存编号要加[],且要规定内存宽度

mov dword ptr DS:[0x0012f5f4],0x12345678   //ptr提示后面是内存编号

sub eax,4                      //eax减4

寻址公式:

1.立即数

读取内存的值

MOV EAX,DWORD PTR DS:[0X13FFC4]    //dword--32位

MOV EAX,DWORD PTR DS:[0X13FFC8]

向内存写入数据

MOV DWORD PTR DS:[0X13FFC4],0x87654321

MOV DWORD PTR DS:[0X13FFC8],ebx

获取内存编码

LEA ECX,DWORD PTR DS:[0X13FFC4]

LEA EAX,DWORD PTR DS:[ESP+8]

2.用寄存器表示地址

读取内存值

MOV ECX,0X13FFC4     //把地址放进ECX里

MOV EAX,DWORD PTR DS:[ECX] 

3.寄存器+立即数

读取内存值

MOV ECX,0X13FFC4     

MOV EAX,DWORD PTR DS:[ECX+4]   //取得是0x13FFC8

4.[reg+reg*i]     //reg指寄存器,i为1,2,4,8

MOV EAX,0X13FFC4

MOV ECX,2     

MOV EDX,DWORD PTR DS:[EAX+ECX*4]       //0X13FFC4+(2*4)

5.[reg+reg*i+立即数]        //i为1,2,4,8

MOV EAX,0X13FFC4

MOV ECX,2     

MOV EDX,DWORD PTR DS:[EAX+ECX*4+4]       //0X13FFC4+(2*4)+4

堆栈

1.本质为内存

2.栈 是用来存储临时变量,函数传递的中间结果

栈顶(esp),栈底(ebp)

入栈(push),出栈(pop)——地址都是改变esp

3.

 

 

 

push

 立即数(push 1.....)———永远都是减四(不能超过32位

push 寄存器(push ax )———不能用八位寄存器(16位是减二,32位减四

push    内存(push dword ptr ds :[0x12FFDA])———(dword—减四,word—减二

 

esp减四,并将内存里的值存入栈顶

pushad

esp向后移,并且将八个寄存器里的值存入了内存中

popad恢复

 

 

 

 

 

 

 

 

 

 

 

posted @   雨里青山隐  阅读(8)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示