我需要启用msm800嵌入式计算机的硬件看门狗。在msm800中启用硬件看门狗
不幸的是,我几乎不知道使用汇编语言的任何内容。
这是该设备的文件说:
功能:看门狗
编号:EBH
说明:
启用闪光灯和禁用 看门狗。加电后,看门狗 始终被禁用。一旦看门狗 已被启用,用户应用程序 必须执行选通每个 800ms的至少,否则看门狗执行 一个硬件复位
输入值:
AH:78H DLAG INT15功能
AL:EBH功能请求
BL:00H禁用
BL:01H启用
BL:FFH频闪
01H-FFH允许看门狗/重新触发
BH:00H = BL - >秒的数目。/01h = BL - >分钟数。
输出值:AL 01H看门狗定时器 超时发生
而这就是我想出了:
#include <stdio.h>
int main() {
asm(
"movb $0x78, %ah\n\t"
"movb $0xEB, %al\n\t"
"movb $0x01, %bl\n\t"
"movb $0x00, %bh\n\t"
"int $0x80"
);
return 0;
}
这是错的 - 运行在分段错误的结果,我有寄存器中的值正确,但不知道如何实际运行该功能。
任何帮助?
我从来没有使用msm800(我甚至不知道它存在) 但你是否确实需要在字符串中编写asm命令?在我使用的asm系统上,我必须直接写入,而不是写入字符串。 – nuriaion 2009-10-06 06:48:00
我也从来没有见过像这样写的asm指令。 – blak3r 2009-10-08 07:13:32