Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2011, 01:07   #1
Skender
Пользователь
 
Регистрация: 27.08.2011
Сообщений: 21
По умолчанию Рассчитать площадь поверхности конуса: Не найду ошибку в ассемблере

Код:
386p
data segment 
BUF db 2,3 dup (?)
r db 0 dup(''),'$'
h db 0 dup(''),'$'
S db 0 dup(?),'$'
PR_R db 'enter 1 arg(R)','$'
PR_H db 'enter 2 arg(H)','$'
PR_S db 'Area = ','$'
PR_R1 db 'ARG=','$'
PR_H1 db 'ARG=','$'
data ends
code segment 
start proc far
assume cs:code,ds:data,ss:stack,es:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov es,ax

call clear 

mov dx,0000h
call curs
lea dx,PR_R
call display
mov ah,0ah
lea dx,BUF
int 21h
mov al,BUF+2
mov r,BUF

mov ah,0ah
lea dx,BUF
int 21h
mov al,BUF+2
mov h,BUF

call clear

mov dx,0002h
call curs
lea dx,PR_R1
lea dx,r
call display

mov dx,0001h
call curs
lea dx,PR_H1
lea dx,h
call display

mov al,r
and al,0fh
mov bl,al

mov al,h
and al,0fh

mov cl,3.14
mul bl
mov bl,2
mul bl
mul cl
mov S,al

call clear

mov dx,000h
call curs
lea dx,PR_S
call display

mov al,r
and al,0fh
mov bl,al

mov al,h
and al,0fh
mov cl,3.14
mul bl
mov bl,2
mul bl
mul cl
mov S,al

ret
start endp

clear proc near
mov ax,0600h
mov bh,07h
mov cx,0000h
mov dx,184fh
int 10h
ret
clear endp

curs proc near
mov ah,02h
mov bh,00
int 10h
ret
curs endp

display proc near
mov ah,09h
int 21h
ret
display endp
code ends
end start
задача посчитать площать поверхности конуса


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 24.09.2011 в 08:26.
Skender вне форума Ответить с цитированием
Старый 24.09.2011, 09:42   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Вы пытаетесь запихнуть дробные числа в целочисленный регистр. Это неверно, нужно либо считать площадь в целых числах, либо использовать сопроцессор.
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 24.09.2011, 12:08   #3
Skender
Пользователь
 
Регистрация: 27.08.2011
Сообщений: 21
По умолчанию

А остальное все правильно??
почему тогда TASM мне его не компилит ??
Skender вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны площадь круга и площадь квадрата Joker<777> Паскаль, Turbo Pascal, PascalABC.NET 10 17.01.2012 07:00
ООП (паскаль) - дан ромб. найти площадь. построить пирамиду, найти её площадь Rfn.if Помощь студентам 0 27.04.2011 16:10
Рисование тени конуса bill Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 12.12.2010 17:43
Найти объём куба и площадь его боковой поверхности BASIC Ветренная Помощь студентам 23 02.06.2008 13:15