Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.05.2015
Сообщений: 86
1

Дана программа. Нужно написать комментарии к ней

06.06.2015, 11:35. Показов 687. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.data
    mass db 1,4,5,3,6
    summ    db 0
.code
start:
    xor eax,eax
    xor ebx,ebx
    mov ecx,5
    lea esi,[mass]
    mov al,byte ptr[mass]
l1:    
    mov bl,[esi+1]
    add ax,bx
    inc esi
    loop l1 
end start
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2015, 11:35
Ответы с готовыми решениями:

Дана задача. Нужно написать по ней программу
Написать программу на C++ Помогите пожалуйста;) Даны три действительных числа X, Y, Z. Если...

нужно написать комментарии к программе(программа с вставками ассемблера)
нужно написать комментарии к программе(программа с вставками ассемблера)! Ассемблер не знаю,...

Дана строка. Нужно в ней убрать все кроме симвлов S, M и L
Дана строка. Нужно в ней убрать все кроме симвлов S, M и L (регистр не имеет значения) и вставить...

Дана функция и по ней нужно создать матрицу от минимально х и до максимального х
Дана функция и по ней нужно создать матрицу от минимально х и до максимального х. во вложенном...

1
Прощай, Мир!
1672 / 830 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
07.06.2015, 01:36 2
программа будет работать некорректно. в сегменте данных объявлен массив из пяти элементов. требуется найти их сумму. сумма подсчитывается в регистре al. до захода в цикл в регистр al кладется первый элемент массива. далее в цикле должно уже происходить добавление к регистру al оставшихся четыре элемента. но в этом коде указано, что цикл будет проходить пять раз. это указано в регистре ecx до начала цикла. то есть цикл пройдет на один раз больше, чем есть элементов в массиве. когда цикл будет проходить пятый раз он добавит к сумме элементов массива число находящееся вне массива. таким образом результат будет неверен. и еще. непонятно для чего объявлена переменная summ в сегменте данных. надо было бы после прохождения цикла окончательную сумму поместить в эту переменную.

Добавлено через 5 минут
к тому же считаю использование в этом коде 4 байтовых регистров излишне, т.к. элементы массива объявлены в сегменте данных размером в байт

Добавлено через 2 минуты
вот переделал этот код и сделал его более компактным:

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
25
26
27
28
.model small
.386
 
.data
mass    db 1,4,5,3,6
summ    db 0
 
.stack
    db 255
    
.code
start:
    mov ax,@data
    mov ds,ax
    
    lea si,mass
    xor al,al
    
    mov cx,5
    l1:    
    add al,byte ptr [esi]
    inc si
    loop l1 
    
    mov ah,4Ch
    mov al,00h
    int 21h
end start
0
07.06.2015, 01:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2015, 01:36
Помогаю со студенческими работами здесь

Нужно написать комментарии
Хотя бы к каждому макросу, можно и к каждой строке, нужно написать комментарий, какую функцию он...

Дана строка S. нужно вывести все буквы, которые встречаются в ней, и их количество
помогите составить программу этой задачи. паскаль

Нужно написать комментарии к программе
Нужно написать коментарии к программе. #include <windows.h> #include <iostream> using...

Дана строчка (с любым текстом), нужно перемешать в ней все слова случайным образом
Дана строчка (с любым текстом), нужно перемешать в ней все слова случайным образом, учитывая...

Программа в c++ (написать комментарии)
Помогите, пожалуйста, написать объясняющие комментарии к каждой строчке. Программа просит ввести...

НУжно написать комментарии к каждой строке
uses crt; var n,i,j,n1,np,k:longint; s:longint; key:char; e:integer; function...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru