первапя программа на ассемблере TASM выдает ошибки при компилировании
data segment para public 'data'
message db 'Hello World! No war and bomb! Let us live friendly and learn assembler language. $'
data ends
stk segment stack
db 256 dup ('?')
stk ends
code segment para public 'code'
main proc
assume cs:code,ds:data,ss:stk
mov ax, data
mov ds, ax
mov ah, 9
mov dx, offset message
int 21h
mov ax, 4c00h
int 21h
main endp
code ends
end main
проблема в 10 строке, несоответствие типов, и видает еще иногда какую то проблему относительно
слова main, обьясните пожалуйста новичку в чем может быть проблема
код выделяй с помощью {...} кнопочки, иначе превращается в кашу.
1. error A2004: symbol type conflict
2. warning A4023: with /coff switch, leading underscore required for start address : main
если исправить на mov ax, @data, то первая ошибка изменяется на
- error A2006: undefined symbol : @data
вторая ошибка связанная с последней строкой кода
может причина в компиляторе, или я что то не правильно указал, или недоуказал? буду благодарен за помощь
Код:
; Turbo Assembler Copyright (c) 1988, 1991 By Borland International, Inc.
; HELLO.ASM - Display the message "Hello World"
; From the Turbo Assembler Users Guide - Getting started
.MODEL small
.STACK 100h
.DATA
HelloMessage DB 'Hello, world',13,10,'$'
.CODE
mov ax,@data
mov ds,ax ;set DS to point to the data segment
mov ah,9 ;DOS print string function
mov dx,OFFSET HelloMessage ;point to "Hello, world"
int 21h ;display "Hello, world"
mov ah,4ch ;DOS terminate program function
int 21h ;terminate the program
END
; HELLO.ASM - Display the message "Hello World"
; From the Turbo Assembler Users Guide - Getting started
.MODEL small
.STACK 100h
.DATA
HelloMessage DB 'Hello, world',13,10,'$'
.CODE
mov ax,@data
mov ds,ax ;set DS to point to the data segment
mov ah,9 ;DOS print string function
mov dx,OFFSET HelloMessage ;point to "Hello, world"
int 21h ;display "Hello, world"
mov ah,4ch ;DOS terminate program function
int 21h ;terminate the program
END