汇编语言如何使用MDU32硬件乘除法单元
问题描述:
在使用12-bit ADC单元的时候有感而发,想试试mcu自带的32位硬件乘除法资源,给DMAIR寄存器写入指令后,并没有任何动作。
mcu:STC32g12K128-BETA
开发软件:Keil + C251
调试时的截图:
MOV WR0, #01H
MOV WR2, #20H
MOV WR4, #30H
MOV WR6, #40H
MOV DMAIR, #02D
NOP
JMP $运行到“JMP$”位置查看寄存器的内容,发现什么也没发生:
汗流浃背了 :-(
www.stcai.com/syx
第46个演示程序
用KEIL C251 控制 STC32G12K128 硬件仿真跑起来,
===就可以看到汇编的代码
重新编译后,有个文件中,也有汇编的代码
感谢回复。
把例程46单拿出来,汇编的MDU32硬件乘法是先给DR0、DR4赋值,然后给DMAIR寄存器赋值“0x02”,然后DR4就有结果了
我也仿照例程的样子照做了,还是没有结果 .....
(已把MDU32库加到项目了)
测试MDU32的乘法单元部分代码:
MOV DR0, #89H
MOV DR4, #100H
LCALL COMPMUL
ADD DR4, #01H
JMP $双字寄存器DR4装的也不是乘法的结果:
要在 MCU上实际跑,不是 KEIL C251软仿 看不懂汇编语言{:4_167:}
页:
[1]