SN8P2501A
8-位 微观的-控制
sonix 技术 co., 有限公司
页 12
初步的 版本 0.2
程序编制 tip: defining 中断 vector (例子 2)
碎片 sn8p2501a
.数据 accbuf
PFLAGBUF
.代号
org 0 ; 0000h
JMP 开始 ; jump 至 用户 程序 地址.
. ; 0001h ~ 0007h 是 保留
org 08
JMP 我的_irq ; 0008h, jump 至 中断 维护 routine 地址
org 10h
开始: ; 0010h, 这 head 的 用户 程序.
. ; 用户 程序
.
.
JMP 开始 ; 终止 的 用户 程序
我的_irq: ;这 head 的 中断 维护 routine
B0XCH 一个, accbuf ; b0xch doesn’t 改变 c, z 标记
b0mov 一个, pflag
B0MOV pflagbuf, 一个 ; 保存 pflag 寄存器 在 一个 缓存区
.
.
b0mov 一个, pflagbuf
B0MOV pflag, 一个 ; restore pflag 寄存器 从 缓存区
B0XCH 一个, accbuf ; b0xch doesn’t 改变 c, z 标记
RETI ; 终止 的 中断 维护 routine
ENDP ; 终止 的 程序
remark: 它 是 容易 至 understand 这 rules 的 sonix 程序 从 demo programs 给 在之上. 这些
点 是 作 下列的:
1. 这 地址 0000h 是 一个 “jmp” 操作指南 至 制造 这 程序 开始 从 这 beginning.
2. 这 0004h~0007h 是 保留. 用户 是 不 准许 至 使用 0004h~0007h 地址. 我们 strongly
suggest 用户 做 不 引领 这个 值 在 这 check 总. 为 详细地 信息, 请 审查 这
下列的 checksum 计算 部分.