Assembly 汇编x86-变量的内存寻址(检查我的答案)

Assembly 汇编x86-变量的内存寻址(检查我的答案),assembly,x86,Assembly,X86,假设内存中的起始地址是F000H,那么var2、var3的地址是什么,并绘制每个数组在内存段中的样子 我的尝试: var1=F000H var2=F000H+16=F010H var3=F000H+16+10=F01AH 这些是正确的吗 这一部分呢 我的答案正确吗?具有负值的单词内存变量,例如-12被符号扩展到16位,例如FFF4,其字节在内存中存储颠倒(由于小端结构) 为了检查你们的家庭作业,你们应该让你们的汇编程序生成清单文件。 我创建了这个源文件mostfa.asm: .DATA var

假设内存中的起始地址是F000H,那么var2、var3的地址是什么,并绘制每个数组在内存段中的样子

我的尝试: var1=F000H

var2=F000H+16=F010H

var3=F000H+16+10=F01AH

这些是正确的吗

这一部分呢


我的答案正确吗?

具有负值的单词内存变量,例如
-12
被符号扩展到16位,例如
FFF4
,其字节在内存中存储颠倒(由于小端结构)

为了检查你们的家庭作业,你们应该让你们的汇编程序生成清单文件。 我创建了这个源文件
mostfa.asm

.DATA
var1 DD 0XADCAEF87, -33, 33, 0X33
var2 DW -12, 1100B,765oct,33h,-154
var3 times 3 db "AB",1,10b,"12"
并使用生成清单
mostfa.asm.lst
的命令
euroasm mostfa.asm
对其进行组装:

     EUROASM DmpWidth=40, NoWarn=2101
[.DATA]
$    EQU 0F000H
var1 DD 0XADCAEF87, -33, 33, 0X33
var2 DW -12, 1100B,765q,33h,-154
var3 db 3*b "AB",1,10b,"12"

0005到0008101是错误的。删除000C中的0X。“765oct”不是有效的NASM语法。
|                                      |     EUROASM DUMPWIDTH=40, NoWarn=2101
|[.DATA]                               |[.DATA]
|F000:                                 |$    EQU 0F000H
|F000:87EFCAADDFFFFFFF2100000033000000 |var1 DD 0XADCAEF87, -33, 33, 0X33
|F010:F4FF0C00F501330066FF             |var2 DW -12, 1100B,765q,33h,-154
|F01A:41424142414201023132             |var3 db 3*b "AB",1,10b,"12"