什么是LINK错误L1083:conn打开文件?

时间:2015-04-01 17:11:01

标签: assembly

我使用masm5.0进行汇编和链接以将其链接到dosbox.I'新手到汇编。这是我的第一个程序,它应该将0500H的16位数转换为5个相应的数字,然后将它们的ASCII代码放在0510H~0514H上。 代码:

DATA SEGMENT
ORG 0500H
INPUT DB (?)

ORG 0510H
RESULT DB 5 DUP(?)
DATA ENDS


CODE SEGMENT
    ASSUME CS:CODE, DS:DATA
START:
    XOR AX, AX
    MOV SS, AX 

    MOV BP, 0510H
    MOV BX, 0AH
    XOR DI, DI

    MOV AL, INPUT
    XOR AH,AH

    MOV CX, 5H

LP: XOR DX, DX
    DIV BX
    ADD DX,030H
    MOV [BP][DI], DX
    INC DI
    LOOP LP
CODE ENDS
END START

1 个答案:

答案 0 :(得分:1)

LINK错误与您发布的代码无关。我们无法解决这个问题。

但是,您展示的代码存在一些问题。

你说应该在0500H 转换一个16位数字,但你只在那个位置定义一个字节!

写入结果数字时,如果要移动一个字节,则移动一个单词!

在编写结果数字时,您使用的是BP相对寻址,它将使用SS寄存器,但您没有ASSUME SS:DATA

你初始化了SS寄存器但是SP呢?

转换例程是错误的,因为您需要从右侧开始编写结果!因此,请初始化mov di,4并使用dec di