Автор Тема: Помогите с программированием Assembler #2  (Прочитано 3605 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gargolev

  • Пользователь
  • Сообщений: 371
  • Пол: Мужской
    • Просмотр профиля
Хотя бы принцип, как это сделать.

Есть следуюющие команды:
shl         (CF)
shr         (CF)
and        (ZF)
not
mov   xx,  0
mov   xx,  1
mov   xx, 255
jc
jz
jmp

Используя эти команды требуется реализовать:
mov   al, bl
mov   ax, bx
cmp   xx,  yy   (ZF, CF)
inc   (CF)
dec   (CF)
add   (ZF, CF)
sub   (ZF, CF)
or   (ZF)
mul    bl
div    bl
call
ret

Во всем задании запрещается использовать стандартный стек, нужно создать собственный стек: две переменные - для адреса вершины стека и то, куда будут помещаться значения. В реализации остальных операций запрещается использовать переменные, можно только регистры ax, bx, cx dx и их старшие и младшие разряды.

Оффлайн Gargolev

  • Пользователь
  • Сообщений: 371
  • Пол: Мужской
    • Просмотр профиля
Re: Помогите с программированием Assembler #2
« Ответ #1 : 23 Ноябрь 2009, 18:37:13 »
Удалось сделать задачу. Дали другую:
Написать прогу на С/C++ с ассемблерными вставками. В проге должна быть ассемблерная функция, в которую передается имя файла, и два символа c1 c2. В файле заменить все вхождения символа c1 на с2.

У других людей эта лаба другого варианта занимала строчек 10 от силы