Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Прохор
2 / 2 / 0
Регистрация: 02.12.2009
Сообщений: 55
1

Исправить ошибки. Вычисление ариф.выражения

08.09.2010, 21:21. Просмотров 858. Ответов 12
Метки нет (Все метки)

Привет, ребята! Выручайте, есть несколько листингов, нужно их подправить, не хотят компилироваться........
Листинг1(вычисление ариф.выражения)

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
;  (2*c-d*sqrt(42/d)) / c+a-1
.8087
.model small
.data
n1 dd 2
n2 dd 42
a dq 2.5
b dq 8.2
c dq 7.3
d dq 5.7
.code
.startup
mov ax, @data
mov ds, ax
finit
fild n1
fmul c
fild n2
fdiv d
fsqrt
fmul d
fsub
fdiv c
fadd a
fld1
fsub
ret
end
; 1.3804719
Листинг2 (вычисление ариф.выражения)

Assembler
1
2
3
4
5
6
7
8
9
10
11
.286
mov     ax, c
sal     ax, 1
mov     cx, d
imul    cx, cx, 42
sub     ax, cx
cwd
mov     cx, c
add     cx, a
dec     cx
idiv    cx
Листинг3(перевод чисел)

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
readint:
                mov ah, 0ah
                mov dx, offset s
                int 21h ;считывание строки
                mov cl, byte ptr [s+1]; в cl длина строки
                mov di, offset s+2; di начало строки
                mov ah, 0
                lab1:
                        mov al, [di]; берем первый символ
                        sub al, '0'; переводим символ в цифру
                        push ax ; отправляем цифру в стек
                        inc di ; слудующий символ
                dec cl
                jnz lab1; если не ноль, то продолжать цикл
 
                mov cl, byte ptr [s+1]; в cl длина строки
                mov bx, 1
                mov word ptr[si], 0; j,обнуляем переменную
                lab2:
                        pop ax; берем цифру из стека
                        cmp ax, 9
                        jg error
                        mul bx; умножаем на bx
                        add word ptr[si], ax; наращиваем сумму
                        mov ax, bx; 
                        mov dx, 10
                        mul dx
                        mov bx, ax; 4 строки- умножение bx на 10
                dec cl
                jnz lab2        
                
        ret
Листинг4(смена разрешения)

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
а
cseg segment
assume cs:cseg, ds:cseg
org 100h
start:
а
mov ax, 4f02h
mov bx, 103h
int 10h
а
mov ah, 9
lea dx, mode_1
int 21h
а
xor ax, ax
int 16h
а
mov ax, 4f02h
mov bx, 105h
int 10h
а
mov ah, 9
lea dx, mode_2
int 21h
а
xor ax, ax
int 16h
а
mov ax, 4c00h
int 21h
а
mode_1 db '800x600, а8bit', 10, 13, '$'
mode_2 db '1024x768, а8bit', 10, 13, '$'
а
cseg ends
end start
а
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2010, 21:21
Ответы с готовыми решениями:

ариф. действия.
Доброго вам вечера дамы, и господа.У меня смехотворная(для вас)проблема. Нужно...

Вычисление x^n. Нужно исправить.
Задание: Вычислить x^N Помогите пожалуйста исправить ошибки. .model small...

Исправить ошибки в порграмме
m segment assume cs:m, ss:m, cs:m, ds:m Org 100h; st: jmp met; ...

Окружность: исправить ошибки
при компиляции выдает ошибки: <29>Need address or register <30>Undefined...

Вычисление выражения A/B*C
Напишите код, если не трудно, пожалуйста. Написать фрагмент программы на...

12
vital792
1999 / 1271 / 60
Регистрация: 05.06.2010
Сообщений: 2,213
08.09.2010, 21:39 2
смотрю много знакомого кода)) и какие же ошибки он выдает при компиляции? тут тока Листинг1 и 4(тока убрать а)готовые проги, остальное фрагменты
0
rozz
3 / 3 / 0
Регистрация: 02.09.2010
Сообщений: 47
10.09.2010, 16:51 3
Кстате, а Листинг3(перевод чисел) ?
0
Прохор
2 / 2 / 0
Регистрация: 02.12.2009
Сообщений: 55
14.09.2010, 20:14  [ТС] 4
Да, но что-то у меня ничего не работает.....
0
Прохор
2 / 2 / 0
Регистрация: 02.12.2009
Сообщений: 55
14.09.2010, 20:20  [ТС] 5
Ребята, после tlink не появляется obj файл, а появляется файл с расширением MAP
Что это может быть?
0
Tronix
157 / 104 / 6
Регистрация: 22.08.2010
Сообщений: 215
14.09.2010, 20:21 6
Проблема может быть в неправильно написанном ASM-файле (программе).
0
Goodwin98
2521 / 817 / 10
Регистрация: 31.05.2009
Сообщений: 1,672
14.09.2010, 20:32 7
Да и процесс компилирования\линкования описать было бы неплохо...
0
Прохор
2 / 2 / 0
Регистрация: 02.12.2009
Сообщений: 55
14.09.2010, 20:47  [ТС] 8
Пишу в командной строке tlink название файла.asm. После этого должен создаться obj-файл, потом Tasm obj-файл
0
Goodwin98
2521 / 817 / 10
Регистрация: 31.05.2009
Сообщений: 1,672
14.09.2010, 20:51 9
Нужно бы ноаюорот.. Вначале тасм, а потом tlink, но это вы наверно опечатались.
А пишет что ?
1
Прохор
2 / 2 / 0
Регистрация: 02.12.2009
Сообщений: 55
14.09.2010, 20:56  [ТС] 10
Да действительно, спасибо, создался exe файл, но результата нет. Может задержечку нужно установить. Листинг 1.....
0
Goodwin98
2521 / 817 / 10
Регистрация: 31.05.2009
Сообщений: 1,672
14.09.2010, 21:02 11
Что-то не вижу, в первом листинге, кода, который бы хоть что-нибудь выводил...
0
Прохор
2 / 2 / 0
Регистрация: 02.12.2009
Сообщений: 55
14.09.2010, 21:50  [ТС] 12
Ребята, как делать задержку на примере листинг 1?
0
Goodwin98
2521 / 817 / 10
Регистрация: 31.05.2009
Сообщений: 1,672
14.09.2010, 21:58 13
Повторю еще раз. У вас не выводится ничего. Вам не задержка нужна, а перевод вещественного числа числа в строку.
0
14.09.2010, 21:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2010, 21:58

Вычисление выражения 2*a-(b^2+c)
Здравствуйте! Вычислить выражение: 2*a-(b^2+c), вместо b в квадрате записать...

вычисление выражения 2A+2B
Задачку надо решить для зачета... пробовала сама решить... ничего не...

Вычисление выражения
Помогите написать программу для вычисления выражения. Данные для переменных...


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

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

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