c++ - 混合 C++ 和汇编语言
问题描述
我正在尝试使用二维“int”数组进行矩阵乘法。我要求用户通过 C++ 插入矩阵。然后,我使用该数据在汇编中进行矩阵乘法。当我尝试将“int”数组的一个元素移动到“ax”寄存器中时出现运行时错误。我不确定出了什么问题。
void Matrix::Calculate()
{
signed short i =0, j=0, k=0 ;
__asm{
xor eax,eax
xor ebx,ebx
xor edx,edx
mov ecx, 3
L1:
push ecx
mov ecx, 3
L2 :
push ecx
mov ecx, 3
L3 :
mov ax, p[i][k] //runtime error
mov bx, q[k][j]
imul bx
add r[i][j], bx
inc k
loop L3
pop ecx
inc j
loop L2
pop ecx
inc k
loop L1
};
}
解决方案
推荐阅读
- mysql - 计算我的动态数据透视表mysql
- node.js - 在每个 socket.on 上执行一个动作(express js)
- html - 在视频顶部添加一个按钮
- python-3.x - one2many 字段在填充时仅存储最后一条记录
- android - Android:WebView 中的网络摄像头错误(摄像头权限不起作用)
- scala - Spark scala:java.lang.ClassCastException:java.lang.Integer 无法转换为 scala.collection.Seq
- memory - Apache Ignite 中的内存监控
- javascript - 如何检查特定模块是否已添加到 Worklet?
- git - 如何使红线代码分支出现在本地分支中?
- javascript - 如何在 Firebase 云函数中存储记录 ID