-1
我是新来的汇编语言,我正在尝试创建一个简单的程序来用汇编语言添加数字。 当.MODEL为Tiny时,我确实成功启动了该程序,但当.MODEL变为小时,程序返回“重复声明”错误。.MODEL SMALL组合中数据的重复Decode
我明白这两个模型的定义,但我无法弄清楚什么变化。
我所做的尝试:
- 我改变了数据名称数据1和它的作品在小而不微小。
- 我添加的代码.ORG 100H .MODEL后和它的作品,因为它使近存储器中运行的程序(?)
我缺少什么概念?
预先感谢您
.MODEL TINY
.DATA
data DB 10D, 11D, 12D, 13D, 14D, 15, 16D, 17D, 18D, 19D
.CODE
.STARTUP
XOR AX, AX
MOV BX, OFFSET data
MOV CX, 5
ulang:
ADD AX, [BX]
INC BX
LOOP ulang
.EXIT
END
请不要将代码和错误添加为图像。这使得问题难以被搜索到,并且对我们来说可读性和便利性都较差。 –
如果在代码之前放置数据,那么使用很小的数据时,数据将作为代码执行。在代码之后移动您的DATA部分。 –
说到DOS:.tiny会创建一个.com文件,所以你需要添加.org 0100h才能在正确的地址开始。删除所有分段,因为所有分段注册将被设置为相同的值。你(如迈克尔说的)需要将数据移动到最后,或者在它前面添加一个跳转到启动。否则它会被视为代码(并执行,这很可能会崩溃,或者做你不想要的东西) – Tommylee2k