С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.07.2011
Сообщений: 53

Как работает эта программа???

07.05.2012, 21:29. Показов 1380. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел в интернете программу где надо найти среднее арифметическое чисел, только вообще не понятно особенно начало программы.Объясните пожалуйста как работает эта программа?
Что означает эта строка:
q dw -100,-2,3,4,-5,6,8,8,8,21
s dw 0
Что такое ecx?
Сама программа
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
.386
    .model flat,stdcall
    option casemap:none
    include d:\masm32\include\user32.inc
   includelib d:\masm32\lib\user32.lib
.data
q       dw -100,-2,3,4,-5,6,8,8,8,21
s       dw 0
.code
start:
 mov ecx, 10
 mov dx,[q+ecx*2]
 dec ecx
aga:
 mov ax,[q+ecx*2]
 add [s],ax
loop aga
 mov ax,[s]
 div 10
 mov [s],ax
invoke GetForegroundWindow;
invoke MessageBoxA,eax,addr s,0,0
 ret
end start
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.05.2012, 21:29
Ответы с готовыми решениями:

Что делает эта программа?
помогите разобраться, што делает ета програма: RD #2 MUL #6 WR 11 WR @11 JNZ 00 заранее спасибо!

Что делает эта программа?
MyStack segment para stack 'stack' db 100 dup(?) MyStack ends MyData segment x dw 5215h min db 9h ost db ? MyData ends

Что делает эта программа?
Уважаемые форумчане! Подскажите пожалуйста какое значение будет находиться в ячейке Х по завершению программы (при остановке на метке...

5
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
08.05.2012, 08:07
Цитата Сообщение от Rus7am Посмотреть сообщение
invoke GetForegroundWindow;
invoke MessageBoxA,eax,addr s,0,0
Ну вот этот вызов - активация окна и вывод мессаги.
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
08.05.2012, 09:23
Assembler
1
2
3
4
start:
 mov ecx, 10
 mov dx,[q+ecx*2]
 dec ecx
Устанавливается значение счетчика, в регистр dx зачем то записывается число после массива (s в данном случае)
Assembler
1
2
3
4
aga:
 mov ax,[q+ecx*2]
 add [s],ax
loop aga
В цикле получаем сумму элементов массива, начиная с конца.
Assembler
1
2
mov ax,[s]
 div 10
Пытаемся разделить на количество элементов, но... для начала неплохо бы почитать как работает команда div
0
0 / 0 / 0
Регистрация: 05.07.2011
Сообщений: 53
08.05.2012, 10:09  [ТС]
Цитата Сообщение от vital792 Посмотреть сообщение
Assembler
1
2
3
4
start:
 mov ecx, 10
 mov dx,[q+ecx*2]
 dec ecx
Устанавливается значение счетчика, в регистр dx зачем то записывается число после массива (s в данном случае)
Я плохо понимаю значение строки mov dx,[q+ecx*2]
В dx записываем q плюс ecx умноженное на 2, а q это у нас число 10? и еще ecx*2 это число 20?
Тогда в dx записываем число 30? это так?
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
08.05.2012, 10:47
Цитата Сообщение от Rus7am
значение строки mov dx,[q+ecx*2]
dx := q[cx], т.е. значение cx-ного элемента из массива q. В данном случае это s, или 0.
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
08.05.2012, 14:00
Цитата Сообщение от vital792 Посмотреть сообщение
для начала неплохо бы почитать как работает команда div
Это точно, при делении на 10 может выпасть переполнение, поэтому лучше вычитанием. Предлагаю код:
Assembler
1
2
3
4
5
6
7
8
mov bx,0
loopsub:
sub ax,10
cmp ax,10
jna prolet
inc bx
jmp loopsub
xchg ax,bx
Равносильно делению на 10. В BX (по правде в BL) остаток, в AX - частное.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.05.2012, 14:00
Помогаю со студенческими работами здесь

подскажите что эта программа делает
.model tiny .code org 100h start: mov ah,4Fh ; set video regim 1024*768, 32К colors, SVGA mov al,02 mov bx,116h...

На каком языке написана эта программа?
подскажите как мне извлечь исходный код из неё (в обычный блокнот).. мне это нужно для дальнейшего его конвертирования в JAVA или в СИ

как работает программа???
не могли бы вы мне объяснить, что происходит в этой программе: CSEG segment org 100h assume cs:CSEG, ds:CSEG Begin: mov sp,...

Немогу понять как работает программа
Все ясно но вот как оно проверяет что за буква... там есть буквы "А" "Я" "A" "Z" и маленькие, я так понял оно сравнивает по буквам, но вот...

Объясните по простому как работает программа?
Дано 32-разрядное слово 86СА Е7В3H. Сформировать массив целых чисел, отражающих количество 1 в последовательно следующих группах 1. Что...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru