Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пример, пассемблер 
:(
    Опции темы
Оксана17
  Дата 25.11.2010, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.11.2010

Репутация: нет
Всего: нет



вот такой пример реализованный на ассемблере y = (c + 7∙b)/(a + d)
но выводит ошибки,подскажите пожалуйста,в чем ошибка

Код

.model small
.stack 100h
.data
;y=(с+7*b)/(a+d)
a db 2
b db 1
c db 3
d db 3
y dw 0
.code
Start:
mov ax, @data
Mov ds, ax
xor ax,ax
mov al,b
mul 7
add al,c
mov cl,a
add cl,b
div cl
mov y,ax
mov ah, 4ch
Int 21h
End start
end

PM MAIL   Вверх
500mhz
  Дата 25.11.2010, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: 1
Всего: 14



ошибка чего? компиляции? при исполнении? какая ошибка


пс
Код

.model small
.stack 100h
.data
;y=(с+7*b)/(a+d)
a db 2
b db 1
c db 3
d db 3
y dw 0
.code
Start:
mov ax, @data
Mov ds, ax
xor ax,ax
mov al,[ds:b]
mul 7
add al,[ds:c]
mov cl,[ds:a]
add cl,[ds:b]
div cl
mov [ds:y],ax
mov ah, 4ch
Int 21h
End start
end





наверно так, хотя синтаксис от компилятора зависит


--------------------

PM MAIL ICQ   Вверх
iff
Дата 25.11.2010, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



В 16-ой строчке умножение на константу. вроде 86-ой проц. может умножать командой mul только на значение из регистра или памяти


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
vadimych
Дата 17.1.2011, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



Вот в таком виде компилируется:
.model small
.stack 100h
.data
;y=(с+7*b)/(a+d)
a db 2
b db 1
cc db 3
d db 3
y dw 0
.code
Start:
mov ax, @data
Mov ds, ax
xor ax,ax
mov al,b
mov bl,7    ; 7 - в bl, можно было использовать переменную
mul bl
add al,cc
mov cl,a
add cl,d  ;здесь исправил  b  на d, но это не критично
div cl
mov y,ax
mov ah, 4ch
Int 21h
End start
Код




Это сообщение отредактировал(а) vadimych - 17.1.2011, 07:24
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0830 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.