![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() ![]() |
![]() |
forum4uxa |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: ![]() ![]() ![]() |
Реализовать фрагмент программы на ассемблере каждым из четырех косвенных методов адресации: косвенно-регистровой, базовой (индексной), базовой индексной и базовой индексной со смещением, эквивалентный ука-занной программе на языке Pascal задания:
n:=23; j[n]:=2; for k[n]:=$AFA downto 9 do if ((k[n] div 4)=3) or (k[n] mod 100=0) then j[n]:=j[n]*k[n]+k[n]*k[n] else j[n]:=j[n]+k[n] (объявле-ния: var n:word; k,i,j:array[1..1000] of byte); *** Для реализации метода адресации «базовый индексный со смеще-нием» вместо j[n],k[n],i[n] считать в задании j[n+2],k[n+2],i[n+2] соответст-венно. |
forum4uxa |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: ![]() ![]() ![]() |
кто нибудь может показать любой из этих хотя бы методов адресации на этом задании? буду очень признателен
|
Гость |
![]()
Сообщение
#3
|
Гость ![]() |
K DB 1000 DUP(?)
LEA BX,K
ADD BX,23
MOV AL,[BX]
загрузка в AL 23его байта из массива К с помощью базовой(она же наверное косвено регистровая)
MOV SI,23
MOV AL,K[SI]
индексная
LEA BX,K
MOV SI,23
MOV AL,[BX+SI]
БАЗОВО ИНДЕКСНАЯ
LEA BX,K
MOV SI,20
MOV AL,[BX+SI+3]
относительно базова индексная
|
forum4uxa |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: ![]() ![]() ![]() |
а как бы Вы написали этот ассемблерский код обычным способом адресации???
![]() Добавлено: меня тревожит тут ещё вот это k[n]:=$AFA , так дано по заданию, а я могу заменить на обычное число? |
Malice |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
forum4uxa |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: ![]() ![]() ![]() |
|
Гость |
![]()
Сообщение
#7
|
Гость ![]() |
Чё то непонятно если массив байт как в него 0AFA влезет???????????????
|
Гость |
![]()
Сообщение
#8
|
Гость ![]() |
Что значит "обычным" способом адресации?????????что ты понимаешь под словом обычный?
|
forum4uxa |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: ![]() ![]() ![]() |
Что значит "обычным" способом адресации?????????что ты понимаешь под словом обычный? Реализовать фрагмент программы на ассемблере : n:=23; j[n]:=2; for k[n]:=$AFA downto 9 do if ((k[n] div 4)=3) or (k[n] mod 100=0) then j[n]:=j[n]*k[n]+k[n]*k[n] else j[n]:=j[n]+k[n] (объявле-ния: var n:word; k,i,j:array[1..1000] of byte); Вот как бы выглядел этот фрагмент ??? я думаю обычный это косвенно-регистровый, он более удобен, по крайней мере в этой задачке, т.к. я его практически юзаю всегда |
forum4uxa |
![]() ![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Реальное имя: Alexey Репутация: ![]() ![]() ![]() |
Реализовать фрагмент программы на ассемблере : n:=23; j[n]:=2; for k[n]:=$AFA downto 9 do if ((k[n] div 4)=3) or (k[n] mod 100=0) then j[n]:=j[n]*k[n]+k[n]*k[n] else j[n]:=j[n]+k[n] (объявле-ния: var n:word; k,i,j:array[1..1000] of byte); Вот как бы выглядел этот фрагмент ??? я думаю обычный это косвенно-регистровый, он более удобен, по крайней мере в этой задачке, т.к. я его практически юзаю всегда кто нибудь может подсказать? ![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 8:08 |