Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ошибка в программе Assembler  (Прочитано 7152 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Marta
Интересующийся

ua
Offline Offline

« : 17-05-2014 22:35 » new

Доброй ночи, всем активным участникам этого замечательного форума. помогите, пожалуйста, помочь разобраться в ошибке.

задание:
Создать программу на языке Ассемблер, что позволяет организовать вычисления (сложение и вычитание) по формуле K=(a+5)-(c+d)+(e-f-7+a).

вот программа:
Код:
format MZ
start:    mov ax,cs
      mov ds,ax
        mov al,[a]
        add al,5
        mov dl,al
        mov al,[c]
        add al,[d]
        sub dl,al
        mov al,[e]
        sub al,[f]
        sub al,7
        add al,[a]
        add al,dl
        mov ah,4Ch
        int 21h
;--------------
a db 5
c dw 2
d dw 4
e dw 67
f dw 12

ошибка в строчке:
 mov al,[c]

заранее огромное спасибо всем!!!
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 17-05-2014 22:44 » 

что такое
db
dw
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Marta
Интересующийся

ua
Offline Offline

« Ответ #2 : 17-05-2014 22:50 » 


Sla, нам так сказали писать.

Добавлено через 9 часов, 59 минут и 34 секунды:
могу скинуть сюда примеры.

Добавлено через 9 часов, 59 минут и 3 секунды:
вот пример написания вот этого (сказали по этому примеру выполнять) s=s0+vt+at2/2

Код:
use16
org 100h
 mov al,[v0] {al=v0}
 mov cl,[t]{cl=t}
 mul cl{ax=al*cl=v0t}
 mov bx,ax{bx=ax=v0t}

 mov al,[a] {al=a}
 mul cl{ax=al*cl=a*t}
 mov ch,0{перетворюємо t в слово}
 mul cx {dx:ax=ax*cx=at2}
 mov cl,2{cl=2}
 div cx{ax=(ax/2)=(at2/2)

 add ax,bx{ax=ax+bx=v0t+at2/2}
 add al,[x0]{ax=ax+x0=x0+v0t+at2/2}
 adc ah,ch

 mov [x],ax {x=ax}

 mov ax,4c00h{конец}
 int 21h{конец}
;--------------
x0 db 100
v0 db 7
a db 3
t db 25
x dw ?

 


Добавлено через 9 часов, 57 минут и 25 секунд:
вот моя рабочая  программа:
Код:
  format MZ
start:    mov ax,cs
      mov ds,ax
        mov al,[a]
        add al,5
        mov dl,al
        mov al,[c]
        add al,[d]
        sub dl,al
        mov al,[e]
        sub al,[f]
        sub al,7
        add al,[a]
        add al,dl
        mov ah,4Ch
        int 21h
;--------------
a db 5
c db 2
d db 4
e db 67
f db 12               
« Последнее редактирование: 18-05-2014 08:49 от Marta » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines