Имя: Пароль:
IT
 
Ассемблер кто нить в рамках института еще помнит? Сотруднице надо помочь
,
0 маленький_ в _чем_то
 
10.01.17
15:25
а то сессия горит. В общем если кто отметится здесь , что готов помочь, вывалю задачи. пример первой: у = ((а-b)**2 + с )/d  a,b,c,d BYTE

PS: Мой опыт с ассемблером был 20 лет назад,увы.
4 mehfk
 
10.01.17
15:51
(0) Процессор PDP-11?
5 mehfk
 
10.01.17
15:51
(4)+ В смысле, что у каждого проца свой асм.
6 b_ru
 
10.01.17
15:53
sub al, bl
mul al, al
add al, cl
div al ,dl

сиськи сотрудницы в топик
7 Злопчинский
 
10.01.17
16:03
е! ты знал!!! мне сегодня ночью приснилось ни абы что, а типа что я в Primus'e не посто кодю на ассемблере, а вообще поперся в консоль ЗВМ что-то курочить...
8 маленький_ в _чем_то
 
10.01.17
16:04
боюсь тема сисек раскрыта не будет
9 Это_mike
 
10.01.17
16:04
(4) 11-й - это сказка...
10 b_ru
 
10.01.17
16:05
(8) тогда (1)
11 маленький_ в _чем_то
 
10.01.17
16:05
задача 2 : М1 массив из 20 элементов BYTE, найти max
12 Это_mike
 
10.01.17
16:05
(7) а я вчера сыну рассказывал про инженерные панели...
13 Cool_Profi
 
10.01.17
16:06
(7) А я примус уже и не помню почти... ((
14 Злопчинский
 
10.01.17
16:06
(11) в максимальном числе максимально большое количестов единичек. соответственно тратиться энергии на поддержание электрического уровня этих единичек больше. Меряем термометром какая ячейка массива греется сильнее - профит!
15 Злопчинский
 
10.01.17
16:07
(13) не, ну так нельзя,...ну гоу сисин диди - помнишь-то?
16 Это_mike
 
10.01.17
16:07
(14) а что тяжелее - ячейка с нулями, или с единицами?
17 b_ru
 
10.01.17
16:07
(14) по-твоему 0111 > 1000 ? :)
18 Это_mike
 
10.01.17
16:08
(17) единичек же больше!
19 Злопчинский
 
10.01.17
16:08
(17) согласен, слажал.. ;-) буду думать как выкрутиться...
20 Cool_Profi
 
10.01.17
16:08
(15) неа (((((
Ваабще всё вылетело из памяти... Помню только, как в звёздные войны играл... И как на pl/1 писал и в машзал за распечатками бегал...
А команды - как отрезало...
21 Cool_Profi
 
10.01.17
16:09
(16) На это Лем в своё время ответил...
22 маленький_ в _чем_то
 
10.01.17
16:09
5:давайте по классике ассемблер 8086, потому как боюсь те страшные слова, которые начинают звучат из серии "... и много других страшных слов",
ЗЫ:я еще помню перфокарты клопов на них,икак вырезал квадратики лезвием когда збоил перфоратор и не все пробивал, ес 1030, и пс-2000 и что?
23 d546
 
10.01.17
16:09
(17) если это полубайт знаковый, то пожалуй :)
24 Злопчинский
 
10.01.17
16:09
(16) по идеее те ячейки, которые чаще заполнялись единицами д.б. легче - испарение идет... диссипация всякая.. информация излучается...
25 Злопчинский
 
10.01.17
16:10
(20) это поле координатное и на планеты за ресурсами спускался? и торпеду в квадрат 3-5 где черная дыра?
26 Cool_Profi
 
10.01.17
16:11
(25) И не только торпеду, но и фазерами )
Причём в двух вариантах - и по координатам, и по часам...

Даже диплом коммандера лет 30 назад валялся где-то
27 маленький_ в _чем_то
 
10.01.17
16:11
а мк 51 и посадку на луну из юного техника еще не вспоминали?
28 Cool_Profi
 
10.01.17
16:12
(27) Б3-34!
Хотя у меня был мк-54....
29 Это_mike
 
10.01.17
16:12
(22) классика для каждого разная... ЯСК, BAL, Маcro-11, А65, 8080...
(270) МК-61
30 Fish
 
10.01.17
16:12
(27) Зачётная была игруха. Куда до неё всяки Eve online и прочим поделкам. Одни переживания, пока считает, помигивая, чего стоили :)
31 mehfk
 
10.01.17
16:13
(6) Если это подразумевается для 8086, то это не оттранслируется.
32 маленький_ в _чем_то
 
10.01.17
16:15
31:девочке , нужно для зачета представить хотя бы общее понимание концепции и последовательности команд, поэтому работающие решения-все равно ей "не поверят"
33 маленький_ в _чем_то
 
10.01.17
16:18
29:и таки да- это был мк-61 в далеком детстве, вот уже и память подводит
34 Это_mike
 
10.01.17
16:19
(33) "у тебя память - как один килобайт. вроде и есть - и хрен что запомнишь!"©
35 маленький_ в _чем_то
 
10.01.17
16:19
задача 2 : М1 массив из 20 элементов BYTE, найти max есть варианты?
36 маленький_ в _чем_то
 
10.01.17
16:21
задача 3: написать подпрограмму выполн: у=min(a,b) .  a,b BYTE передача параметров через стек
37 b_ru
 
10.01.17
16:22
(31) Я на память не помню обвязку. Да, надо сегмент объявить, заголовок файл. Но это уже по методичке.
И да, подразумевалось, что a, b, c и d записаны в al, bl, cl, dl
Просто так писать незнакомым людям готовые курсовые идет в разрез с моим мировоззрением.
38 маленький_ в _чем_то
 
10.01.17
16:24
37:проста , времени на знакомство нет :) ,лучше сразу без прелюдий к делу
39 Жан Пердежон
 
10.01.17
18:08
(6) (37)
а у в (0) - double <тут злобный смех>
40 Злопчинский
 
10.01.17
18:12
(27) не, ну когда ТЭРЦ на бульбуляторе ночь обсчитывает матрицы и всякие четырехполюсники и прочую хрень - а дневальный ходит полночи вдоль ряда вотктнутых в сеть бульбуляторов и кнопки жмакает.. ;-) - это прикольно...
41 vhl
 
10.01.17
18:15
(0) тебе 48 и ты со студентками встречаешься?
42 Это_mike
 
10.01.17
18:29
(41) разве это плохо?
43 Это_mike
 
10.01.17
18:30
(40) там хрен что обсчитаешь толком. Памяти то нихрена...
44 b_ru
 
10.01.17
18:42
(39) А чего там зло смеяться то?

fint
fld a
fld b
fsubp
fld st0
fmulp
fld c
faddp
fld d
fdivp
fst
45 Злопчинский
 
10.01.17
19:11
(34) ты на килобайт не гони
На большой ЕС ЭВМ мы с коллегой если мне не изменяет память в 8 килобайт впихнули транслятор языка описания экранных форм и среду исполнения этих экранных форм с обслуживанием оконечных ЕС7920 И функционировало это на еске в качестве собственной ОС. Аналог на пл\1 весил 40 кил
46 Злопчинский
 
10.01.17
19:13
(45) а потом пришли всякие БГ не помнящие родства и начали транжирить направо и налево, дотранжирились что рпхосты ваще жрут все
47 Злопчинский
 
10.01.17
19:13
Вот ;-)))
48 Жан Пердежон
 
10.01.17
19:19
(44) ты ведь видишь свои ошибки?
49 nordbox
 
10.01.17
19:27
Блин, я учился больше 20 лет назад по:
http://www.lib.ru/CTOTOR/IBMPC/abel.txt_with-big-pictures.html
)) нормальная книга )
50 Wirtuozzz
 
10.01.17
19:29
какой размер?
51 nordbox
 
10.01.17
19:37
+49 и по вот этой:
http://old-dos.ru/index.php?page=lib&do=show&id=50
Помню в паскале прямо куски из этой книге брал.
там же просто тупо писал директиву
asm
...
end asm
)))
52 lock19
 
10.01.17
19:38
(35)
_get_max::
    push    ix
    ld    ix,#0
    add    ix,sp
    dec    sp
    ld    c,4 (ix)
    ld    b,5 (ix)
    ld    a,(bc)
    ld    -1 (ix),a
    ld    de,#0x0001
00105$:
    ld    a,e
    sub    a, 6 (ix)
    ld    a,d
    sbc    a, 7 (ix)
    jp    PO, 00122$
    xor    a, #0x80
00122$:
    jp    P,00103$
    ld    l, c
    ld    h, b
    add    hl,de
    ld    l,(hl)
    ld    a,-1 (ix)
    sub    a, l
    jr    NC,00106$
    ld    -1 (ix),l
00106$:
    inc    de
    jr    00105$
00103$:
    ld    l,-1 (ix)
    inc    sp
    pop    ix
    ret
53 echo77
 
10.01.17
19:41
сиськи сотрудницы на asm'е нарисуете?
54 Torquader
 
10.01.17
23:40
Девочке ассемблер изучать ?
Да гнать эту девочку в шею, чтобы не занималась тем, что не нужно - это же не каждый мальчик осилит.
55 agarych
 
10.01.17
23:46
(0) напиши на с и скомпилируй с нужным ключом. В результате у тебя будет код на ассемблере, а дальше уже можно чуть и пооптимизировать )
56 Злопчинский
 
11.01.17
00:08
57 Злопчинский
 
11.01.17
00:14
58 Torquader
 
11.01.17
00:17
(56) Нахрена это надо - пусть лучше учит то, что по душе, а то после такого изучения получаются "специалисты", которые вроде бы и с дипломом, а к реальной работе допускать нельзя.

P.S. после того как я пытался научить кандидата физико-математических наук (правда мальчика) программировать на Си, я понял, что если людям программирование не дано, значит - не судьба. А девочки пусть рисование или пение изучают - от этого больше пользы будет.
59 Злопчинский
 
11.01.17
00:18
(58) слово "пение" я прочитал по другому - что, впрочем, тоже верно!
60 Torquader
 
11.01.17
00:20
https://img-fotki.yandex.ru/get/3806/olg30297399.28/0_1b4ed_609506bc_M.jpg
Кому нужны такие "специалисты" ?
61 Злопчинский
 
11.01.17
00:21
(60) не, если к сиськам приложить еще че-нить типа асма или чуть повыше - это же убойный замес!
62 Злопчинский
 
11.01.17
00:23
63 Torquader
 
11.01.17
00:24
Те, у кого сиськи есть или хотя бы рожа ничего, не оказываются перед сессией в ситуации - "никто не хочет помогать".
64 Torquader
 
11.01.17
00:30
Даже гугль подтвердил.
Я в разделе картинки набрал "Женщина изучает ассемблер".

https://habrastorage.org/files/d38/04e/5ea/d3804e5eadd646e6a66d8b69ffea5a52.jpg

http://arhivach.org/storage/9/8d/98df38d1ea320473c3535597acbee37e.png
65 маленький_ в _чем_то
 
11.01.17
09:29
спасибо откликнувшимся.
отвечаю: не встречаюсь, не учу, помогаю сотруднице,девочка хорошая, а то что в специальность "компьютерные науки "на 4-м курсе запихнули семестр ассемблера- так не виноватая она,
и она замужем т.е. для некоторых закомплексованных-вполне востребована.
66 Злопчинский
 
11.01.17
09:35
(65) компьютерные науки и ассемблер - это нормально. для высшей математики правила сложения знать вроде как надо. конечно если компьютерными науками называют какую-нить прикладную информатику - где учат вордом пользоваться - ну тут да...
67 Про100Филя
 
11.01.17
09:45
(66) Мне кажется, сначала преподавали ООП, а потом АСМ. Тут конечно любое желание пропадёт.
68 shpioleg
 
11.01.17
09:45
(36) Для FASM. Если требуется показать навыки работы со стеком в процедуре, то под отладчиком смотрим реально получающийся код этой процедуры.
;Функция Минимум из двух
;функция , по умолчанию, вызывается с соглашением stdcall.
;локальные переменные не используются
proc            GetMinimum a:DWORD,b:DWORD
                mov eax,[a] ;первый параметр из стека загружаем в регистр eax
                cmp eax,[b] ;сравниваем со вторым параметром
                jle @f      ;если a<=b, то возвращаем сразу eax
                mov eax,[b] ;иначе возвращаем в eax параметр b
@@:             ret ;
endp

Вызываем так
                movsx eax,[a] ;расширяем байт до dd
                movsx ebx,[b]
                stdcall GetMinimum,eax,ebx ;eax,ebx передаются через стек в обратном порядке

Переменные здесь
section '.data' data readable writeable
a               db -5
b               db -6
69 Это_mike
 
11.01.17
09:53
(67) почему?
у меня,кстати, сын сейчас ковыряет книжку Харрисов, ему интересно (вчера под одеялом с планшета читал), ибо не учатся - школу на карантин отправили. И это после того, как научился ардуинить, и что-то писать под андроид на джаве. вчера спрашивал про ДеМоргана и Карно..
70 Это_mike
 
11.01.17
09:54
(66)
Специальность  «Математика и компьютерные науки»
Направление — идеальный выбор для тех, кто увлекается информационными технологиями, но еще не определился с профессией. Студенты получают обширную математическую и IT-подготовку. Изучают фундаментальную и компьютерную алгебру, математический анализ, компьютерную геометрию и геометрическое моделирование, стохастический анализ, дискретную математику и математическую логику, математическое моделирование, базы данных и операционные системы. В зависимости от профиля практические занятия ориентированы либо на аналитическую работу, либо на программирование.
бакалавриат
Условия обучения

Профили обучения:
    Математический анализ и приложения; Геометрия и топология

Формы обучения:
    очная, очно-заочная

Экзамены:
    Математика (профильный), Русский язык, Физика / Информатика и ИКТ / Химия (на выбор вуза), Иностранный язык (на усмотрение вуза)


Все вузы в Москве (2) в России (39)
Кем работать
Бакалавры могут работать в компьютерных лабораториях, интернет-компаниях, в аналитических и IT-департаментах банков. Выполнять функции системных аналитиков, проектировщиков баз данных, бизнес-аналитиков. Заниматься развитием и модернизацией всевозможных компьютерных систем. Вариант профессионального развития — научная карьера. Отрасль активно развивается, постоянно появляются новые разработки, которые становятся возможными, в том числе благодаря деятельности ученых этой сферы.
Перспективы
Строить карьеру можно как в России, так и за границей. Русские математики и IT-специалисты востребованы зарубежными исследовательскими и образовательными структурами, как европейскими и американскими, так и стран третьего мира (Индия, Китай). Выбравшие в качестве основного прикладное направление, в начале пути могут рассчитывать на должности программиста или младшего аналитика (заработная плата от 20–25 тысяч рублей). Среди возможных сфер дальнейшей специализации — информационная безопасность, построение бизнес-систем, аналитика; отрасли популярные и, соответственно, хорошо оплачиваемые.
71 маленький_ в _чем_то
 
11.01.17
09:57
ще одна: написать подпрограмму рассчитыв. у=а+в передача параметров по адресу через стек
72 Это_mike
 
11.01.17
09:58
(71) дык чем она семестр занималась-то?
73 маленький_ в _чем_то
 
11.01.17
10:00
работала,вроде писал- "сотрудница", дневное со свободным посещением .жизнь счаз тяжела
74 Gary417
 
11.01.17
10:14
(73) тоесть учится для корочки, знания нулевые? (ну а чо...жизнь тяжела, зачем напрягаться)
75 Кирпич
 
11.01.17
10:36
(74) конечно для корочки. на работу пойдешь устраиваться - спросят корочку. а про ассемблер никто не спросит. ибо нафиг никому не нужен. тем более одинеснику.
76 Это_mike
 
11.01.17
10:49
(75) у проституток и корочек не требуют, только инструмент...
77 маленький_ в _чем_то
 
11.01.17
10:53
74:уже работает, и раз "держат" значит знаний достаточно,
имхо
78 Gary417
 
11.01.17
10:55
(75) у меня ниразу корочку не спрашивали, несмотря на то что в вакансии "Вышка обязательно"

P.S. у меня нет вышки
79 Gary417
 
11.01.17
10:56
нужен не ассемблер в таких задачах, а уменее решать нестандартные задачи и разбиратся с предложенным инструментом
80 Кирпич
 
11.01.17
10:59
(79) ну так девушка успешно решает задачу. напрягла коллегу. процесс идет. :)
81 shpioleg
 
11.01.17
11:02
(71)
;Функция Сумма двух по ссылке
;a,b - адреса складываемых переменных размером в байт
proc            GetSum uses ebx, a,b
                mov ebx,[a] ;Загружаем 1 адрес
                movsx eax,byte [ebx] ;считываем байт
                mov ebx,[b] ;Загружаем 2 адрес
                movsx ebx,byte [ebx]
                add eax,ebx ;складываем и возвращаем в eax
                ret
endp
82 MetaDon
 
11.01.17
11:03
херь какая то в (52); вот мое к (35)

DATASEG
M1 DB 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0    ; Mассив
Start:
    mov bx,OFFSET M1    ; где находиться массив
    mov ah,[bx]
    mov cx,20
Сус:
    mov al,[bx]         
    inc bx
    cmp al,ah
    jb Was ; переход если меньше
    mov ah,al ; в АH – результат макс.значение
Was:  
    Loop Cyc
End Start
83 Gary417
 
11.01.17
11:07
(80) только эта специальность называется Менеджмент где таким способом решаются задачи :)
84 маленький_ в _чем_то
 
11.01.17
11:39
80,83:господа , у вас друзья есть?если есть- к ним применим термин "напрягли"

ЗЫ:за помощь-моя искренняя благодарность
85 Это_mike
 
11.01.17
11:40
(84) помощь - это когда "я вот тут вот так сделала, но что-то неправильно, пробовала вот это и вот это - не помогает. подскажи." а "сделай за меня" - это не помощь...
86 Gary417
 
11.01.17
12:01
(84) я уже теоретически рассуждаю о подобных просьбах. которые потом выливаются в деградацию ВУЗовского образования
87 shpioleg
 
11.01.17
12:12
+(82) Добавлю свой вариант для знаковых байтов
                cld ; сканирование массива вперед
                mov edi,Array
                mov al,-128 ;знаковый байтовый минимум
                mov ecx,20
@@:
                scasb ;сравниваем al с байтом в [EDI]
                jge .doNext
                mov al,[edi-1] ;если al было меньше, то заполним новым максимумом
.doNext:        loop @b
                movsx eax,al ;расширим до 32 разрядного

Array           db 1,2,3,4,5,6,7,108,9,0,1,2,3,4,5,6,-128,8,9,127
88 WT2008
 
11.01.17
12:15
(58) Ну не скажите, не скажите.
А вдруг она прочитала про слёзные просьбы канадцев, точнее, руководства их АЭС?
Пару лет назад читал, что по всему миру слёзно собирали спецов, кто помнит PDP Ассемблер. Потому что системы управления канадскими АЭС на этом языке написаны. Люди на пенсию уходят или вообще уходят...

Требования, как помню, были: английский (французский) свободно (экзамен); 3-5 лет работы на языке.

(А в прошлом году читал про бедного-несчастного швейцарского банкира. В его банке всё написано на COBOL. Единственный прогер в банке — оставшийся в живых носитель этого языка умер, и всё встало.)
89 WT2008
 
11.01.17
12:16
И тот швейцарец примчался в ту страну, где, сказали, ещё можно отыскать знающего COBOL. То есть в Россию.
90 Это_mike
 
11.01.17
12:22
(88) ну, в условиях все-таки не PDPшный ассемблер, а стандартный 86-й. А знающих 86-й  - много, он еще "на кончиках пальцев" у многих.
(89) не слышал о коболе в Росиии. имхо, когда начиналась "информатизация всея руси", кобол уже был "ушедшим языком", да и тянуть на нем было почти нечего
91 Кирпич
 
11.01.17
12:35
(89) откуда в Росии cobol. Это в америку ехать надо. Там он сих пор жив здоров.
и компилятор вот есть халявный https://sourceforge.net/projects/open-cobol/?source=typ_redirect
92 маленький_ в _чем_то
 
11.01.17
13:31
86:ты не последователен."на кончиках пальцев" ,я подразумеваю, трактуем как "помнят но не пользуют" =>  а ей на тек момент он уже практически однозначно не понадобится.Вот поэтому и можно "помочь"
93 Gary417
 
11.01.17
13:34
(92) в институте важно получить навык решения проблемы, а не навык работы с инструментом который однозначно не понадобится

И в рамках данной специальности способ решения проблемы должен быть не менеджерский (найти исполнителя), а исследовательский - решить самостоятельно предложенным инструментом
94 Cyberhawk
 
11.01.17
13:34
В универе написал сапера 10х10 на асме (в среде Emu8086)
95 Злопчинский
 
11.01.17
13:39
(94) у мну в группе в качестве диплома на терминале ес7970 товарищ на Forth написал транслятор PL/1

чего у нас только в группе не писали...
96 Это_mike
 
11.01.17
14:02
(95) язык "Вояка". цикл: "Лечь-Встать", начало: "ШагомМарш"
конец работы "ПриставитьНогу".
97 lock19
 
11.01.17
17:35
(82) Да, херь. Вот так лучше:

.area _DATA
_arr:
    .ds 20
.area _CODE
_get_max::
    ld    bc,#_arr+0
    ld    hl, #_arr + 19
    ld    d,(hl)
    ld    e,#0x12
00104$:
    ld    l,e
    ld    h,#0x00
    add    hl,bc
    ld    l,(hl)
    ld    a,d
    sub    a, l
    jr    NC,00105$
    ld    d,l
00105$:
    dec    e
    jr    00104$

Для понимания:
get_max(unsigned char*):
        movzx   eax, BYTE PTR [rdi+19]
        lea     rdx, [rdi+18]
        sub     rdi, 1
.L2:
        movzx   ecx, BYTE PTR [rdx]
        cmp     cl, al
        cmova   eax, ecx
        sub     rdx, 1
        cmp     rdx, rdi
        jne     .L2
        rep ret
98 Злопчинский
 
11.01.17
18:21
(96) Операторы: напра-ВО! нале-ВО!
переход по метке: кру-ГОМ!
99 ERWINS
 
11.01.17
18:45
(97) а разворачивание циклов? а AVX2? там есть команда побайтового максимума
100 mehfk
 
11.01.17
18:46
(100)
101 mehfk
 
11.01.17
18:48
(99) У проверяющего и так от 64-битных инструкций произойдет переполнение :)
102 mehfk
 
11.01.17
18:49
*регистров.
103 lock19
 
11.01.17
19:28
(99) https://godbolt.org/g/WJWCdk -любой каприз