- 博客(11)
- 收藏
- 关注
原创 三章——汇编知识整理之寄存器(内存访问)
内存中的字一个字16位,一个内存单元8位,储存一个字需要两个内存单元,并且这两个单元一般是连续的。高8位存放高位字节,低8位存放低位字节。字单元:存放一个字型数据的内存单位,由两个地址连续的内存单元组成。DS和[XX]DS是段寄存器,通常来存放我们要读取的数据的段地址,[XX],表示偏移地址为XX的内存单元,有了段地址还有偏移地址,我们就可以得到内存单元具体的地址,从而进行数据访问。段寄存器不能像通用寄存器那样操作运算,mov不涉及运算,只是传送指令。栈一种具有特殊访问形式的储存空间,也就是L
2020-08-04 14:46:17
513
原创 Debug功能
1.R指令,查看各个寄存器的数值,还可以修改寄存器的值。2.D指令,查看内存里面的数据。3.E指令,修改值定内存单元里面的内容。4.U指令,查看内存里面的指令,将机器指令翻译成汇编指令。5.T指令,执行一条指令,从CS:IP处开始。6.A指令,对指定内存写入一条汇编指令,计算机自己转换成机器指令存入内存中。。大小写都无所谓。R指令1.查看寄存器的值。2.修改寄存器的值。D指令1.D 段地址:偏移地址如果后面不加结束的地址,电脑会自动的显示128个内存里面的值。2.D 段地址:
2020-08-01 22:03:08
486
原创 一、二章:汇编知识整理之基础知识,寄存器
第一章 基本知识总结机器语言机器语言其实就是和机器交流的语言,是机器指令的集合,机器指令可以控制计算机的一系列的命令。它是一系列二进制语言,计算机将其转化为一系列高低电平,来驱动计算机的电器器件,从而达到某些功能。汇编语言由于机器语言是一堆二进制语言,可读性非常差,所以出现了汇编语言,目的是为了更好的阅读还有书写代码。汇编语言的组成1.汇编指令:机器码的助记符,有对应的机器码。2.伪指令:没有对应的机器码,由编译器执行,计算机并不执行(就是给编译器看的,告诉汇编程序如何进行汇编的指令)3.其
2020-08-01 20:59:55
420
1
原创 计算机进行加减乘除的原理——万物皆加法
数学里面的加减乘除都是建立加法上面的。减法:A - B = A + (-B)乘法:A * B = B 个 A 相加除法:A / B = A 可以减去多少个 B,又因为减法就是加法。所以,得出结论,只要加法,就会减法、乘法、除法。下面来看看计算机是如何进行算术运算的:加法:比如 4+5?计算机只认识0和1,它不知道4还有5,计算机的逻辑就是二进制,我们要把4 + 5 转换为 二进制。4 0000 01005 0000 0101 +————————9 0000 1001计算
2020-07-29 17:39:04
7448
2
原创 对于进制的本质的思考
个人对于进制本质的理解就是:查书。以十进制为例子,比如在十进制里面的1+1其实就是从一往后数一个数,对于1+2,就是从1往后面数两个数,对于4*5,就是从4开始往后面连续数5次每间隔4的数字。对于进制的类别,完全可以说是自定义的,比如二进制、八进制、十进制、十六进制,对于进制里面的符号也完全可以自己定义。比如正常情况下面的所有进制,从小到达基本都是:1,2,3…依次加一,对于十六进制,加到10就换成了字母,从a开始依次以一个位别相加,a,b,c,d…都是每隔一个单位长度依次相加的,这只是规定,并不是
2020-07-27 23:48:05
996
原创 Git的知识总结
本博客是看完B站的教学视频后所总结的知识,最下方有参考治疗。Git的建立其实是为了解决版本控制问题所开发的软件,类别为分布式版本控制。1.Git的结构。先来看看有关git的图吧。在我看来,Git很像电路中的并联,如果其中一个灯泡断了,不会影响到其他灯泡,每一个人都有全部的代码。所有的版本信息都会同步到每一个本地的用户,这样就可以每个人都看到版本的历史,这样的话,当你修改你的版本的时候,在没有网络的时候,你可以提交到你的本地仓库,在连接到互联网的时候,你就可以push到远程仓库。由于每一个用户都有
2020-06-27 11:41:55
239
原创 原码、反码、补码的知识总结
原码、反码、补码的基础概念原码:就是一种计算机中对数字的二进制定点表示方法。它的表示方法就是最高位表示符号位,1代表负,0代表正。比如:1(原码)= 0000 0001-1(原码)= 1000 0001反码:正数的反码等于它本身;负数的反码就是负数的原码在符号位不变的基础上,其余各个位取反;+1 = 0000 0001(原)= 0000 0001(反)-1 = 1000 0001(原)= 1111 1110 (反)补码:正数的补码是它本身;负数的补码是它的反码再+1;+1 =
2020-06-22 16:32:30
1236
原创 算术左、右移位与逻辑左、右移位,右移一位和除二的区别、算术溢出
当你通过搜索逻辑,算术移位运算的时候,一直寻找资料,只不过可能你没有找到满意的回答,看到这,你大概率可以结束你的搜索过程了。这里先说一句很重要的话:正数的原码,反码,补码三者相同。负数的反码就是该负数的绝对值(正数)的原码的所有位取反,负数的补码就是反码加一。如果你想了解反码,原码,补码的定义还有补码为什么要+1,为什么补码比原码多表示一个数的话,你可以看我的另一篇文章《原码、反码、补码的知识总结》,1.算术左移-逻辑左移他们都遵循:高位丢弃,低位补零。对于一个数字:00110011算术
2020-05-29 21:05:31
18561
6
原创 三、实现LED花样流水
上一章我们讲了LED闪烁,这一次我们来讲LED流水灯;由于我的开发板没有流水灯模块,我利用静态数码管来代这一个实验;数码管原理图:图1—— 从图可以知道,这是一个共阳极,点亮LED需要低电位。2.实现思路,把它拆分成多个小步骤:2.1 让每一个LED闪烁一次,轮流闪烁,一直循环着,根据不同的顺序可以实现不同的流水效果;2.2 点亮LED,闪烁LED,一个接着一个闪烁,形成顺序,一直循环,形成流水。3.将想法转化为代码:下面实现从高位到低位的流水灯://APDX's Blog
2020-05-26 21:41:38
1468
1
原创 二、实现LED闪烁
接着上一次的博客结尾的LED闪烁:由于上一章我已经讲了LED的导通原理,这里就不在多讲了,直接讲实现LED的闪烁;实验思路:同样地,对于一个问题,首先剖析,然后串联起来。思考过程1…第一步,点亮LED,也就是正向导通LED。.2.第二步,关闭LED,也就是不导通LED。3.第三步,重复实现第一步还有第二步。将思考过程转化为代码过程:1.导通LED也就是 LED=1;2.不导通LED也就是LED=0;3.循环第一和第二步,利用循环语句;这样,总的框架就是这样。下面展示代码:// A
2020-05-26 17:36:07
1737
原创 一、点亮你的LED,同时点燃你的热情。
前排提示(.本文以及后面的51单片机学习资料整理均是使用STC89C516芯片,后面附有原理图。)由于我使用的开发板并没有独立的LED模块,我便用点亮静态数码管(共阳)来代替点亮LED,原理是一样的,静态数码管其实就是多个LED构成的,废话不多说,下面开始讲解点亮LED的原理还有实现的代码。下面一段是废话,时间紧迫者可以跳过:发光二极管叫LED,外文名 Light Emitting Diode,直译的话就是光 发射 二极管,我们从中学就知道二极管具有单向导通性,所以我们很自然的想到发光二极管也有单向导
2020-05-16 22:06:02
382
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人