Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 442, средняя оценка - 4.61
Wzz
53 / 53 / 6
Регистрация: 18.10.2009
Сообщений: 309
#1

Как скомпилировать программу? - Assembler

18.10.2009, 00:54. Просмотров 58150. Ответов 12
Метки нет (Все метки)

Я вот начал разгребать асамблер и на одной из первых глав засел. До етого я занимался с html и код ассамблера мне очень напоминает html с етим проблем нет вомпросі по ассемблированию и тп

1)Я вот написал прогу в блокнотике сохранил как prog001.asm пытаюсь ассемблировать нo masm.exe не запускается в нете 2 день роюсь сказано пропишы через дос к нему команду + в команде и поставь к нему туже задачю на выполнение но не где и как нензнаю как ето зделать.

2)Возможно вы можете посоветовать другой ассемблятор если мазм труба тк я перечитал 5-6 учебников и пособий и каждый афтор советует от ся проги хотелось бы услышать мнение людей которые раюботают с етим языком.

3)Об'ясните нубу цепочку преобразования с символов в блокнотике сохраненіх в формате asm до програмы в формате exe просто я перечитал 5 или 6 учебников но все афторы пропустили ету тему также как и ассемблирование

и последний вопрос на который я тоже ненашол ответа скажыте програма написаная ассамблере на моем компе с процесором x86 и виндом хрюшка профешонал пойдет на другом компе потому что авторы в скольз дают познание о процесорах и говорят мол меж ними есть большая разница и пугают что не на всех машынах возможно запустить программу.

кста вот собствено и сам код программы взят из Калашников Ассемблер Это просто. Как я понимаю он выводит обычный месадж.
Assembler
1
2
3
4
5
6
7
8
9
10
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
iny 20h
Message db 'Hello, world'$'
CSEG ends
end Begin
P.S Буду оч благодарен если ответят.Реал все обрыскал и нечо ненашол
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2009, 00:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как скомпилировать программу? (Assembler):

Как скомпилировать - Assembler
Есть исходники одной программы. Но никак не могу понять как изменив исходник получить на выходе новый exe, есть батник - билд, как я понял...

NASM, как скомпилировать файл? - Assembler
У меня нет BIN каталога ,а в книге написано ,что для компиляции файла нужно в командной строке написать:f/bin . как скомпелировать тогда...

Скомпилировать программу на TASM - Assembler
assume CS:code, DS:data code segment begin: mov AX, data mov DS, AX call Display_Ask_X call Input ; ввод X (ограничено...

Скомпилировать программу, и найти ошибки если есть - Assembler
Помогите пожалуйста скомпилировать программу, и найти ошибки если есть P386 MODEL FLAT,stdcall INCLUDE Win32.INC ...

Как скомпилировать в com - Assembler
Как я понял нужно как то скомпилировать в .com? Т.к. .exe не получается, ругается на "No stack" TITLE EXDBADD (COM) Пример сложения...

как скомпилировать - Assembler
Написал первую программу но не могу скомпилировать, подскажите как и в какой среде: ; программа преобразования двухзначного...

12
Goodwin98
2517 / 813 / 9
Регистрация: 31.05.2009
Сообщений: 1,670
18.10.2009, 01:51 #2
Wzz, почитайте другие темы в этом разделе. Например эту или эту.
0
Wzz
53 / 53 / 6
Регистрация: 18.10.2009
Сообщений: 309
18.10.2009, 12:21  [ТС] #3
Я пробовал вашим m32v10r но он выдает ошибки какие именно сказать не могу тк текст скопировать не сумел.Я запустил MASM 32 Editor там открыл выше упомянутый код(пробывал как и в формате txt так и в формате asm) и выбрал project=>Assamble ASM File но выдает ошибки которые я несумел скопировать подскажите ето код неверный или я чтото нето делаю
0
Goodwin98
2517 / 813 / 9
Регистрация: 31.05.2009
Сообщений: 1,670
18.10.2009, 14:27 #4
вообще-то программа вышв должна так выглядеть:
Assembler
1
2
3
4
5
6
7
8
9
10
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset Message
int 21h
int 20h
Message db 'Hello, world$'
CSEG ends
end Begin
Скачайте doslnk.exe
И в командной строке вводите
Код
ml /c proga.asm
doslnk /t proga.obj
ключ /t - говорит что это должна быть com программа
Вот пример exe программы
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.model small
.stack 100h
.data 
mesg     db "Hello World! $"
.code
main:
        mov ax, @data ; настраивается сегментный регистр
        mov ds, ax
        
        mov ah, 09
        mov dx, offset mesg ; вывод сообщения
        int 21h
        
        mov ah, 01 ; ждет нажатия кнопок
        int 21h
 
        mov ax,4c00h ; выход
        int 21h
 
end main
Её линковать нужно уже без /t
Код
ml /c proga.asm
doslnk proga.obj
19
Wzz
53 / 53 / 6
Регистрация: 18.10.2009
Сообщений: 309
18.10.2009, 20:04  [ТС] #5
Спасибо что поправили всё вышло с Tasm но вот незадача я включаю готовую прогу(exe) и она пустая и через 2 сек вырубается. Это нормально ? я думал она должна вывести месадж.

Добавлено через 41 минуту
Еще 1й вопрос вот Калашников в своей книги говорит что команда add(сложение) работает только под процессором 8086+ стало быть под более старыми компьютерами программа с такой командой работать не будет ?
и 2й вопрос на сколько старий компьютер непрочтет ету программу а то я в процессорах слаб.
0
Goodwin98
2517 / 813 / 9
Регистрация: 31.05.2009
Сообщений: 1,670
18.10.2009, 20:22 #6
Цитата Сообщение от Wzz Посмотреть сообщение
и 2й вопрос на сколько старий компьютер непрочтет ету программу а то я в процессорах слаб.
Если вы читаете эти строки с помощью компьютера, то она у вас точно выполнится.
Спасибо что поправили всё вышло с Tasm но вот незадача я включаю готовую прогу(exe) и она пустая и через 2 сек вырубается.
Сразу же можно сказать, что программа должна быть com, а не exe.
Линкуйте ее с ключем /t.
Вот снял видео, как скомпилировать ее с помощью масма.


А это как скомпилировать exe прогу.
23
Вложения
Тип файла: rar hello.rar (57.4 Кб, 1824 просмотров)
Wzz
53 / 53 / 6
Регистрация: 18.10.2009
Сообщений: 309
18.10.2009, 21:37  [ТС] #7
Большое спасибо,Goodwin98. Щяс пороюсь.

Добавлено через 46 минут
С предыдущей прогой разобрался а вот с этой :
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
CSEG segment
org 100h
Start:
  mov ah,9
  mov dx,offset String
  int 21h
  mov ah,10h
  int 16h
  int 20h
String db 'Нажмите любую клавишу...$'
CSEG ends
end Start
Все переписал с учебника и компилировал мазмом по образу и подобию видио урока но надпись у меня нерусская выходит.
Такой вот вопрос строки 4-6 автор говорит выводят текст на экран но не объясняет почему. Это стандартная команда или же у этой команды будут вариации и важно понимать структуру ?
0
Goodwin98
2517 / 813 / 9
Регистрация: 31.05.2009
Сообщений: 1,670
18.10.2009, 22:40 #8
Лучше пишите латинскими буквами или пользуйтесь каким-нибудь редактором, который работает с дос кодировкой, например тот, который встроенный в far.
2
Wzz
53 / 53 / 6
Регистрация: 18.10.2009
Сообщений: 309
19.10.2009, 17:19  [ТС] #9
Прописал заново программу через Far и все равно надпись нерусская. Должен же быть какой то способ писать на русском.
0
Goodwin98
2517 / 813 / 9
Регистрация: 31.05.2009
Сообщений: 1,670
19.10.2009, 18:40 #10
В редакторе фара кнопка F8 - переключение кодировки OEM (DOS)<->ANSI (WIN)
2
Izhik
08.11.2009, 23:20 #11
У меня редактор Bred3
Для OEM<->ANSI

//Искал просто сейчас долго чем бы это все конвертить ...

Goodwin98 спасибо что сказал как это .com откомпилировать под MASM.
Vladiator
1567 / 637 / 25
Регистрация: 24.02.2009
Сообщений: 9,269
24.11.2009, 13:29 #12
а есть компилятор Assembler для Ubuntu?
0
Goodwin98
2517 / 813 / 9
Регистрация: 31.05.2009
Сообщений: 1,670
24.11.2009, 17:00 #13
Kidalvь, Убунту в смысле компилирования программ несильно вроде отличается от других сборок.
Т.е. в нем должны работать обычный gas (AT&T синтаксис) и nasm(интел синтаксис). И линковщик ld.
2
24.11.2009, 17:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2009, 17:00
Привет! Вот еще темы с ответами:

Как скомпилировать файл - Assembler
Подскажите пожалуйста возможно ли скомпилировать данный файл. Проблема в том, что он после Disassembled Using DIS8051 - (C)1989 Data...

Чем и как скомпилировать? - Assembler
Подскажите пжалуста чем скомпилировать эту программу ? .model small .stack 100h ...

Как скомпилировать архиватор? - Assembler
помогите скомпилировать winrk.exe c параметром IMAGE_FILE_LARGE_ADDRESS_AWARE c помощью MASM32 SDK v10, я пробовал через cmd.exe но у меня...

Как и чем скомпилировать? - Assembler
Чем скомпилировать exe файл этой программы? cseg segment assume cs:cseg, ds:cseg, ss:cseg, es:cseg org 100h main proc ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru