<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a1309602336的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a1309602336</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a1309602336]]></copyright><item><title><![CDATA[求助deepsee 生成语法树代码]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/148907098</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/148907098</guid><author>a1309602336</author><pubDate>Wed, 25 Jun 2025 21:17:56 +0800</pubDate><description><![CDATA[【代码】求助deepsee 生成语法树代码。]]></description><category></category></item><item><title><![CDATA[汇编器 数据段 代码段生成代码]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/148643601</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/148643601</guid><author>a1309602336</author><pubDate>Fri, 13 Jun 2025 23:52:09 +0800</pubDate><description><![CDATA[由LOAD指令读取lable地址问题求助deepsee看代码新增少猜是原来是代码段指令于是复制粘贴代码段意外发现数据段指令解析实现汇编编译文件运行虚拟机”0000000是自动生成的，应当以第一个指令为起始地址。汇编 input.txt。相关视频详情鄙人b站视频。]]></description><category></category></item><item><title><![CDATA[使用C语言写汇编器 实现JMP 跳转到指定lable 区域]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/148382898</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/148382898</guid><author>a1309602336</author><pubDate>Mon, 02 Jun 2025 16:02:57 +0800</pubDate><description><![CDATA[偏移计算是目标地址减去当前地址-4，减4是 4是指令长度，但是减少4字节，从第一个指令跳转到另一个指令0到4应该是如此，读取起点是0字节，读完是3号字节，下一次读是4号字节，自然从0+4到开始读取的地方，原来如此，读完指令了，整好就到4号字节了，还得回到指令开始字节进行偏移。然后让deepsee写一个标签识别，对着思路看代码原来真是这样，直接记录当前行号，当读到标签时就可以了，因为地址只受指令增加而影响，其他不改变地址。躺在床上想，标签记录的是哪里，有了指令，但是地址怎么计算？原来符号表是这样安排的，]]></description><category></category></item><item><title><![CDATA[手写汇编器，在DEEPSEEK 部分代码下手动补充，SUB 改立即数 和寄存器俩指令存储]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/148380716</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/148380716</guid><author>a1309602336</author><pubDate>Mon, 02 Jun 2025 12:30:23 +0800</pubDate><description><![CDATA[【代码】手写汇编器，在DEEPSEEK 部分代码下手动补充，SUB 改立即数 和寄存器俩指令存储。]]></description><category></category></item><item><title><![CDATA[使用 DEEPSEEK 生成汇编器并可自定义功能拓展实现符号解析]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/148380244</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/148380244</guid><author>a1309602336</author><pubDate>Mon, 02 Jun 2025 11:40:51 +0800</pubDate><description><![CDATA[部分功能没有导致符号解析成标签了。]]></description><category></category></item><item><title><![CDATA[备份 汇编器 使用枚举类型的 代码]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/148363652</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/148363652</guid><author>a1309602336</author><pubDate>Sun, 01 Jun 2025 10:21:32 +0800</pubDate><description><![CDATA[本文摘要：这是一个简易汇编器的C语言实现，主要包含词法分析和语法分析功能。程序通过枚举类型定义汇编指令和寄存器，使用结构体存储指令信息。核心功能包括：初始化指令表、分词处理、指令类型转换和递归下降分析。分词模块能够处理空格、逗号、制表符等多种分隔符；翻译模块将单词转换为内部表示；指令解析模块采用函数指针实现不同指令的处理。程序还包含寄存器匹配、立即数处理等辅助功能，最终输出识别出的指令和操作数。代码中体现了通过批量生成重复代码提高开发效率的思路，以及处理汇编指令翻译的基本框架。
]]></description><category></category></item><item><title><![CDATA[递归下降代码试水]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/147354573</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/147354573</guid><author>a1309602336</author><pubDate>Sat, 19 Apr 2025 19:31:12 +0800</pubDate><description><![CDATA[【代码】递归下降代码试水。]]></description><category></category></item><item><title><![CDATA[递归下降 ll（1） 型文法 识别二元组文法分析]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/147354548</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/147354548</guid><author>a1309602336</author><pubDate>Sat, 19 Apr 2025 19:29:53 +0800</pubDate><description><![CDATA[【代码】递归下降 ll（1） 型文法 识别二元组文法分析。]]></description><category></category></item><item><title><![CDATA[NFA 通过子集法化成DFA]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/147075668</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/147075668</guid><author>a1309602336</author><pubDate>Tue, 08 Apr 2025 19:38:12 +0800</pubDate><description><![CDATA[舍弃了 3，4，5，6 原因是形成新的集合后，没有可以到达的路径，本质是5号终态融合进了CDE状态中，只不过这些状态是5和其他状态叠加的，既是走到5状态，又是走到其他状态，但是只要是停留在5状态，就一定可以符合规定。]]></description><category></category></item><item><title><![CDATA[自制汇编器]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146427368</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146427368</guid><author>a1309602336</author><pubDate>Fri, 21 Mar 2025 19:12:44 +0800</pubDate><description><![CDATA[根据b站电路，自制简单汇编器。]]></description><category></category></item><item><title><![CDATA[状态机按列开始 逐个打表，导致好理解，但是不好写，没有回溯，++ 重复]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146417984</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146417984</guid><author>a1309602336</author><pubDate>Fri, 21 Mar 2025 12:33:17 +0800</pubDate><description><![CDATA[状态矩阵有行列，按行，会进入最终状态，按列，就没有了回溯。]]></description><category></category></item><item><title><![CDATA[PL0 语法分析器 状态机 最后\0 单独检测发现可合并代码]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146417224</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146417224</guid><author>a1309602336</author><pubDate>Fri, 21 Mar 2025 11:50:33 +0800</pubDate><description><![CDATA[手动解决由于从 fscanf 切换到fgets 读取多个空格导致空格加入到分割的词语中而不是过滤掉的问题。这样只有statu=1时，读入空白字符，statu=1，会继续清空旧数据。为减少代码量，修改函数发现不能合并情况，好奇怎么回事，于是又回到通关版本进行合并。因为退出状态一定是 statu=1，但是不知道之前有没有空格。但是statu=1时，新的数字要从0开始填充，于是num复位。对check 函数进行了修改。代码一样，只是增加了注释，以及复位statu =1。实际完善后的完整代码。]]></description><category></category></item><item><title><![CDATA[编译原理 pl0 词法解析器 使用状态机与状态矩阵，和查找上一步得到分析]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146407049</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146407049</guid><author>a1309602336</author><pubDate>Thu, 20 Mar 2025 21:54:24 +0800</pubDate><description><![CDATA[大体思路是先区分数字，标识符，然后标识符再区分保留字这样。随后根据PL0 字符改状态机。状态矩阵，一行一行写。]]></description><category></category></item><item><title><![CDATA[编译原理 状态机识别标识符]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146376703</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146376703</guid><author>a1309602336</author><pubDate>Wed, 19 Mar 2025 17:54:40 +0800</pubDate><description><![CDATA[【代码】编译原理 识别标识符。]]></description><category></category></item><item><title><![CDATA[希冀 利用fscanf 吸收回车特性 替换fgets 的回车保留实现四位数识别 状态机]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146324368</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146324368</guid><author>a1309602336</author><pubDate>Mon, 17 Mar 2025 20:10:01 +0800</pubDate><description><![CDATA[有回车干扰，且消除 ‘\n'代码在希冀里不识别。fsacnf 读取回车时会替换为 ’\0'fgets 读取回车时会‘\'n。原来起点是1，终点是ERROR。]]></description><category></category></item><item><title><![CDATA[编译原理 实现一个汇编器——模块字符分割]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146244436</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146244436</guid><author>a1309602336</author><pubDate>Thu, 13 Mar 2025 23:01:12 +0800</pubDate><description><![CDATA[机器指令 CPU 已经有了样子，现在开始汇编器制造，]]></description><category></category></item><item><title><![CDATA[编译原理 在字符串中识别不同进制数字]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146189980</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146189980</guid><author>a1309602336</author><pubDate>Tue, 11 Mar 2025 21:45:34 +0800</pubDate><description><![CDATA[input.txt 内容。]]></description><category></category></item><item><title><![CDATA[python 海龟作图 从爱心到旋转爱心]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/146096242</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/146096242</guid><author>a1309602336</author><pubDate>Fri, 07 Mar 2025 15:03:58 +0800</pubDate><description><![CDATA[原来是深度学习课老师讲python。]]></description><category></category></item><item><title><![CDATA[希冀代码本地运行成功，但上传不通过解决办法，原因是fgets函数读取回车，在if 比较中不能读取到‘\n‘ 字符量，但是能参与运算，会出现 -35情况。 ]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/145996508</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/145996508</guid><author>a1309602336</author><pubDate>Mon, 03 Mar 2025 19:16:13 +0800</pubDate><description><![CDATA[修改后把回车符号去掉，就是在一开始fgets 读取一行后，直接把倒数第二个字符改成 '\0'怀疑了代码问题，结果打印执行序列，发现翻译正常，直接把网上的代码直接打印，说明这部分代码退出失效。否则应该退出循环，不再继续执行写入字符指令。传了一个PL0虚拟机代码，结果不输出，这个是测试代码，发现p写入回车到文件。]]></description><category></category></item><item><title><![CDATA[PL0 虚拟机]]></title><link>https://blog.youkuaiyun.com/a1309602336/article/details/145983892</link><guid>https://blog.youkuaiyun.com/a1309602336/article/details/145983892</guid><author>a1309602336</author><pubDate>Mon, 03 Mar 2025 12:54:51 +0800</pubDate><description><![CDATA[input.txt 文件内容。]]></description><category></category></item></channel></rss>