Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2011, 14:04   #1
Sfash
Новичок
Джуниор
 
Регистрация: 18.06.2011
Сообщений: 3
Сообщение Вычисление выражения

Здравствуйте. Делал попытку сосчитать на ассемблере выражение: x^3+2*x+8 при x=2. Но в итоге объектный файл не создается [masm'ом]. Стало быть ошибок наделал. Не могли бы вы показать мне их? Заранее благодарю)
Код:
title 1.asm       
stacksg segment stack 'stack'
dw 64 dup(?)
stacksg ends
datasg segment 'data'     
a1 db 2
datasg ends
codesg segment 'code'
main proc far 
mov AX,datasg
assume CS:codesg, DS:datasg, SS:stacksg
mov DS,AX 
mov al,a1 
imul al
int 21h
mov al,ax
mov сx,a1
imul cx
int 21h
mov bx,ax
mov ax,a1
MOV АL,2
imul ax
int 21h
add bx,ax
add bx,8
int 21h 
mov ah9
mov bl,0
mov ah,4ch
int 21H
main endp
codesg ends
end main

Последний раз редактировалось Stilet; 18.06.2011 в 14:34.
Sfash вне форума Ответить с цитированием
Старый 18.06.2011, 14:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Но в итоге объектный файл не создается
А какие ошибки выбивает?
Кстати я бы написал так:
Код:
mov eax,2
mov ebx,2
mul bl
mul bl
xchg eax,ecx
mov eax,2
mul bl
add eax,ecx
add eax,8
Чет я в твоем коде малость затупался
I'm learning to live...

Последний раз редактировалось Stilet; 18.06.2011 в 14:40.
Stilet вне форума Ответить с цитированием
Старый 18.06.2011, 14:46   #3
Sfash
Новичок
Джуниор
 
Регистрация: 18.06.2011
Сообщений: 3
По умолчанию

А ошибок вообще не пишет, тупо вылетает
Не мудрено =) Опыта нет вообще, писал практически по образцу, поэтому и натупил
А в вашем коде что означает строчка "xchg eax,ecx"?

Последний раз редактировалось Sfash; 18.06.2011 в 14:49.
Sfash вне форума Ответить с цитированием
Старый 18.06.2011, 15:34   #4
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

Вот ваши ошибки. В командной строке хорошо видно.

Вот код рабочий.
Код:
assume CS:codesg, DS:datasg, SS:stacksg
stacksg segment stack 'stack'
dw 64 dup(?)
stacksg ends
datasg segment 'data'     
a1 dw 2
datasg ends
codesg segment 'code'
main proc far 
mov AX,datasg
mov DS,AX 

mov ax,a1
mov bx,ax
mul ax
mul bx
shl bx,1
add ax,bx
add ax,8

aam 
or ax,3030h
xchg al,ah
int 29h
mov al,ah
int 29h
xor ax,ax
int 16h
mov ah,4ch
int 21H
main endp
codesg ends
end main
Изображения
Тип файла: jpg 38-33-15-18-6-2011.jpg (184.8 Кб, 163 просмотров)

Последний раз редактировалось Stilet; 18.06.2011 в 15:52.
vadimych вне форума Ответить с цитированием
Старый 18.06.2011, 15:49   #5
Sfash
Новичок
Джуниор
 
Регистрация: 18.06.2011
Сообщений: 3
По умолчанию

Спасибо) Буду разбираться
Sfash вне форума Ответить с цитированием
Старый 18.06.2011, 15:49   #6
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Цитата:
Чет я в твоем коде малость затупался
Помоему этот код вообще не имеет смысла. Его даже пытаться понять не стоит )
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление заданной функции (выражения) kisch Паскаль, Turbo Pascal, PascalABC.NET 9 16.06.2011 21:18
регулярные выражения Aleksey1408D PHP 5 05.06.2011 07:41
Калькулятор в C# (вычисление выражения) Priaulx C# (си шарп) 6 19.04.2011 18:31
Вычисление условного арифметического выражения doda666 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 16.03.2010 08:02