汇编学习了解

汇编学习-1

什么是机器语言:

#目前的电子计算机
状态0和1
#最早的程序员,穿孔卡带

加 0100 0000
减 0100 1000
乘 0100 1000 0100 1000
除 0100 1000 1100 1000

之后简化成为助记符。汇编语言,将人能理解读语言转换成计算机语言

加 IMC 
减 DEC 
乘 MUL
除 DIV

C语言

加 + 
减 — 
乘 *
除 /

进制

一进制,一进一,结绳记事

二进制,二进一 ,计算机

八进制,八进一,8个符号组成 0 12 3 4 5 6 7

10进制

16 进制,16进一,0123456789abcdef

查数。

测试

#三进制写1-20
0 1 2 
10 11 12 
20 21 22
100 101 102
110 111 112
。。。。。。。
#7进制写1-20
0 1 2 3 4 5 6 
10 11 12 13 14 15 16
20 21 。。。。。。。。
#2进制
0 1 10 11 100 101 110 111 1000。。。

#一组符号,逢几进几

进制的运算

#8进制运算
2+3=5
2*3=6
4+5=11
4*5=24
277+333=632
276*54=20250
234/4=47

二进制

计算机使用二进制 01 状态 电子计算机 有弊端,物理的极限,摩尔定律,追求语言的极限

二进制简写

–>

16进制

0 1 2 3 4 5 6 7 8 9  a b c d e f

1111 1111 ff

数据宽度

c c++ java 定义数据类型,定义宽度

位 0 1

字节 8位 0-0xFF

字 0-0xFFFF

双字 0-0xFFFFFFFF

在计算机中,每个数据都需要给他定义数据类型,给他定义宽度,在内存中的宽度

有符号数和无符号数

数据都是有宽度的,每个数据代表什么意思呢?二进制

010101

规则

无符号数规则

你这个数字是什么就是什么

10011010    16进制 0x9A   10进制  154

有符号数规则

最高位是符号位 1(负数)0(正数)

10011010   如何转换

原码反码补码

编码规则:有符号的

原码码:最高位是符号位,对其他位进行本身的绝对值

反码:正数 反码和源码相同

​ 负数 符号位是1其余位对原码取反

补码:正数 反码和源码相同

​ 负数 符号位是1 反码+1

测试

#如果是正数都一样
原码 0000 0001
反码 0000 0001
补码 0000 0001

#负数
原码 1000 0001
反码 1111 1110 
补码 1111 1111

-7
原码:1000 0111
反码:1111 1000
补码:1111 1001

#2进制标志
2 10
4 100
8 1000

位运算

2*8最高效的运算方式

很多底层的调试器,需要通过位判断cpu状态

与运算(and &)

预算规则:

0&0=0;0&1=0;1&0=0;1&1=1

即:两个同时为1,结果为1,否则为0

例如:3&5

十进制3转为二进制的3:0000 0011

十进制5转为二进制的5:0000 0101

------------------------结果:0000 0001 ->转为十进制:1

即:3&5 = 1

或运算(|)

运算规则:

0|0=0; 0|1=1; 1|0=1; 1|1=1;

即 :参加运算的两个对象,一个为1,其值为1。

例如:3|5 即 00000011 | 0000 0101 = 00000111,因此,3|5=7

异或运算符(^)

运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;

即:参加运算的两个对象,如果两个位为“异”(值不同),则该位结果为1,否则为0。

例如:3^5 = 0000 0011 | 0000 0101 =0000 0110,因此,3^5 = 6

位运算的加减乘除

4+5?

0000 0100
0000 0101
---------
0000 1001


#计算机实现原理

#1异或
0000 0100
0000 0101
---------
0000 0001
#2与运算(判断进位,如果结果为零则没有进位)
0000 0100
0000 0101
----------
0000 0100
#3将与运算的结果左移一位
0000 1000

#4异或运算
0000 0001
0000 1000
---------
0000 1001
#5与运算判断是否有进位
0000 0001
0000 1000
-----------
0000 0000

#6结果为与运算为零的上一步的结果

4-5?

4+(-5)

0000 0100 
1111 1011
---------
1111 1111 ff

#异或
0000 0100 
1111 1011
---------
1111 1111
#与运算
0000 0100 
1111 1011
---------
0000 0000


结果:1111 1111  ff

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值