问题标签 [68hc12]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - 在 68HC12 上位反转一个字节
我在微处理器课上,我们在飞思卡尔 CodeWarrior 中使用汇编语言对 68HCS12 微控制器进行编程。我们本周的任务是反转一个字节,因此如果字节为 00000001,则输出将为 10000000,或 00101011 到 11010100。我们必须使用汇编语言,并被告知我们可以使用旋转和移位(但不限于! ) 来完成这项任务。我真的不知道应该从哪里开始。
embedded - 有没有人使用过用于 EEPROM 仿真源代码的飞思卡尔 HCS12 闪存驱动程序?
...实际上让它工作,并将数据记录的长度更改为大于其演示附带的 2 个字节的长度?
在飞思卡尔 HCS12 系列微控制器中,与片上 DFlash 通信、模拟 EEPROM 页面是一堆代码。
我在更改某些配置值时遇到了一些真正的困难。但是,如果我保留所有来自演示的设置,它确实有效。
assembly - 68HCS12 上的装配秒表
嗨,我正在尝试在组装中制作秒表以在 Dragon 12 plus 板上运行,我已将其设置为按钮开始停止并重置时间,程序运行但速度不够快。我知道问题与延迟有关,但我不知道如何解决它。我认为我的中断例程太长,但我尝试实施的所有其他方法都不起作用,任何输入都会非常感激。好吧,这是我的代码,抱歉没有很好地注释
assembly - 在 HC12 中,我可以在一条指令中执行 (1<<8) 吗?
我注意到指令集有一个 LSL(逻辑左移),它执行 r << 1(将寄存器左移 1)。我希望能够左移任意数字。我需要循环执行此操作,还是有一条指令可以为我执行此操作?
我想只移动 1 位的原因是进位总是可以的,但在我的情况下,我会将 8 位无符号数字向左移动最多 8 位,以获得无符号 16 位数字......所以我觉得我应该没事吧?
谢谢,
z。
ps完全披露:我是一名学生,但这只是作业的一小部分。任务是在没有 MUL 的情况下实现乘法。我想我应该在一个循环中做多个添加......但我想做一些不同的事情。所以我用位移递归地实现它!这只是我解决问题的道路上的绊脚石之一。
assembly - 如何在 codewarrior 中命名我的标签
我有三个文件,一个 .asm 文件和一些 .inc 文件。它们都包含在include
. 在这些文件中有标签,我希望有时能够在每个文件中使用相同的标签。例如,如果每个包含的文件都有一个循环,那么我想标记循环loop
并完成它。这对汇编程序来说是个问题,因为标签不是唯一的。
在 codewarrior 的帮助文件中,我读到我可以添加\@
到宏中标签的开头,以避免多次调用该宏导致标签冲突。我试过了,但汇编程序抱怨(invalid character detected at the beginning of the line
)。有没有办法给我的标签命名?
谢谢,
z。
ps 另外,我在问题中包含了 codewarrior 这个词,这是我的 IDE。我这样做是因为我不确定标签的处理是特定于汇编程序还是特定于 IDE 本身。我需要说“codewarrior”还是说“HC12”或只是“组装”会更好?谢谢。
pps 这是作业:但我的作业是编写代码,而不是命名空间标签。
assembly - 在 HC12 中是否可以直接比较 2 个寄存器?
如果我已将一个值加载到寄存器 X 中,并将一个值加载到寄存器 Y 中,并且我想比较它们……通常我必须执行以下操作:
但这是比较的 3 次操作。有没有办法直接做到这一点?我已经尝试过cmp 0,y
cmp y
,但那些并没有做我想要的。
这只是我必须忍受的事情吗?
谢谢,
z。
assembly - 不使用 CPU12 处理器运行
CPU12 处理器中是否有提供直接 NOT 功能的代码?
assembly - 了解 bset 和 bclr
我遇到了我的教授制作的一个例子,这让我质疑我对bset
和bclr
汇编命令的理解。
如果我这样做:
我是在两者之间执行 AND 还是 OR 操作?我的参考指南说这样bset
做:
是+
OR 还是 AND 运算符?bclr
是相同的命令,但使用掩码的补码执行操作。
c++ - 实时用户输入回显
我正在尝试创建和“优雅”的方式来实时显示用户输入到自定义内核中的内容,对于 68hc12,我正在研究。
我敢肯定,许多问题是它似乎永远不会输入回车 if 语句。我正在 Ubuntu 中构建它,尽管我在 if 语句中做错了什么?如果您需要更多信息,请告诉我。谢谢。
c - 如何从 CodeWarrior 中的 C 文件调用汇编代码?
教授希望我们使用汇编代码编写程序的一部分,然后他希望我们从 C 程序中调用这段代码,然后在完成后跳回 C 程序。我似乎找不到任何关于此的文档。如果重要的话,我正在使用使用 68HC12 的 Dragon12 板。听起来他不希望我们使用内联 asm() 函数。