這是本文件的舊版!
示范程序
「标准库」
提供一些通用的功能,如延时等。
; 【作用】 ; 延时 ; 【参数】 ; 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