![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 12.05.2011
Сообщений: 3
|
![]()
Задание: Пользуясь ассемблерными вставками в Pascal написать программу вычисления выражения: (abs(2*a*b-sqr(b))) div (a+3)+abs((a*b-2)div b)
Программу написала, он считает,но результат с решением разный, не могу найти ошибку ,прошу посмотреть .. program prim; label m,m1,m2,m3,ex; var a,b,y:integer; begin writeln('a,b='); readln(a,b); asm mov si,a; add si,3; jne m end; writeln('a+3=0'); asm jmp ex m: mov di,b; cmp b,0; jnz m1 end; writeln('b=0'); asm gmp ex; m1:mov ax,a; imul b; sub ax,2; cwd; idiv di; jge m2; neg ax; m2: mov bp,ax; mov ax,a; add ax,a; imul b; mov di,b; imul b; sub ax,di; jge m3; neg ax; m3:cwd; idiv ax,si; add ax,bp; mov y,ax end; writeln('result:',(abs(2*a*b-sqr(b))) div (a+3) + abs((a*b-2) div b),',y=',y); ex: end. |
![]() |
![]() |
![]() |
#2 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
![]()
В Асм не бум бум, но могу посоветовать разбить формулу на части и сверять результаты по ходу выполнения программы.
Сливочное масло Valio - компиляция как по маслу
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
title Не могу найти ошибку!!!(( | Selenga | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 13.05.2011 15:30 |
Не могу найти ошибку | T-dayne | Помощь студентам | 4 | 11.10.2010 11:51 |
Не могу найти ошибку | IgorGO | Microsoft Office Excel | 11 | 17.09.2010 16:28 |
не могу найти ошибку! | novi4ok_Delphi | Помощь студентам | 4 | 24.04.2010 21:46 |
С++. не могу найти ошибку | world12_tk | Помощь студентам | 3 | 25.07.2009 10:47 |