Assembly 组装美元符号减去数字
假设我有以下代码,它会传递一个错误:预期的标量类型: 是否有任何方法可以在组装中执行与之等效的操作? 编辑:我在用8086的TASM,哪个汇编程序?dup看起来像是缅甸人。在Nasm中,b db$-$$-3将执行此操作。似乎不太可能要将此值放在一个字节中。我会使用dd或64位代码dq 我认为在Nasm手册的任何地方都找不到scalar这个词,但它的意思不是可重定位的值。$,与任何标签一样,是可重定位的,但两个标签之间的差异是一个标量值Assembly 组装美元符号减去数字,assembly,x86,x86-16,tasm,Assembly,X86,X86 16,Tasm,假设我有以下代码,它会传递一个错误:预期的标量类型: 是否有任何方法可以在组装中执行与之等效的操作? 编辑:我在用8086的TASM,哪个汇编程序?dup看起来像是缅甸人。在Nasm中,b db$-$$-3将执行此操作。似乎不太可能要将此值放在一个字节中。我会使用dd或64位代码dq 我认为在Nasm手册的任何地方都找不到scalar这个词,但它的意思不是可重定位的值。$,与任何标签一样,是可重定位的,但两个标签之间的差异是一个标量值 与C语言不同,我们没有汇编语言标准委员会。汇编程序作者可以自
与C语言不同,我们没有汇编语言标准委员会。汇编程序作者可以自由地使用他们喜欢的任何语法——他们确实这样做了!在AT&T语法中,这不是$,而是一个完全不同的含义。在Masm中可能不起作用,但值得一试。你真的需要指定哪个汇编程序 它不是标量类型,因为db变量保存一个字节,$-3表示当前偏移量减去3。偏移量在16位模式下是一个字2字节,在32位模式下是一个双字4字节您使用的是什么汇编程序?那么,您的目标处理器是什么?可能是因为$是一个字或dword值,而您正试图将其填充到一个字节中?我使用的是8086@FrankKotlerIf的turbo assembler。我所展示的对Tasm不起作用,请尝试将标签放在您希望$开始计数的任何位置。你已经表明这是可行的。我知道Nasm,主要是。。。
a db 10 dup(2)
b db $-3