Задать вопрос
@KartoshkaD

Не могу сообразить, как выполнить задание. Может, сталкивался кто с подобным?

привет. пишу под Андроид на Java, в ASM я полный ноль.
в институте выдали задание на лабораторную, никак не раздуплю, как его выполнять и похожих заданий в интернете не нашел. Проблема ещё в том, что предыдущие задания под ASM-80 вроде разобрал и выполнил, а как с ASM x86 работать - не представляю.
может, кто-то выполнял подобное задание?
Даны два четырехбайтных числа в дополнительном коде, находящиеся по адресу 00500h и 00504h. Меньшее из них записать по адресу 00600h, большее – по адресу 00604h (упорядочить по возрастанию).
  • Вопрос задан
  • 173 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
longclaps
@longclaps
На MASMe примерно так:
mov  ax, word ptr[0502h]
cmp  ax, word ptr[0506h]
jg   @reorder
jl   @ordered
mov  ax, word ptr[0500h]
cmp  ax, word ptr[0504h]
ja   @reorder
@ordered:
mov  word ptr[0600h], ax
mov  ax, word ptr[0502h]
mov  word ptr[0602h], ax
mov  ax, word ptr[0504h]
mov  word ptr[0604h], ax
mov  ax, word ptr[0506h]
mov  word ptr[0606h], ax
jmp  @end:
@reorder:
mov  word ptr[0604h], ax
mov  ax, word ptr[0502h]
mov  word ptr[0606h], ax
mov  ax, word ptr[0504h]
mov  word ptr[0600h], ax
mov  ax, word ptr[0506h]
mov  word ptr[0602h], ax
@end:
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы