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

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

07.05.2012, 21:29. Показов 1387. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru