- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
len: equ 2
len: db 2
2
使用?如果不是,那么每种声明形式的优点或缺点是什么?它们可以互换使用吗?
最佳答案
第一个是equate
,类似于C的:
#define len 2
因为它实际上并没有在最终代码中分配任何空间,它只是将
len
符号设置为等于2。然后,当您稍后在源代码中使用
len
时,就如同您正在使用常量
2
。
define byte
,类似于C的:
int len = 2;
它实际上确实分配了空间,在内存中为一个字节,在其中存储了
2
,并将
len
设置为该字节的地址。
line addr code label instruction
---- ---- -------- ----- -----------
1 0000 org 1234
2 1234 elen equ 2
3 1234 02 dlen db 2
4 1235 44 02 00 mov ax elen
5 1238 44 34 12 mov ax dlen
第1行仅将程序集地址设置为
1234
,以便于解释发生的事情。
elen
的值
2
加载到符号表中。由于未生成任何代码,因此地址不会更改。
db
是不同的,它实际上分配了一些空间(一个字节)并将值存储在该空间中。然后,它将
dlen
加载到符号表中,但为其提供该地址的值
1234
而不是常量值
2
。
dlen
时,您将获得地址,必须将其取消引用才能获取实际值
2
。
关于nasm - NASM中的equ和db有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8006711/
我是 Windows 批处理文件的新手,并且通过几次实验已经在这个脚本上苦苦挣扎了 8 个多小时..但没有运气...... 这是我的代码 @echo off setlocal ENABLEDELAYE
我正在 DS-5 5.28 中使用 ARM 汇编进行编程,目标是具有浮点和 Neon 的 cortex-a8。 当用 EQU 表示常数时,例如 M EQU 5 然后我可以在程序的其余部分使用该常量,特
在 NASM 中,可以定义整数常量 (equ),但是,对浮点值执行相同操作会导致错误: section .data c1 equ 3 ; ok v2 dq 3.14
在 NASM 中,可以定义整数常量 (equ),但是,对浮点值执行相同操作会导致错误: section .data c1 equ 3 ; ok v2 dq 3.14
我刚刚开始学习汇编语言。我想到了 EQU 的概念。起初这完全有道理,直到我到达 DC.B。 DC.B 和 EQU 有什么区别?不能对每个常数都使用 EQU 吗? 最佳答案 我不熟悉您的特定汇编程序语法
我试图了解 MASM EQU 之间的区别和 TEXTEQU指令。到目前为止,我所能收集到的只是语法略有不同,并且 EQU 宏无法重新定义,而 TEXTEQU 宏可以。在我看来它们还是很相似,那么还有其
我认为两者的作用大致相同:变量声明和初始化。能详细说明一下吗? 最佳答案 .word 分配空间并初始化数据。 .equ 定义一个常量,但不为其分配任何空间。 例如,您可能会说: one .equ 1
len: equ 2 len: db 2 它们是否相同,产生一个可以用来代替 2 的标签?如果不是,那么每种报关单的优缺点是什么?它们可以互换使用吗? 最佳答案 第一个是equate,类似于
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我有一个每 10 分钟更新一次 .txt 文件的应用程序。每天一次,文件在 0900(上午 9 点)之后第一次更新,我想发送该文件的电子邮件。更新后的文件(由第 3 行的 SET 命令指向)的时间戳可
rem 比较运算符: EQU - 等于 NEQ - 不等于 LSS - 小于 LEQ - 小于或等于 GTR - 大于 GEQ - 大于或等于 例如
我们希望开发应用程序来从图像中提取文本以及提取和求解数学方程式使用 Tesseract OCR 引擎实现从图像中提取文本但是当我们试图从图像中提取方程式时,结果却令人失望我们一直在使用 3.01 版本
这个问题已经有答案了: In NASM labels next to each other in memory are printing both strings instead of first o
这个问题已经有答案了: In NASM labels next to each other in memory are printing both strings instead of first o
我的教授将此作为家庭作业问题的答案之一发布。谁能帮我解决这个问题吗?我不明白他对 CON1 - CON4 做了什么以及 >> 和 0x0FFF 是什么意思。 CON1: EQU 6000 CON2
我希望 tesseract 引擎使用 eq.traineddata研究一些数学以及孟加拉语、印地语文本。当我去 /usr/share/tesseract-ocr/4.00/tessdata ,我只看到
例如: a = 1 和: .equ a, 1 和: .set a, 1 在以下情况下都逐字节产生相同的输出: as --32 main.S 根据cmp。 根据.equ的文档,我知道.equ和.set做
请帮我建议如何解决以下错误 PCC-F-02144,CMD-LINE:equ 的两边都不允许有空白字符符号 (=) 这是在 Linux 平台上通过 make 命令编译 C 源代码时出现的。我发现很难追
我是一名优秀的程序员,十分优秀!