目录

文章目录

  • 目录
  • 思考题
    • 1.什么是 API
    • 2.AM 属于硬件还是软件?
    • 3.堆和栈在哪里?
    • 4.回忆运行过程
    • 5.神奇的`eflags`
    • 6.这是巧合吗?
    • 7.nemu的本质
    • 8.设备是如何工作的?
    • 9. CPU 需要知道设备是如何工作的吗?
    • 10. 什么是驱动?
    • 11. `cpu`知道吗?
    • 12.再次理解volatile
    • 13.`hello world`运行在哪里?
    • 14.如何检测很多个键同时被按下?
    • 15.编译与链接Ⅰ
    • 16.编译与链接Ⅱ(10分)
    • 17.I/O 端口与接口(10分)
    • 18. git log截图
  • 实验题
    • 1.实现剩余所有 x86 指令
    • 2.通过⼀键回归测试
    • 3.IN/OUT 指令
    • 4.实现时钟设备
    • 5.运行跑分项目
    • 6.实现键盘设备
    • 7.添加内存映射 I/O
    • 8.运行打字小游戏
  • 遇到的问题及解决方法
  • 心得感悟
  • 备注

思考题

1.什么是 API

API(Application Programming Interface)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问原码,或理解内部工作机制的细节。

2.AM 属于硬件还是软件?

AM属于软件,是对底层的抽象。

AM 和操作系统一样。AM是一个抽象计算机模型,通过一组API实现对计算机底层细节的抽象,为程序运行提供最基本的软件支持,是最贴近硬件的软件。操作系统是位于硬件与软件之间,而AM也是位于NEMU(硬件)与软件之间,他们的功能都是通过API实现对硬件的抽象。

3.堆和栈在哪里?

  • 在内存里

4.回忆运行过程

首先默认编译到x86-nemu 中,由ALL=dummy 可知make run 指令调用了nexus-am/am/arch/x86-nemu/img/run 启动nemu 来运行dummy.c

5.神奇的eflags

+-----+-----+------------------------------------+
|  SF |  OF |               实例                  |
+-----+-----+------------------------------------+
|  0  |  0  |               2 - 1                |
+-----+-----+------------------------------------+
|  0  |  1  |         0xf0000000-0x00000001      |
+-----+-----+------------------------------------+
|  1  |  0  |         0x80000001-0x00000001      |
+-----+-----+------------------------------------+
|  1  |  1  |         0x0f000000-0x00000001      |
+-----+-----+------------------------------------+

6.这是巧合吗?

ja

无符号整数op1>op2

CF=0 AND ZF=0

jb

无符号整数op1<op2

CF=1 AND ZF=0

jg

带符号整数op1>op2

SF=OF AND ZF=0

jl

带符号整数op1<op2

SF≠OF

7.nemu的本质

lable1:x = x - 1a = a + 1jne x, lable1lable2:y = y - 1a = a + 1jne y, lable2

还需要输入和输出功能,还需要通过图形界面进行交互

8.设备是如何工作的?

IO接口是连接CPU与外部设备的逻辑控制部件,其功能是协调CPU和外设之间的工作。CPU通过接口发送指令给设备,设备接受指令并执行后把结果通过接口传回CPU。

9. CPU 需要知道设备是如何工作的吗?

不需要,cpu的作用主要是传递指令等待机器运行返回实验结果不需要知道进行了什么工作。

10. 什么是驱动?

驱动,是指驱动计算机里软件的程序。驱动程序全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。

驱动是操作系统与硬件之间的桥梁,操作系统有了驱动,才能调度硬件。一般应用程序在操作系统之上,利用操作系统提供的API完成相应的任务。

11. cpu知道吗?

不需要,只需要把特定地址上的数值设定为指定的值即可。

12.再次理解volatile

O2优化下编译

gcc -O2 -o fun fun.c
查看反汇编

objdump -s -d fun > fun.txt
添加volatile关键字的反汇编

不添加volatile关键字的反汇编

若不加volatile,则从反汇编中可看出少了很多指令,第11a7行会陷入死循环。

13.hello world运行在哪里?

不一样,此helloworld 程序运行在AM 中,程序设计课上的运行在硬件层面

14.如何检测很多个键同时被按下?

当按下一个键的时候, 键盘将会发送该键的通码; 当释放一个键的时候, 键盘将会发送该键的断码。每当用户敲下/释放按键时, 将会把相应的键盘码放入数据寄存器, 同时把状态寄存器的标志设置为 1, 表示有按键事件发生. CPU 可以通过端口 I/O 访问这些寄存器, 获得键盘码。每个按键的通码断码都不同,所以可以识别出不同的按键。

15.编译与链接Ⅰ

  • 去掉static

    没遇报错

  • 去掉inline

    该函数仅用static修饰,则为静态函数,只能被该函数所在文件引用,然而该文件并没用其他函数使用该函数,因此导致defined but not used

  • 去掉staticinline

    当多个文件包含同一个头文件时,而头文件中没有加上条件编译,就会独立的解释,然后生成每个文件生成独立的标示符。在编译器连接时,就会将工程中所有的符号整合在一起,由于,文件中有重名变量,于是就出现了重复定义的错误。

16.编译与链接Ⅱ(10分)

  1. 29个

    此时dummy是静态局部变量,可以看到有29个文件重新编译,则有29个变量实体。

  2. 58

    由于没初始化,两次定义的符号都是弱符号,编译器允许弱符号多次定义且编译器会把这两次当作两个不同的符号对待。重新编译后,仍然是那29个文件重新编译,则又多了29个该变量实体,则一共58个。

  3. 初始化

    问题:变量重定义

    原因:变量赋初值后则成为强符号,编译器不允许强符号多次定义,则报错。

17.I/O 端口与接口(10分)

  1. 地址范围:

    1K=2^10,端口范围0000H~0400H

    16根地址总线,寻址范围也就是216,因为1K=210,所以寻址范围为216/210=64K,地址范围0000H~FFFFH

  2. I/O三种控制方式:程序直接控制、终端控制、DMA控制。

    课本中由有这样的例子:

    首先DMA控制器初始化,然后发送“启动DMA传送”命令以启动外设进行I/O操作,发送完“启动DMA传送”命令后, CPU转去执行其他进程,而请求I/O的用户进程被阻塞。在CPU执行其他进程的过程中,DMA控制器外设和主存进行数据交换。DMA控制器每完成一个数据的传送,就将字计数器减1,并修改主存地址,当字计数器为0时,完成所有I/O操作,此时,DMA控制器将向CPU发送“DMA完成”中断请求,CPU检测到后调出相应的中断服务程序执行。CPU在中断服务程序中,解除用户进程的阻塞状态而使用户进程进入就绪序列,然后中断返回,再回到被打断的进程继续执行。

    常见于硬盘。

18. git log截图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xg5ZvWbu-1649855374282)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516163846380.png)]

实验题

1.实现剩余所有 x86 指令

由于在PA2.1中补全了绝大多数的指令所以导致在PA2.2 中测试时大部分的测试样例全都通过了

下面为补全指令之后全部的测试结果图

  • add-longlong 实现在nemu/src/cpu/exec/cc.c 中的TODO 内容填写switch语句

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ypBwFNiv-1649855374284)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516131534890.png)]

  • add

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TyoZO2LQ-1649855374284)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516132024637.png)]

  • bit

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-foND0Rb0-1649855374285)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516132144119.png)]

  • bubble-sort

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q63FAwmD-1649855374285)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516132302408.png)]

  • dummy

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X0tSYUa0-1649855374286)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516132758214.png)]

  • fact

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I0y0oLHR-1649855374287)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516132908156.png)]

  • fib

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HxQhTu5g-1649855374288)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516133035946.png)]

  • goldbach

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-18CmK5dK-1649855374288)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516133135964.png)]

  • if-else

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U14uQyDJ-1649855374289)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516133711994.png)]

  • leap-year

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sYKuyBXt-1649855374290)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516133603465.png)]

  • load-store

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xPh5uDNI-1649855374291)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516133823373.png)]

  • matrix-mul

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sNIVYOFX-1649855374292)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516133935595.png)]

  • max

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-84qABkWz-1649855374292)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134025163.png)]

  • min3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F8loEpTY-1649855374293)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134111240.png)]

  • mov-c

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CYA1r92C-1649855374293)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134216168.png)]

  • movsx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CtYEkNEZ-1649855374293)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135958740.png)]

  • mul-longlong

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1v25lHbG-1649855374294)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134440133.png)]

  • pascal

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-irFlYFws-1649855374295)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134523059.png)]

  • prime

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LpIShmel-1649855374295)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134603762.png)]

  • quick-sort

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zWqDhiOk-1649855374296)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134649764.png)]

  • recursion

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JpKVDags-1649855374296)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134734235.png)]

  • select-sort

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fd2bKndW-1649855374297)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516134817739.png)]

  • shift

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x4F9ycfp-1649855374298)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135021772.png)]

  • shuixianhua

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zf1qPbfU-1649855374298)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135235634.png)]

  • sub-longlong

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n9Qe5RMS-1649855374299)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135317798.png)]

  • sum

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ntvSUl3o-1649855374300)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135353317.png)]

  • switch

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-puUiI8Lk-1649855374301)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135434960.png)]

  • to-lower-case

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b9QqRfI5-1649855374302)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135523336.png)]

  • unalign

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IZ0bR5ui-1649855374302)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135610808.png)]

  • wanshu

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ewFt0Xv-1649855374303)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135721441.png)]

  • string

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uNSih2cY-1649855374303)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135807832.png)]

  • hello-str

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-36Jk58Vs-1649855374304)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516135849153.png)]

2.通过⼀键回归测试

nemu 目录下输入bash runall.sh 进行一键测试结果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yCxvTxti-1649855374304)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516140554903.png)]

3.IN/OUT 指令

首先打开 nemu/include/common.h中的宏定义HAS_IOE

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yg1477Ot-1649855374305)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516141547319.png)]

填写opcode_table

 /* 0xe4 */  IDEXW(in_I2a, in, 1), IDEX(in_I2a, in), IDEXW(out_a2I, out, 1), IDEX(out_a2I, out),/* 0xec */ IDEXW(in_dx2a, in, 1), IDEX(in_dx2a, in), IDEXW(out_a2dx, out, 1), IDEX(out_a2dx, out),

之后在all-instr中声明make_EHlper

 make_EHelper(in);
make_EHelper(out);

补全函数在system.c

make_EHelper(in) {//TODO();t1 = pio_read(id_src->val, id_dest->width);//调用pio_readoperand_write(id_dest, &t1);//写入print_asm_template2(in);#ifdef DIFF_TESTdiff_test_skip_qemu();
#endif
}make_EHelper(out) {//TODO();pio_write(id_dest->val, id_dest->width, id_src->val);//调用pio_write,直接写入print_asm_template2(out);#ifdef DIFF_TESTdiff_test_skip_qemu();
#endif
}

之后在nexus-am/am/arch/x86-nemu/src/trm.c定义宏HAS_SERIAL

之后运行helloworld 实现运行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZFnrX8c1-1649855374306)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516142500819.png)]

同时配置好X11 之后成功弹出了窗口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y8aJ5YbG-1649855374306)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516143339969.png)]

实现成功。

4.实现时钟设备

实现_uptime 函数ioe.c

之后进行测试实现更新时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0BJE74ie-1649855374307)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516144658705.png)]

5.运行跑分项目

首先注释掉DEBUGDIFF-TEST之后进入内部跑分

  • dhrystone

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7KtYaX5j-1649855374307)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516145859082.png)]

  • coremark

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p9JabHUk-1649855374308)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516150139762.png)]

  • microbench

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VksbdH41-1649855374308)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516151507196.png)]

6.实现键盘设备

实现_read_key 函数在ioe.c

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-guPlD1xE-1649855374309)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516151936173.png)]

运行之后出现NEMU 界面,之后在界面中输入键盘键入信息即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DEpEDIlG-1649855374309)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516155500069.png)]

7.添加内存映射 I/O

nemu/src/memory/mrmory.c 中填写paddr_readpaddr_write 函数测试如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tdciHmvr-1649855374310)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516160508723.png)]

8.运行打字小游戏

实现打字小游戏

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y0J0CorN-1649855374311)(C:\Users\86178\AppData\Roaming\Typora\typora-user-images\image-20210516163006442.png)]

遇到的问题及解决方法

  1. 遇到的问题:在实现键盘设备keytest 时虽然实现了_read_key 函数并且无错误到那时还是在运行时显示不出读取的键盘信息

    解决方案:经过查找问题发现,运行需要触发图形界面需要连接到Xming打开之后需要设置PUTTY中的X11 连接之后在运行就可以成功实现了

心得感悟

本次实验难度不太大,有了PA2.1实验的基础之后添加令变得有思路起来,之后实现的各种冯诺依曼据计算机的基础功能也是依赖于前面学到的一部分的知识,同时指令实现优势对之前的学过的指令的复习过程,最后实现打字小游戏还是有成就感的,这次的实验可以更加了解到计算机的各种功能,较为深入但是i理解起来并不繁琐。

备注

明天会更好,助教真帅

计算机组成原理实验---PA实验PA2.22.3相关推荐

  1. 计算机组成原理实验箱D7,计算机组成原理与系统结构实验仪教学设备,上海求育...

    原标题:计算机组成原理与系统结构实验仪教学设备,上海求育 上海求育QY-JXSY30计算机组成原理与系统结构实验箱 上海求育QY-JXSY30计算机组成原理与系统结构实验箱是一款八位,十六位兼容设计的 ...

  2. 昆明理工大学计算机组成原理考试,昆工计科组成原理实验の计算机组成原理各部件实验.doc...

    文档介绍: 昆明理工大学信息工程与自动化学院学生实验报告(2011-2012学年第2学期)课程名称:计算机组成原理(含数字逻辑)开课实验室:呈贡校区信自楼5042012年3月18日年级.专业.班计科学 ...

  3. 计算机组成nzvc的含义,计算机组成原理学生用实验指导

    <计算机组成原理学生用实验指导>由会员分享,可在线阅读,更多相关<计算机组成原理学生用实验指导(41页珍藏版)>请在人人文库网上搜索. 1.1.2TEC2机的指令系统与汇编语言 ...

  4. 计算机组成与系统结构输入输出控制实验,计算机组成原理与系统结构实验指导书...

    计算机组成原理与系统结构实验指导书 (57页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 21.9 积分 计算机实验室实验预习报告专业名称(班级) 姓名 ...

  5. 计算机组成原理模型机设计实验总结,计算机组成原理课程设计实验报告-基本模型机设计与实现.docx...

    计算机组成原理课程设计实验报告-基本模型机设计与实现 计 算 机 组 成 原 理 实 验 报 告 评 语: 成绩 教 师: 年 月 日 班 级: 1403011 学 号: 140301124 姓 名: ...

  6. 基于java计算机组成原理虚拟仿真实验系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java计算机组成原理虚拟仿真实验系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java计算机组成原理虚拟仿真实验系统计算机毕业设计源码+系统+lw文档+mysql数据库 ...

  7. 计算机组成原理实验箱使能开关,计算机组成原理微程序计数器实验报告

    计算机组成原理微程序计数器实验报告 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 洛阳理工学院实验报告系别计算机与信息工程学院班级学号 ...

  8. 计算机组成原理的实验课心得,计算机组成原理移位控制实验心得.docx

    计算机组成原理移位控制实验心得 计算 机组成原理实验五 位运算实验............... 姓名:陈衍席学号:网工1202移 [实验环境] 1.WindowsXX或WindowsXP 2.sp2 ...

  9. 计算机组成原理整机实验报告,计算机组成原理加器实验报告.doc

    计算机组成原理加器实验报告 课程设计任务书 学 院信息学院专 业计算机科学与技术学生姓名学 号设计题目研制一台多累加器结构的实验计算机 内容及要求: 利用EL-JY-II型计算机组成原理实验仪提供的硬 ...

  10. 计算机组成原理微控制设计实验总结,计算机组成原理微程序控制器实验报告.doc...

    计算机组成原理微程序控制器实验报告.doc 计算机组成原理实验报告三:微程序控制器实验?? 2011-05-06 01:00:09|??分类: 实验报告 |??标签:实验??微程序??字段??微指令? ...

最新文章

  1. java连接Excel数据库读取,写入,操纵Excel表格
  2. 挖矿的电费自由日——矿工为何每个月总有那么几十天闷闷不乐
  3. Linux系统的启动引导过程
  4. PMCAFF原创文章人气周榜第三期(原创干货由你评鉴,在评论里写下你的看法吧~)
  5. layui select 修改_layui修改select的值的方法
  6. 困了。还得背课文。变词型
  7. java 函数式编程 示例_功能Java示例 第8部分–更多纯函数
  8. svm matlab 画图,matlab 画图
  9. Linux学习6-CentOS搭建appium服务
  10. AI部署从EonStor GSi存储解决方案开始
  11. VIm中Python自动补全插件Pydiction
  12. mysql innodb 分区_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)
  13. Microsoft office2016(专业增强版) 安装错误,报CRT(KB2999226)错误,详细解决方法
  14. Hilbert变换器
  15. flash builder 4.6 的破解安装
  16. 步进电机、伺服电机和舵机通俗解读
  17. 卸载Docker CE
  18. visual stadio code(VS code) 中 Markdown简明操作[持续更新]
  19. 辛东方重组百花园传媒 人员大调整
  20. 设备管理的常见问题和解决方案

热门文章

  1. java swt 布局管理器_JAVA.SWT/JFace: SWT布局管理器
  2. 树莓派综合项目2:智能小车(三)无线电遥控
  3. 虚拟机与主机之间通信
  4. 整理任正非思想:我们要向市场、开发、创造性工作倾斜-1996
  5. SSH学习笔记(9)__Spring5_概述/简单程序/整合日志
  6. Linux无法删除文件夹 Device or resource busy
  7. HDU 6203 ping ping ping (在线倍增lca+DFS序+树状数组)
  8. 数据分析常用的软件及工具
  9. js仿淘宝主图放大镜功能
  10. java 月份日历表_java 输入年月,获取日历表