足跡: 示范程序

示范程序

這是本文件的舊版!


示范程序

「标准库」

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

; 【作用】
;  延时
; 【参数】
;  a[I][int]:延时的 c
;  -ycles 数目,>0
; 【内部使用的寄存器】
;  b[int]:延时计数
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
 
; 【作用】
;  等待某个红石输入寄存器得到
;  高电平
; 【参数】
;  a[I][int]:红石寄存器
;  编号
wait_in_high:
CMP a, 0
JZ wih__pf
CMP a, 1
JZ wih__pb
CMP a, 2
JZ wih__pl
CMP a, 3
JZ wih__pr
HLT  ; a 非法
 
wih__pf:


CMP pf, 0x00
JZ wih__pf
RET
 
wih__pb:
CMP pb, 0x00
JZ wih__pb
RET
 
wih__pl:
CMP pl, 0x00
JZ wih__pl
RET
 
wih__pr:
CMP pr, 0x00
JZ wih__pr
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/示范程序.1701949133.txt.gz · 上一次變更: 2023/12/07 19:38 由 nikoqw
GNU Free Documentation License 1.3 若無特別註明,本 wiki 上的內容都是採用以下授權方式: GNU Free Documentation License 1.3