摘要: 简单地介绍一下游戏的背景设定。游戏一开始,你会从虚无中慢慢恢复意识。当你醒来时,仍然昏沉疼痛的脑袋回想不起多少现实的事,你只隐约记得自己是个警探,还有案件需要侦破。作为一个失忆警探,你需要做的是在苏醒以后,和前来接应你的金 ·曷(he)城 警官合作,侦破位于旅社后面的吊尸案。在破获案件的过程中有大量 阅读全文
posted @ 2021-03-13 12:19 namezhyp 阅读(2063) 评论(0) 推荐(0) 编辑
摘要: 首先看一下讲义里提到的yield os,这个os里面只有两道程序切换的模拟内容,只要做过pa3就很容易理解: #define STACK_SIZE (4096 * 8) typedef union { uint8_t stack[STACK_SIZE]; struct { Context *cp; 阅读全文
posted @ 2024-11-16 23:18 namezhyp 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 用户程序从main开始,而调用用户程序的就是navyapps里crt0的start.S,这个汇编代码会调用crt0.c里面的call_main()函数,然后调用用户程序的main(),用户程序执行完了以后,返回crt0.c,继续执行exit()。然后结束。 如何解决“不知道程序要被放到哪里”这个问题 阅读全文
posted @ 2024-11-03 16:21 namezhyp 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 一般情况下,我们在vscode里编辑C/C++代码时用的都是微软的c++ package,但是这个插件包很多时候无法正确分析出语法,导致大量虚假错误报告,为了解决这个问题,我们首先禁用掉C++插件包,然后准备更换clangd。 clangd是一个基于Clangd的分析服务器,方便我们分析代码语法。为 阅读全文
posted @ 2024-08-05 18:40 namezhyp 阅读(480) 评论(0) 推荐(0) 编辑
摘要: nemu把库函数分为了与架构有关的isa部分和与架构无关的klib部分。这部分的任务,就是完善stdio.c stdlib.c 和string.c,让各种测试集、跑分和demo可以正常运行。值得一提的是,我也是看到这一部分,回看测试集时,才注意到测试集用的其实都是C语言自带的关键字和基本功能,没有使 阅读全文
posted @ 2024-08-01 15:54 namezhyp 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 尽管指令匹配的部分早就已经完成,但这并不代表代码方面就不会再检测出漏洞。cpu-test这个测试集文件夹里面的测试代码只是覆盖了一部分内容,即使是全部通过,你的代码也仍有可能是错误的。 当我在处理其他内容时,突然间nemu就卡在了代码某处提示地址错误。重新打开difftest,定位到某处jal跳转发 阅读全文
posted @ 2024-07-30 23:45 namezhyp 阅读(24) 评论(0) 推荐(0) 编辑
摘要: dummy的反汇编表: 80000000 <_start>: 80000000: 00000413 li s0,0 80000004: 00009117 auipc sp,0x9 80000008: ffc10113 addi sp,sp,-4 # 80009000 <_end> 8000000c: 阅读全文
posted @ 2024-07-11 12:18 namezhyp 阅读(44) 评论(0) 推荐(0) 编辑
摘要: ysyx的nvboard项目里自带了一个example,用来演示功能,同时也给出了简单的使用说明。 要将自己的verilog代码接入nvboard,首先需要生成一份nvboard.a库文件。在nvboard目录下make nvboardarchive,然后将库文件放到npc文件夹下的目录文件。库文件 阅读全文
posted @ 2024-06-13 14:58 namezhyp 阅读(488) 评论(5) 推荐(0) 编辑
摘要: 要解析一个带有括号的长表达式并没有想象中那么容易。 首先,数学表达式的递归分解顺序和日常的顺序是完全相反的。在标准的数学四则表达式里,我们的计算顺序是从左往右,从高到低,优先计算括号内容。 由于我们使用的是递归的思路,代码拆分表达式的过程和计算顺序是完全相反的: 一方面,原本的高优先级级运算符要后进 阅读全文
posted @ 2024-06-03 17:39 namezhyp 阅读(49) 评论(0) 推荐(0) 编辑
摘要: BNF表达式以前没有学过,ysyx的nemu项目里用到了,在这里整理一下学习笔记。 BNF表达式可以简洁地定义一种语言的格式 ,基本格式为:<non-terminal> ::= <replacement> 。non-terminal为”非终止符号“,replacement为代替物,可以用于诠释左边的 阅读全文
posted @ 2024-05-13 16:49 namezhyp 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 基本逻辑: and a&b 与 同为1时输出1or a|b 或 有一个为1输出1xor a^b 异或 ab不同时输出1nand !(a&b) 与非 not and a与b再取反nor ~(a|b) 或非 a或b再取反xnor a~^b 同或 ab相同时输出1anotb a&(!b) a与非b and 阅读全文
posted @ 2024-03-29 11:35 namezhyp 阅读(93) 评论(0) 推荐(0) 编辑