自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 十进制数转换为二进制数

【代码】十进制数转换为二进制数。

2025-12-22 22:18:58 185

原创 把节点插入链表

【代码】把结点插入链表。

2025-12-22 11:18:57 268

原创 利用二叉树寻找最大值及深度

【代码】利用二叉树寻找最大值。

2025-12-18 21:13:09 161

原创 指针元素的使用

执行程序后,数组myStrPtr的元素依次指向"Every solution breeds new problem.","If anything can go wrong,it will.", "Nothing is foolproof.","hello world."和空字符串。指针作为数组元素指向字符串,指针元素按照指向的字符串由长到短的顺序存放。

2025-12-14 17:18:49 227

原创 通过按键控制流水灯的方向

【代码】通过按键控制流水灯的方向。

2025-12-10 11:25:48 136

原创 读取ADC0809的转换结果并显示

ATC89C51驱动8253输出负脉冲,取反后给ADC0809提供启动脉冲,转换开始后,读取EOC引脚脚,若读到高电平,读取转换结果,送七段数码管显示。

2025-12-06 17:53:44 223

原创 8253为A/D转换电路提供可编程的启动转换信号

外部时钟源的频率为N,N0、N1和N2分别为0#、1#和2#的计数初值,则CLK0和CLK2的周期为1/N,CLK1的周期为N2/N,GATE0高电平的时间为。,OUT0输出负脉冲的周期为N0/N。要能产生负脉冲,需要。8253为A/D转换电路提供可编程的启动转换脉冲信号。

2025-12-05 17:44:37 219

原创 8253输出2HZ的方波

8253输出2HZ的方波,驱动发光二极管闪烁。输入时钟脉冲为2MHz,要产生2Hz的方波输出,需要0#和1#计数器级联,0#计数器的CLK引脚输入外部2MHz的脉冲信号,1#计数器的OUT1引脚输出2Hz的方波。

2025-12-05 11:37:46 185

原创 大写字母转换为小写字母

【代码】大写字母转换为小写字母。

2025-12-04 21:07:33 111

原创 ASCII码转换为十进制数

数组a中存放11123的10进制位的ASCII码(先存储最高位的),组合为10进制数后,再得到11123的4个16进制位,从高位到低位依次存储在数组h中。

2025-12-04 09:23:32 172

原创 汇编器标识符编码规则

为了降低成本,项目经理Scrooge博士,决定限制允许使用的标识符的长度以便使每一个标识符都可以存储在一个字中。Scrooge博士宣布,标识符只能由字母组成,但是禁止使用字母Q(以此来表示他们对客户效率的关心)。那么标识符的最大长度是多少?则标识符的最大长度是48/5=9.6,即标识符的最大长度是9。一共可用的标识符为25个,要表示25个字母,需要二进制数的位数为n,则有。取A~Z(除Q)外对应的编码依次为0~24,标识符的最大长度是N,则有。, N=10.3,即标识符的最大长度是10。

2025-11-08 09:53:24 218

原创 1地址计算机求解算术表达式

使用I地址计算机实现,1地址计算机使用一个累加器。操作码8位,地址码16位,总共24位,且是4的倍数。STORE X;通过编程计算X=(A+B。

2025-10-29 10:26:07 212

原创 用汇编语言求n的阶乘

CALL FACTINT 21HJNZ MULTRETDEC AXPOP AXMUL CXRET。

2025-10-27 10:49:24 157

原创 无符号数比较

无符号数比较,不能直接做差,不管x和y谁大,x-y始终大于等于0。要用关系表达式x>y成立与否来判断它们的大小关系。运行结果:r=FFFD。运行结果:r=3。

2025-10-20 17:20:39 97

原创 C程序模拟芯片输入输出

该电路封装在一片芯片内,有3个输入管脚和3个输出管脚。程序首先读入一个“接线表”,每根接线都有自己的一个输入和一个输出。其中,接线的输入可以是3个输入管脚中的一个,也可以是某个与非门的输出;接线的输出可以是3个输出管脚之一,也可以是连接到某个与非门的输入。没有用到的输入都指定为逻辑1。读入接线表后,程序将分别输出芯片可能的。在由客户定制的电路中,类似的芯片已得到广泛应用,因为大部分的工作(将门阵列布置在芯片上)和要实现的电路无关,只需要对每个电路设计不同的接线。写一个程序,模拟一个由两输入与非门组成的。

2025-10-16 10:22:53 339

原创 读写存储器

图2 读出字0的仿真图。图1 写字0仿真图。图2中,CS=1,RD=1,A=0,因此,把字0中的01读出。图1中,CS=1,RD=0,A=0,因此,把01写入字0中。

2025-10-03 10:04:15 139

原创 设计逻辑电路

图1 逻辑与功能逻辑电路。2. 用与非门实现逻辑异或功能,用与非门和非门实现逻辑与功能。1. 用两个与非门实现逻辑与的功能。

2025-09-27 10:57:35 215

原创 【无标题】求2的n次幂的16进制表示

链接: link.图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 .生成一个适合你的列表项目项目项目项目1项目2项目3 计划任务 完成任务创建一个表格一个简单的表格是这么创建的:使用居中使用居左使用居右SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:一个具有注脚的文本。1Markdown将

2025-09-13 10:26:39 645

原创 编写一个名为 tfgets 的 fgets 函数版本

如果用户在 5 秒内未输入一行内容,函数版本,该函数在 5 秒后超时。否则,它返回指向输入行的指针。

2025-08-31 15:16:13 223

原创 解释程序的功能

父进程创建三个子进程,用SIGCHLD信号处理程序回收子进程。当read函数调用被SIGCHLD信号终止时,手动重启read函数调用。

2025-08-29 10:44:52 146

原创 矩阵相乘的实现

方法3:先依次得到c[0][0],c[0][1],一直到c[n-][n-1]的a[i][0]*b[0][j]部分,让k以1为增量变为n-1,不断加a[i][k]*b[k][j],就得到c[0][0],c[0][1],一直到c[n-][n-1]。方法2:先计算得到c[0][0],然后,依次得到c[0][1],c[0][2],一直到c[n-][n-1]。方法1: 先计算得到第0列的元素,然后,依次得到第1列的元素,第2列的元素,一直到第n-1列的元素。n矩阵相乘,C=AB。

2025-08-14 15:40:13 252

原创 由汇编程序完成C函数

因为y=-1,条件语句if(y>0)和else if(y<-2)均不执行,val=4。

2025-08-11 17:33:15 244

原创 统计整数包含十进制数字的个数

【代码】统计整数包含十进制数字的个数。

2025-08-10 16:02:24 395

原创 栈破坏检测

buf在%ebp-20位置处,v在%ebp-24位置处,v比buf更靠近栈顶,buf数组溢出不会破坏v的值,会破坏金丝雀值,经过检查金丝雀值有无改变,就可以判断有无溢出发生。带保护者,v在%ebp-24位置处,buf在%ebp-20位置处。金丝雀值在%ebp-8位置处。B. 在有保护的代码中,对局部变量重新排列如何提供更好的安全性,以对抗缓冲区溢出攻击。不带保护者,v在%ebp-8位置处,buf在%ebp-20位置处。A. 对于两个版本:buf、v和金丝雀值分别在栈中什么位置?

2025-08-09 15:56:03 155

原创 希尔排序应用

使用希尔排序算法实现从放大到小排列数据。

2025-08-01 10:28:31 109

原创 基数排序法应用

基数排序法(LSD)思想:从低位到高位逐步进行排序,最终整体有序。

2025-07-26 20:31:33 132

原创 希尔排序算法应用

希尔排序算法思想: 对于n个无序数据,以小于n的整数d为距离,使用直接插入法,让距离为d的元素有序排列。减小d,继续使用直接插入法,让距离为d的元素有序排列。当d减为1,再使用直接插入法就能把这n个数据变为有序数列。

2025-07-25 11:23:48 97

原创 快速排序法应用

快速排序法的基本思路:有n个无序数据,以第1个数据为基准,比该数据小的数据放到它左边,比该数据大的数据放到其右边。然后对这两部分数据继续进行这样的排序,直到每个部分为空或者只有一个数据时,排序结束。

2025-07-24 11:35:03 128

原创 堆排序法应用

堆排序的基本思路:先构建堆,然后把根节点和最后一个节点交换,除去最后一个节点,剩余节点再构建堆,再一次把根节点和最后一个节点交换,一直到剩余节点数小于等于2时,排序结束。要实现从小到大的顺序排列元素,每个父节点的值大于或等于其任意一个子节点的值;要实现从大到小的顺序排列元素,每个父节点的值小于或等于其任意一个子节点的值。堆排序是一种选择排序算法,堆排序是利用堆的特性进行排序的过程。通常堆的数据结构是二叉堆。堆的特点是根节点的值最大(或最小),且根节点的两个子树也是堆。

2025-07-23 14:18:31 166

原创 程序会输出多少个“Hello”行

父进程输出一个“hello”行,子进程和孙进程各输出两个“hello”行。总共输出5个“hello”行。

2025-07-20 17:00:48 124

原创 程序可能的输出序列

【代码】程序可能的输出序列。

2025-07-20 16:18:09 83

原创 程序可能的输出序列

父进程输出字符b后,调用waitpid函数挂起,直到子进程输出字符c终止后,再运行输出字符c,执行exit(0)终止。

2025-07-19 10:47:10 185

原创 程序可能的输出

父进程先执行printf("x=%d\n", ++x);后执行 printf("x=%d\n", --x);子进程只执行printf("x=%d\n", --x);

2025-07-18 16:39:59 168

原创 重定位条目信息

B. 确定当模块被重定位时,链接器将修改.data中的哪些数据目标。对于每条这样的指令,列出它的重定位条目中的信息:节偏移、A. 确定当模块被重定位时,链接器将修改.text中的哪些指令。对于每条这样的指令,列出它的重定位条目中的信息:节偏移、b) 可重定位目标文件的.text节。c) 可重定位目标文件的.data节。图1是程序C代码及可重定位目标文件的.text节和.data节。节偏移 : 0x000000004。重定位类型: R_386_32。符号名字: x。

2025-07-18 10:37:35 164

原创 静态链接器

​在命令行中,如果定义一个符号的库出现在引用这个符号的目标文件之前,那么引用就不能被解析,链接就会失败。关于库的一般总则:将库放在命令行的结尾。另一方面,如果库不是相互独立的,那么它们必须排序,使得对于每个被存档文件的成员外部引用的符号s,在命令行中至少有一个s的定义是对s的引用之后的。如果需要满足依赖需求,可以在命令行上重复库。​

2025-07-15 17:02:43 314

原创 链接器如何解析多重定义的全局符号

函数和已初始化的全局变量是强符号,未初始化的全局变量是弱符号。不允许有多个强符号;如果有一个强符号和多个若符号,选择强符号;如果有多个弱符号,从中任意选择一个。

2025-07-15 16:33:27 152

原创 可重定位目标文件的符号表

由swap.c的函数版本,得到 swap.o定义或引用的符号,按照要求填写表1。

2025-07-15 15:56:06 222

原创 整型数的循环左移和循环右移

整型数x,循环左移n位,n大于等于0小于16,比如,x=0x1234,n=4,则循环左移4位后,x=0x2341。n的取值范围不变,循环右移n位,比如,x=0x1234,n=4,则循环右移4位后,x=0x4123。

2025-07-10 10:43:33 230

原创 负整数的机器表示

运算结果: -12345的原码、补码和反码依次是:0xB039、 0xCFC7和0xCFC6。负整数可以表示为原码、补码和反码。

2025-07-08 10:51:24 237

原创 16进制整数转换为10进制整数

16进制整数x>0时,由低到高位分离16进制位,每分离出1位时,让其乘以权值后加到和中,一直到x=0时,得到10进制数。当16进制整数x=0时,不需要做变换;当x<0时,用0减去x绝对值的10进制数,就行。

2025-07-06 10:14:59 279

空空如也

空空如也

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

TA关注的人

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