本 Wiki 开启了 HTTPS。但由于同 IP 的 Blog 也开启了 HTTPS,因此本站必须要支持 SNI 的浏览器才能浏览。为了兼容一部分浏览器,本站保留了 HTTP 作为兼容。如果您的浏览器支持 SNI,请尽量通过 HTTPS 访问本站,谢谢!
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
cs:comp_n_arch:courses:fnti_i:week_4 [2025/05/11 02:33] – [实例:drawing an rectangle] codinghare | cs:comp_n_arch:courses:fnti_i:week_4 [2025/05/11 03:11] (当前版本) – [实例:keyboard] codinghare | ||
---|---|---|---|
行 508: | 行 508: | ||
goto END | goto END | ||
</ | </ | ||
+ | 实现如下: | ||
+ | <code bash> | ||
+ | @SCREEN | ||
+ | D = A | ||
+ | @addr # 使用 SCREEN 地址初始化 addr, 16384 号寄存器 | ||
+ | M = D | ||
+ | @R0 | ||
+ | D = M | ||
+ | @n | ||
+ | M = D # 使用 R0 内容初始化 n | ||
+ | @i | ||
+ | M = 0 # 初始化 i 为 0 | ||
+ | |||
+ | (LOOP) | ||
+ | @i | ||
+ | D = M | ||
+ | @n | ||
+ | D = D - M | ||
+ | @END | ||
+ | D;JGT # 如果 i > n, 结束循环 | ||
+ | |||
+ | @addr | ||
+ | A = M | ||
+ | M = -1 # RAM[addr] = 1111 1111 1111 1111 | ||
+ | |||
+ | # 更新循环状态 | ||
+ | @i | ||
+ | M = M + 1 | ||
+ | |||
+ | @32 | ||
+ | D = A # 注意,所有的常量都需要用 A 类寄存器获取 | ||
+ | @addr | ||
+ | M = M + D | ||
+ | | ||
+ | @LOOP | ||
+ | 0;JMP | ||
+ | |||
+ | (END) | ||
+ | @END | ||
+ | 0;JMP | ||
+ | </ | ||
+ | ==keyboard== | ||
+ | - 读取 RAM[24576] 内的内容 | ||
+ | - 如果内容为 '' | ||
+ | - 否则,搜寻对应值的 key 值 |