- 博客(146)
- 收藏
- 关注
原创 指针元素的使用
执行程序后,数组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
原创 读取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
原创 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
原创 无符号数比较
无符号数比较,不能直接做差,不管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
原创 【无标题】求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
原创 栈破坏检测
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
原创 希尔排序算法应用
希尔排序算法思想: 对于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
原创 程序可能的输出
父进程先执行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
原创 整型数的循环左移和循环右移
整型数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关注的人
RSS订阅