Когда я запускаю этот пример, я получаю сообщение об ошибке.После удаления PROC1 PROC FAR я получаю еще одну ошибку «конфликт типов символов».С / coff: «для начального адреса требуется начальное подчеркивание: START».
Microsoft (R) Macro Assembler Версия 6.14.8444 Copyright (C) Microsoft Corp 1981-1997.Все права защищены.
Сборка: D: \ Linux \ test1.asm D: \ Linux \ test1.asm (28): ошибка A2006: неопределенный символ: START
D: \ Linux \ test1.asm(16): ошибка A2004: конфликт типов символов
D: \ Linux \ test1.asm (28): ошибка A2148: недопустимый тип символов в выражении: STAR
TITLE EXAMPLE
DATA SEGMENT
VARX DW 6
VARY DW 7
RESULT DW ?
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
COSEG SEGMENT
PROC1 PROC FAR
ASSUME CS:COSEG, DS:DATA, SS:STACK1
START: PUSH DS
MOV AX, 0
PUSH AX
MOV AX, DATA
MOV DS, AX
MOV DX, VARX
MOV DX, VARY
MOV CL, 3
SAL DX, CL
SUB DX, VARX
SAR DX, 1
MOV RESULT, DX
RET
PROC1 ENDP
COSEG ENDS
END START
Приложение:
После удаления start оно оставило ошибку в строке 16. Почему происходит эта ошибка в MOV AX, DATA
?
Microsoft (R) Macro Assembler Версия 6.14.8444 Copyright (C)) Корпорация Майкрософт, 1981–1997 годы.Все права защищены.
Сборка: D: \ Linux \ test1.asm D: \ Linux \ test1.asm (16): ошибка A2004: конфликт типов символов