Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 26.08.2011
Сообщений: 4
1

Вычислить X=A4-B2+K-D2/E1+F1*B2

26.08.2011, 20:05. Показов 824. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
    K       EQU     88h
    A4      dw  000Fh, 4240h
    B2      dw  999
    F1      db  100
    D2      dw  10000
    E1      db  2
    tmp1        db  0
    tmp2        dw  0
    X       dw  0, 0 
 
.CODE   
 
    mov ax, @data       
    mov ds, ax
    mov ax, D2
    idiv E1
    mov tmp1, al
    mov ax, 0
    mov ax, B2
    imul F1
    mov tmp2, ax
    mov ax, A4+2
    mov dx, A4
    sub ax, B2
    sbb dx, 0
    add ax, K
    adc dx, 0
    mov bl, tmp1
    sub ax, bx
    sbb dx, 0
    add ax, tmp2
    adc dx, 0
    
    mov X+2, ax
    mov X, dx 
    
    mov ah,4Ch
    int 21h
end
почему не работает ?(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.08.2011, 20:05
Ответы с готовыми решениями:

Задан массив А размером п. Вычислить среднее арифметическое положительных элементом. Вычислить a1 • a2 + a2 • a3 + + an -1 • an
помогите решить, пожалуйста! Задан массив А размером n. Вычислить среднее арифметическое...

Вычислить элемент матрицы А и вычислить суммы элементов каждой строки
Напечатать матрицу А и вычислить суммы элементов каждой строки матрицы А

Вычислить произведение элементов столбца матрицы . Вычислить максимальный элемент
Помогите, нужно вычислить произведение элементов второго столбца матрицы Y(3x4). . Вычислить...

Вычислить минимальное число операций, за которое можно вычислить выражение
Дано действительное число x. Не пользуясь никакими другими арифметическими операциями кроме...

8
10 / 10 / 1
Регистрация: 26.02.2011
Сообщений: 112
26.08.2011, 20:11 2
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
DOSSEG
 .MODEL SMALL
 .STACK 100h
 .DATA
 K EQU 88h
 A4 dw 000Fh, 4240h
 B2 dw 999
 F1 db 100
 D2 dw 10000
 E1 db 2
 tmp1 db 0
 tmp2 dw 0
 X dw 0, 0 
 
 .CODE 
 
Begin:
 mov ax, @data 
 mov ds, ax
 mov ax, D2
 idiv E1                                ;Деление на ноль
 mov tmp1, al
 mov ax, 0
 mov ax, B2
 imul F1
 mov tmp2, ax
 mov ax, A4+2
 mov dx, A4
 sub ax, B2
 sbb dx, 0
 add ax, K
 adc dx, 0
 mov bl, tmp1
 sub ax, bx
 sbb dx, 0
 add ax, tmp2
 adc dx, 0
 
 mov X+2, ax
 mov X, dx 
 
 mov ah,4Ch
 int 21h
 end Begin
Выходит переполнение деления
А что программа должна делать?
1
0 / 0 / 0
Регистрация: 26.08.2011
Сообщений: 4
26.08.2011, 20:16  [ТС] 3
я знаю што виходит переполнение((,а как правильно написать операции множення и деления штоби небило переполнения и вичислило мне Х.
X=A4-B2+K-D2/E1+F1*B2 (цифри означают количество байт)
0
4165 / 1817 / 216
Регистрация: 06.10.2010
Сообщений: 4,074
26.08.2011, 20:24 4
10000/2=5000 это число не влезет в al

попробуй так
Assembler
1
2
mov ax,[D2]
shr ax,1
0
10 / 10 / 1
Регистрация: 26.02.2011
Сообщений: 112
26.08.2011, 20:27 5
Это на каком ассемблере?
TASM или MASM
(В TASM и MASM должна быть метка в начале самого кода, что я и поправил)
0
0 / 0 / 0
Регистрация: 26.08.2011
Сообщений: 4
26.08.2011, 20:53  [ТС] 6
Цитата Сообщение от Илья Остапишен Посмотреть сообщение
Это на каком ассемблере?
TASM или MASM
(В TASM и MASM должна быть метка в начале самого кода, что я и поправил)
ТАСМ

mov ax,[D2]
shr ax,1

непомогло

надо както правильно розделить все операнди и правильно записать результат.

Добавлено через 6 минут
результат должен бить 10 В195 и записан в :
ax B195
dx 0010

помогите пожалуйста( ато завтра будет капец на екзамене..препод мне сказал отредагировать деление и умножение и програма будет работать...напишиште какимто другим способом...но помогиитее плиззз
0
10 / 10 / 1
Регистрация: 26.02.2011
Сообщений: 112
26.08.2011, 20:56 7
Цитата Сообщение от маркс Посмотреть сообщение
ТАСМ
Я как раз его и использовал


Цитата Сообщение от маркс Посмотреть сообщение
mov ax,[D2]
shr ax,1
непомогло
Программа компилируется и запускается нормально.

Какой результат должен получится?
0
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
26.08.2011, 21:05 8
маркс, перед делением напишите cwd
0
0 / 0 / 0
Регистрация: 26.08.2011
Сообщений: 4
26.08.2011, 21:22  [ТС] 9
Цитата Сообщение от Илья Остапишен Посмотреть сообщение
Я как раз его и использовал



Программа компилируется и запускается нормально.

Какой результат должен получится?
результат должен бить 10 В195 и записан в :
ax B195
dx 0010

Добавлено через 25 секунд
Цитата Сообщение от Goodwin98 Посмотреть сообщение
маркс, перед делением напишите cwd
пробовал, результат неверний.
0
26.08.2011, 21:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2011, 21:22
Помогаю со студенческими работами здесь

Даны целые числа X,Y,Z. Вычислить MAX(X+Y,XYZ). Вычислить MIN(X,Y,Z X-Y)
1. Даны целые числа X,Y,Z. Вычислить MAX(X+Y,XYZ). 2. Даны целые числа X,Y,Z. Вычислить...

Вычислить среднее арифметическое отрицательных чисел. Вычислить сумму элементов каждой строки
Помогите с реализацией задачи: Задать целочисленный двумерный массив NxM (значения N, M вводятся с...

Вычислить max(x + y + z, x * y * z), если все эти числа больше 0, иначе вычислить переменную d=x ^ y.
Даны действительные числа x,y,z. Вычислите max(x+y+z,x*y*z), если все эти числа больше 0, иначе...

Вычислить сумму чисел:в указанном пределе, с неопределенным пределом. Вычислить значение выражения
s=\sum_{n=1}^{15}*{(-1)}^{n+1}*\frac{2*sin(n*x)}{n},y=x Помогите найти ошибку. unit Unit1; ...

Вычислить значение t, соответствующие каждому значению x по формуле. Вычислить количество отрицательных значений x
Циклы. На С++ Вариант 7! Задание: Составить алгоритм решения задачи согласно своему варианту. В...

Вычислить объемы шаров . Вычисление радиусов вычислить в подпрограмме.
точки А(5.I,2.9,-3.7),В(0.8,-1.5,3.9),С(2.2,0.8,5.4) и D(-3.3,2.5,0.7) принадлежат поверхностям...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru