自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 通用异步收发器UART

UART的介绍UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器),俗称串口。通常计算机与外部设备通信的端口分为并行与串行:a. 并行端口是指数据的各个位同时进行传送,其特点是传输速度快,但是当传输距离远、位数多时,通信线路变得复杂且成本提高;b. 串行通信是指数据一位位地顺序传送,其特点是适合于远距离通信,通信线路简单,只要一对传输线就可以实现全双工通信,从而大大降低成本。串行通信又分为异步与同步两种类型,两者之间最大的差别是:异步通

2022-04-25 21:40:02 1632

原创 通用输入/输出接口 GPIO

GPIO的介绍GPIO(General Purpose Input/Output),通俗点讲就是一些引脚,可以通过它们向外输出高低电平,或者读入引脚的状态。GPIO 接口技术是众多接口技术中最为简单的一种。GPIO 接口具有:功率损耗低、布线简单、封装尺寸小、控制简单等优点,故其应用广泛,在嵌入式系统中占有很大的比重。GPIO 接口通常至少有2个寄存器:通用I/O控制寄存器 和 通用I/O数据寄存器。数据寄存器的各位直接引到芯片外部供外部设备使用,各位上对应的信号是输入还是输出,可通过设置控制寄存器

2022-03-29 16:18:27 2353

原创 看懂Class<T> clazz;所需的Java基础知识

参考博文:https://blog.csdn.net/u012990509/article/details/61494047?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-6.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.

2022-01-20 21:53:55 11730

原创 anaconda3创建虚拟环境失败的解决方法

试了很多遍,终于找到一个有用的方法。错误如下:方法:输入conda clean -i

2021-03-31 13:39:14 4147 8

原创 微机原理 伪指令实例解析(4)

伪指令实例4;eg4.将字符串string中所有字母加密。assume cs:code,ds:datadata segment string db '123Hello!'data endscode segmentstart: mov ax,data mov ds,ax mov bx,offset stringx1: cmp bx,9 ;每次判断字符类型之前先判断一下循环因子 jae exit mov cl,[bx] cmp cl,'A' jb x2 cmp c

2020-10-29 16:23:46 464

原创 微机原理 反汇编实例6

实例7 secret6.exe解密过程:将SI中存储的ASCII码值赋值给AL,将其跟07做与运算,再跟30做或运算,所得结果跟DI中存储的ASCII码值相等。3(33,二进制是00110011),一个数跟30的或运算结果是33,则这个数可能是03、13、23、33。但同时这个数也是某个数跟07做与运算的结果,所以排除掉13、23、33。03是某个数跟07做与运算的结果,那么这个数可能是03、13、23、33。但是,可显示出来的ASCII码只有33这一个。——‘3’同理可推出其余6个数。可以发现

2020-10-29 14:55:01 127

原创 微机原理 反汇编实例5

实例6 secret5.exe将DI中存储的字符(y)赋值给AL,再加一(得到z),与07(二进制是00000111)做与运算,与30(二进制是00110000)做或运算。解密过程如下:z(7A,二进制是01111010),跟07做与运算的结果是00000010(02);将该结果跟30做或运算,结果为00110010(32)。——‘2’p(70,二进制是01110000),跟07做与运算的结果是00000000(00);将该结果跟30做或运算,结果为00110000(30)。——‘0’v(

2020-10-29 14:10:38 180

原创 微机原理 反汇编实例2

实例5 secret2.exe由分析可知:程序要求输入的字符串其实是提示正确信息字符串(you are welcome!)中取9位以内个数的字符。取法是取第1、3、5、7、9、11、13、15、17位上的字符的ASCII码加一。即zvbfxmpf!。因为循环因子CX最初的赋值是8,必须减到0为止,所以输入的字符串必须达到8位。所以答案有2种:输入zvbfxmpf或者zvbfxmpf!。截图如下:总结:该程序跟secret1.exe的不同之处在于,该程序的循环因子是一个提前固定好的常数8,所

2020-10-29 12:49:15 132

原创 微机原理 反汇编实例1

实例4 secret1.exeMOV AH,0AINT 21系统调用,输入一个字符串,(加上最后的回车也是一个字符)长度不超过0A,即10。所以最多只能输入9个字符。DS:0000用来存储字符串的长度,DS:0001用来存储输入字符串的真实长度,即CL用来存储字符串的长度。从DS:0002开始才用来存储输入的字符串,所以SI用来存储输入字符串首字符的地址。DI存储的是提示正确信息字符串的首字符的地址。JNZ(或JNE)(jump if not zero, or not equal),汇编语言中

2020-10-29 11:44:58 206

原创 微机原理 反汇编实例01、02

实例2 secret01.exe第一个字符的ASCII码减一等于58,故该字符的ASCII码是59,该字符是Y;第二个字符的ASCII码加一等于50,故该字符的ASCII码是4F,该字符是O;第三个字符的ASCII码加一等于56,故该字符的ASCII码是55,该字符是U。截图如下:实例3 secret02.exe或运算:有1则1,全0才0与运算:有0则0,全1才1第一个字符:在将其ASCII码减一,跟07做与运算,跟30做或运算之后,它的值跟36相等,即为00110110。于是倒回去,

2020-10-28 23:36:34 226

原创 微机原理 反汇编实例0

实例1 secret0.exe

2020-10-28 21:40:07 256

原创 微机原理 伪指令实例解析(3)

伪指令实例3用寄存器间接寻址的方法可以对数组进行很方便的存取操作。如例3,将字符数组的地址变量赋值给bx,只要增加bx的值的大小就可以顺序取出相应地址里存放的字符,再将bx所指向的地址里的值赋值给另外一个寄存器cx,再对cx中存放的值进行大小比较,判断该字符是否属于数字,进而确定是否对其进行简单地加密。;eg3.将字符串string中非数字的所有字符加密。assume cs:code,ds:datadata segment string db '123Hello!'data endscode

2020-10-22 21:21:07 596

原创 微机原理 伪指令实例解析(2)

伪指令实例2;eg2.找出字符串string中ASC码最大的字符。assume cs:code,ds:datadata segment string db '123Hello!'data endscode segmentstart: mov ax,data mov ds,ax mov bx,offset string mov cl,[bx] ;给cl赋初值;用cl存储字符串中ASC码最大的字符的ASCII码的16进制数据 x1: cmp cl,[bx] ;将cl与后

2020-10-22 19:47:51 470

原创 微机原理 伪指令实例解析(1)

伪指令实例解析1伪指令(pseudo instruction)是用于对汇编过程进行控制的指令,是在编译阶段发挥作用的,由汇编器(MASM、TASM等)来解释。指令:是在执行阶段发挥作用的,由CPU执行。1个8086CPU的寄存器均是16位的,而数据类型有以下两种:1 Byte = 8bit 1字节1 word = 2 Byte = 16 bit 1个字;eg1.将字符串string中的所有数字加密。assume cs:code,ds:datadata segment string db

2020-10-21 23:06:39 1458

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除