assembly - 是什么决定了使用 NASM mov 指令进出寄存器的存储或检索内存的大小?
问题描述
我是一个完整的新手,刚刚开始学习汇编语言。令我困惑的是什么决定了将从内存中存储或检索的数据的大小。假设我们有两个标签,num1和num2。num1是一个字节,num2是两个字节。假设累加器的大小为 16 位。现在看下面的代码:
mov ax, [num1]
mov al, [num2]
mov [num2], al
mov ax, [num2]
现在什么会决定数据传输的大小?是否可以肯定地说寄存器将确定数据传输的大小(即在第一条指令中,num1 和 num1+1 被加载,第二条指令中只有 num2,al 被存储在 num2 中,最后,ax 加载 num2 和 num2 +1)?
解决方案
推荐阅读
- python-3.x - Keras Elephas ValueError:检查目标时出错:预期dense_43具有形状(1,)但得到形状为(3,)的数组
- python - np.std(ddof=1) 和 statistics.pstdev 给出了不同的答案
- azure - Azure Graph API - 在获取消息服务调用中包括总电子邮件计数
- checkbox - 循环通过 Active X 控件和设置属性
- java - 如何在 Room databaseBuilder 函数中使用字符串变量作为数据库名称?(JAVA,安卓))
- python - 如何用 Python 绘制时间序列热图?
- javascript - React、webpack 和 Wavesurfer.js
- node.js - 处理云函数中的嵌套承诺
- visual-studio-2019 - 有谁知道为什么“更新 UML 模型”不从 VS 2019 IDE 填充 Visual Paradigm 16.1 中的类存储库?
- vba - vbModeless 打破用户窗体