![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pa
文章平均质量分 77
lyh_lcz
这个作者很懒,什么都没留下…
展开
-
PA2.2
1.diff-test 建议先完成讲义中“基础设施2”的部分。要运行通过的程序都是几十几百行,再加上有的有循环跳转等等,实际调试的时候常常都是si 50、si 100之类,所以当填写完某个程序所需的指令然后HIT A BAD TRAP的时候,你就会知道什么叫绝望——你只能从头开始,一行一行的自己演算一遍,有时候甚至整个程序都算完了都看不出问题...原创 2018-04-22 22:59:05 · 7766 阅读 · 0 评论 -
PA2.3
请先确保完成pa2.2,现在bug不改,后面迟早要回去填坑。1.正确实现in 和out指令 依旧参照手册完成,不同的是调用的函数不是rtl函数,而是pio_read和pio_write。 in就是从设备输入到cpu,out就是输出到设备。因此从设备寄存器获取数据,使用inb或者inl,用法为in...原创 2018-04-30 17:08:44 · 3597 阅读 · 0 评论 -
PA2.1补充
1.nemu和dummy 很多人不知道输入make ARCH=x86-nemu ALL=dummy run后要做什么,疑惑为什么没有出现讲义上出现的输出内容。究其根本还是没有去理解讲义,仅仅是照着讲义输命令,一旦到了讲义上没有直接说明的部分就完全不知道要干嘛。而且PA是一个不断为后面的内容做铺垫的过程,不去理解讲义让你做的是到底什么,为什么要...原创 2018-04-21 03:40:29 · 11327 阅读 · 0 评论 -
PA2.2补充
1.填写指令数组时操作数宽度的问题 所填的宽度为源的宽度,如果某个字节开头的指令在手册中只有一种形式,直接填写对应的描述中源的宽度即可;如果有两种形式,分别为16位和32位形式,说明该指令根据是否有66前缀确定操作数长度(在数组中0x66的位置已经填写了66转义函数),使用IDEX即可。如下图: 则填写结果为: /* 0xf4 */ ...原创 2018-04-27 00:05:38 · 2705 阅读 · 0 评论 -
PA3.2
1.实现标准输出,运行HelloWorld待更新原创 2018-05-17 22:02:10 · 4716 阅读 · 1 评论 -
PA3.1
1.实现loader加载器功能    框架提供有对磁盘操作的函数接口(详细用法见讲义和代码),需注意的是使用时要先进行声明(我是声明在common.h文件中)。要实现的功能也很简单,从磁盘读数据,然后将数据写入内存。   &amp原创 2018-05-12 16:38:29 · 6616 阅读 · 5 评论