足跡: 示范程序

示范程序

這是本文件的舊版!


示范程序

「标准库」

提供一些通用的功能,如延时等。

; 【作用】
;  延时
; 【参数】
;  a[I][int]:延时的 cycles 数目,>0
; 【内部使用的寄存器】
;  b[int]:延时计数
sleep:
PUSH b
 
; Init reg
MOV b, 0
 
; main logic
sleep__loop:
ADD b, 1
CMP b, a
JNZ sleep_loop
 
POP b
RET
 
 
; 【作用】
;  等待某个红石输入寄存器得到高电平
; 【参数】
;  a[I][int]:红石寄存器 ID
wait_in_high:
CMP a, 0
JZ wait_in_high__pf
CMP a, 1
JZ wait_in_high__pb
CMP a, 2
JZ wait_in_high__pl
CMP a, 3
JZ wait_in_high__pr
HLT  ; a 非法
 
wait_in_high__pf:
CMP pf, 0x00
JZ wait_in_high__pf
RET
 
wait_in_high__pb:
CMP pb, 0x00
JZ wait_in_high__pf
RET
 
wait_in_high__pl:
CMP pl, 0x00
JZ wait_in_high__pf
RET
 
wait_in_high__pr:
CMP pr, 0x00
JZ wait_in_high__pf
RET

延时器

类似于中继器,但得到高电平输入时,立刻输出高电平。

引脚作用

后引脚:输入

前引脚:输出

MOV ports, 0010b
 
_start:
; wait_in_high(1);
MOV a, 1
CALL wait_in_high
;;
MOV pf, 0xff
; sleep(10);
MOV a, 10
CALL sleep
;;
MOV pf, 0x00
JMP _start
wiki/自动化与科技指导/minecoprocessors/示范程序.1701932059.txt.gz · 上一次變更: 2023/12/07 14:54 由 nikoqw
GNU Free Documentation License 1.3 若無特別註明,本 wiki 上的內容都是採用以下授權方式: GNU Free Documentation License 1.3