Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

первапя программа на ассемблере TASM выдает ошибки при компилировании

72K
12 июня 2012 года
Dethrone
10 / / 22.10.2011
Начал изучать ассемблер, и вот пример первой программы из книги
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, обьясните пожалуйста новичку в чем может быть проблема
277
12 июня 2012 года
arrjj
1.7K / / 26.01.2011
код выделяй с помощью {...} кнопочки, иначе превращается в кашу.
move ax,@data
попробуй.

Примеры можешь взять тут (правда на англицком, но с комментами)
72K
13 июня 2012 года
Dethrone
10 / / 22.10.2011
RadAsm у меня видает такие ошибки при таком виде 10 строки: mov ax, data

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

вторая ошибка связанная с последней строкой кода

может причина в компиляторе, или я что то не правильно указал, или недоуказал? буду благодарен за помощь
277
13 июня 2012 года
arrjj
1.7K / / 26.01.2011
Такой код компилится?
Код:
; 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

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог