這是本文件的舊版!
「标准库」
提供一些通用的功能,如延时等。
代码
; NPCCRAFT ; 微处理器「标准库」 ; 请赴 WIKI 「自动化 ; 与科技指导:min ; ecoprocessors ; :标准库」查看用法。 JMP _start ; 【FUNC】==== sleep: ; Init reg PUSH b MOV b, 0 ; Main logic sleep__loop: ADD b, 1 CMP b, a JNZ sleep__loop
; Exit POP b RET ; 【FUNC】==== pull_in_Rd: CMP c, 0 JZ pi__pf CMP c, 1 JZ pi__pb CMP c, 2 JZ pi__pl CMP c, 3 JZ pi__pr HLT ; c 非法 pi__pf: MOV d, pf CMP d, 0x00 JZ pi__pf
RET pi__pb: MOV d, pb CMP d, 0x00 JZ pi__pb RET pi__pl: MOV d, pl CMP d, 0x00 JZ pi__pl RET pi__pr: MOV d, pr CMP d, 0x00 JZ pi__pr RET
手册
sleep
【作用】:
延时。
【参数】:
传参方式 | 值类型 | 作用 / 说明 |
---|---|---|
寄存器 a | $n>0$ | 延时的 cycles 数目 |
【内部使用的寄存器】:
寄存器名 | 作用 / 说明 |
---|---|
b | 延时计数 |
pull_in_Rd
该函数为 Rd 函数。
【作用】:
拉取一个非零红石输入。
该函数会等待指定的红石输入口得到一个非零的值,然后返回得到的值。
【参数】:
传参方式 | 值类型 | 输出或输入 | 作用 / 说明 |
---|---|---|---|
寄存器 c | $[0, 3]$ | I | 红石输入口编号。 1 2 3 4 分别对应前后左右。 |
【返回】:
返回方式 | 作用 / 说明 |
---|---|
寄存器 d | 指定红石输入口得到的值 |