Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Задачка на асемблере (https://forum.antichat.xyz/showthread.php?t=40950)

i_am_banana 27.05.2007 02:10

Задачка на асемблере
 
Очень нужна помощь в решении задачи (по курсу Логические Архитектуры-Моторолла)

Первый элемент массива чисел А состоящего из байт,расположен по адресу $2500.Первый элемент массива чисел В,состоящего из байт,расположен по адресу $1600.Количество элементов в каждом из массивов -30.Составить программу выполняющую подсчёт совпадающих элементов массивов,т.е таких для которых A[i]=B[i].Результат поместить в регист D0
Заранее благодарен -)

scrat 27.05.2007 02:43

я на счёт адресов не понял! почему $?

NetMan 27.05.2007 03:07

Вероятно, что "$" означает hex...

_Great_ 27.05.2007 12:40

Регистра DO нету, а адреса в асме обозначаются как XXXXh. Это для начала.
Ну а сам код мегапростой. Насколько я понял, разрядность 16 бит, то есть у нас ДОС.
Поскольку сегмент не указан, будем считать его нулевым.

Код:

; сегмент
mov ax, 0
mov ds, ax
mov es, ax
; адреса буферов
mov si, 2500h
mov di, 1600h
mov cx, 30 ; число элементов массива
xor dx, dx  ; тут будет число совпавших элементов

; цикл сравнения
l:
cmpsb ; сравнение
jnz @F ; не совпало? проскочим
inc dx ; если совпало, увеличим dx на 1
@@: loop l  ; сравниваем дальше

; готово. результат в DX

Результат в DX

da_ff 27.05.2007 12:58

автор видимо имеет ввиду программирование под процессоры моторолла там есть D0

_Great_ 27.05.2007 13:01

Это надо было указать)

i_am_banana 27.05.2007 13:17

ну я указал вроде что под мотороллу )

_Great_ 27.05.2007 14:02

Хы) Ну тогда думайте сами. Я моторолловского асма не знаю, но подозреваю, что команды будут похожи )

!_filin_! 27.05.2007 15:17

Асм он ведь как девушка...вроде уже и не одну ночь с ним провёл, а всё что то новоё узнаёш...
Кстати раз уж речь зашла о синтаксисе асма разработаного Мотороллой, не могли бы вы подсказать где поподробней можно почитать на ету тему?

Digimortal 27.05.2007 15:46

>> автор видимо имеет ввиду программирование под процессоры моторолла там есть D0

скорее под микроконтроллеры.. )

>> не могли бы вы подсказать где поподробней можно почитать на ету тему?

есть книга Шагурина - называется "Современные микроконтроллеры и микропроцессоры Motorola. Справочник".. я ее видел тока в бумажном варианте, но, возможно, найдется и в эл.виде..


Время: 06:04