Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2010, 17:54   #1
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию Различие заданий

Вот у меня вопрос, чем различаются эти 2 задания:
Вычислить сумму по модулю 2 значений 27 ячеек памяти с адреса 0217h.
и
Вычислить контрольную сумму массива из (B) ячеек памяти, начиная с адреса 0202h.
Меня интересует только выделенное. То есть как они будут отличаться в коде. Я не прошу их сделать за меня. Вот мои коды:
Задание 1:
Код:
MVI B,27		; в B количество повторений цикла
LXI H, 0217h	; номер первой ячейки в HL, для косвенной адресации
MOV A,M		;
	INX H		; (HL)Я(HL)+1	
	DCR B		; (B)Я(B)-1
; начало цикла
m1:	XRA M		;
	INX H		; (HL)Я(HL)+1	
	DCR B		; (B)Я(B)-1
	JNZ m1		; переход на m1, если B не равно 0
; конец цикла
	HLT			; завершение программы
	org 0217h		; директива org размещает код с указанного адреса
; директива db размещает байты в ОЗУ
; (так не придется набирать массив вручную)
	db 12,55,68,21,8,1,0,7,5,6
Задание 2:
Код:
MVI B,10		; в B количество повторений цикла
LXI H,0202h	; номер первой ячейки в HL, для косвенной адресации
MOV A,M		;
	INX H		; (HL)Я(HL)+1	
	DCR B		; (B)Я(B)-1
; начало цикла
m1:	ADD M		;
	INX H		; (HL)Я(HL)+1	
	DCR B		; (B)Я(B)-1
	JNZ m1		; переход на m1, если B не равно 0
; конец цикла
	HLT			; завершение программы
	org 0202h		; директива org размещает код с указанного адреса
; директива db размещает байты в ОЗУ
; (так не придется набирать массив вручную)
	db 12,55,68,21,8,1,0,7,5,6
Заранее спосибо!!!
Если долго мучаться, что нибудь получится!!!
girkoff вне форума Ответить с цитированием
Старый 01.06.2010, 00:18   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

одно делает XOR, другое считает сумму
методом определения результата
что именно Вам нужно не понял
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 01.06.2010, 11:54   #3
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию

меня интересует выделенное, как я понимаю массив из В ячеек памяти записывается в регистр (В), а где значений 27 ячеек памяти там просто с памятью работают, так что ли?
Если долго мучаться, что нибудь получится!!!
girkoff вне форума Ответить с цитированием
Старый 01.06.2010, 12:46   #4
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

B - это счетчик цикла, количество элементов массива
массив перебирается по адресам в HL
результат в A
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 01.06.2010, 13:09   #5
girkoff
Пользователь
 
Регистрация: 07.11.2008
Сообщений: 71
По умолчанию

значит получается значений 27 ячеек памяти это то же самое?
Если долго мучаться, что нибудь получится!!!
girkoff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различие специальностей Syltan Свободное общение 8 28.05.2010 23:47
Pascal 5 заданий K3NT1K Помощь студентам 9 14.05.2010 11:56
Различие абстрактного класса и интерфейса(ООП) Ruzarh PHP 0 20.11.2009 15:29
В чем различие? Lunex.08 Свободное общение 5 30.10.2009 18:27
В чём различие printf и cout? kobolok Общие вопросы C/C++ 3 20.11.2008 22:38