尝试使用地址初始化变量时出现TASM错误

时间:2015-04-10 18:05:00

标签: assembly x86 tasm

我的第一个TASM计划出错了。这些是抛出的2个错误:

在我的.DATA

    LisData db 10,20,30,40,50 
    Inicio db [LisData] ;ERROR! expecting scalar type

然后在.CODE

    mov Bx, Inicio ;ERROR! operand types don't match

也许这是一个非常明显的错误,但我对TASM知之甚少,并会感激你的帮助

最后这是竞争.asm文件

.MODEL SMALL
.STACK 100H
.DATA
Long db 5
Sumver db 0
LisData db 10,20,30,40,50
Inicio db [LisData]
.CODE
CALCULO:
  mov Ch, 0
  mov Cl, Long
  mov Bx, Inicio
  mov Al, [Bx]
  CICLO:
    add Bx, 1
    add Al, [Bx]
    loop CICLO
  mov Sumver, Al
  mov ah, 004ch
  int 21h
END

我希望LisData的内存地址位于Inicio,这是一个指针,所以我可以遍历其中的值(10,20,30),以便添加它们并将总和存储在{ {1}}。

1 个答案:

答案 0 :(得分:1)

  

我想要LisData的内存地址,这是一个指针,所以我可以通过   其中的值

然后你需要一个单词,而不是一个字节,你需要地址本身,例如:

Inicio dw LisData