Имя: Пароль:
IT
 
Кто понимает в ассемблере помогите
0 Erhov_egor
 
29.12.11
09:21
(2*c-d/2+1)/(a*a+7),
пробую так
mov al,2
imul cc
inc al

mov cl,0
xchg cl,al
mov al,dd_
cwd
mov bl,2
idiv bl
cbw

sub cl,al
1 Злопчинский
 
29.12.11
09:27
блин, в ассемблере нормальном таких команд никогда не было.. что помню:
BR
LA
LR
BE
BNE
.. все... давно это было.. тогда Земля была горячей и по ней бродили мамонты..
2 vah1
 
29.12.11
09:31
не помню знал я или уже забыл, а вот с разностью в скобках надо бы поаккуратней
3 DEVIce
 
29.12.11
09:37
Вопрос то в чем?
4 andrewks
 
29.12.11
09:39
(1) команды не в ассемблере, а в процессоре :)
5 НЕА123
 
29.12.11
09:41
раньше писал на С. потом смотрел ассемблерный код.
6 Злопчинский
 
29.12.11
09:41
(4) да ладно! в процессоре 0 и 1
7 1Сергей
 
29.12.11
09:43
(6) нееее... там есть ток и нет тока :)
8 andrewks
 
29.12.11
09:44
(6) вообще-то, там вольты )
9 filh
 
29.12.11
09:44
(0) а что надо то?
10 Злопчинский
 
29.12.11
09:44
(8) что там  делает мультяшный пес???? завязывай с ЛСД!!!
11 Злопчинский
 
29.12.11
09:44
(7) то есть типа - идешь, на улице темно - типа тока нет?
12 filh
 
29.12.11
09:45
(0) a,c,d задаются с клавиатуры или где?
13 andrewks
 
29.12.11
09:45
(10) э?
14 Alex S D
 
29.12.11
09:46
2*c-d/2+1

mov ax,c
shl ax,1; ax:=C*2
inc ax; ax:=C*2+1
mov bx,d
sar bx,1; bx:=d/2
sub ax,bx; ax:=2*c-d/2+1
15 Злопчинский
 
29.12.11
09:47
(14) блин! кто ж так умножает на два??? всегда шифтом на 1 разряд это делал и!!!! о времена, о нравы!! патрио о муэрто!!!
16 andrewks
 
29.12.11
09:48
(14) о, вот эти символы я начинаю вспоминать
17 filh
 
29.12.11
09:50
(15) там и есть шифтом
18 Mikeware
 
29.12.11
09:50
(1) ассемблеров много... :-)
19 Fish
 
29.12.11
09:51
(7) Два по схемотехнике :))) Ток там есть всегда, просто разный :)))
20 Злопчинский
 
29.12.11
09:55
(1) да ладно! самый настоящий ассемблер - ассемблер ибм360/370!!! дайте эмулятор такого!!!
21 andrewks
 
29.12.11
09:55
что за регистры в (0)? несколько раз глаза протирал, но до сих пор не узнаю их
22 filh
 
29.12.11
09:57
a*a+7
mov ax,a
mul ax    ;ax=a*a
add ax,bx ;ax=a*a+7

(21) ax это al и ah
23 filh
 
29.12.11
09:58
заместо bx  7 надо))
24 PLUT
 
29.12.11
10:00
(20) PDP-11 (БК-0010)
25 andrewks
 
29.12.11
10:00
(22) ну да, уже и забыл. только, мне кажется, оперировать байтом здесь неуместно, всё-таки умножения
26 Mikeware
 
29.12.11
10:01
(20) попадался  где-то... но там некрасивый ассемблер. самый красивый, который я видел (не из РИСКов, есссно) - это дэковский пидипишный...
27 Alex S D
 
29.12.11
10:03
(25) ax, bx 16 битные не?
28 andrewks
 
29.12.11
10:04
(27) я про (0)
29 DEVIce
 
29.12.11
10:04
(17). А если переполнение будет? Старший бит куда?
30 andrewks
 
29.12.11
10:07
вот, например:
imul c  ;  результат в AX

автор сразу теряет старший байт
31 Злопчинский
 
29.12.11
10:08
(29)  ты знаешь как впихнуть невпих-емое????
32 andrewks
 
29.12.11
10:10
(31) ну, флаги-то хотя бы проверить надо
33 DEVIce
 
29.12.11
10:12
(31). При умножении обычно получатель результата имеет вдвое больше разрядов. Ну и старший бит, ведь если он 1, то это отрицатильное число, значит даже если и двигать, то не простым шифтом, а которые на трогает старший бит.
34 filh
 
29.12.11
10:15
(32) еще и дробное число выводить придется)))
35 DEVIce
 
29.12.11
10:18
(34). Если дробное число с фиксированной запятой, то просто запомни для себя сколько знаков после запятой и не заморачиваться, а если с плавающей, то читай стандарт на представление чисел.
36 filh
 
29.12.11
10:26
(35) да там(давно было) через стек выводились циферки после запятой.
37 HeroShima
 
29.12.11
16:44
обнуление классически делается через xor
38 Кирпич
 
29.12.11
17:09
(0) набей выражение в delphi или в VC++ и погляди в отладчике. может полегчает.
39 Злопчинский
 
29.12.11
19:19
938) экстремальное программирование, блин!!