Ассемблер для процессоров 80х86 Intel
Литературы - масса, например:
Список ресурсов для изучения Ассемблера http://habrahabr.ru/post/131971/
и еще
Но лекции - лучше!
Изучаем примеры и решаем задачи:
Осваиваем команды пересылки MOV, обмена XCHG, сложения и вычитания, умножения, деления.
Сначала используем ассемблерные вставки в Visual Studio, они позволяют не обращать внимание на взаимодействие с ОС.
Задачи:
1.Задать переменной а значение 12. Переместить ее значение в регистр EАX. Поместить в регистр EDX значение (-а). Поменять местами значения регистров EАX и EDX. Выгрузить содержимое регистра EАX в пераменную а, содержимое регистра EDX в пераменную d. Распечатать значения переменных a, d
2. a=104, b=21, c=15. Найти значения a+b, a-b, c-(a+b), 2*c+a-b (операцию умножения не используйте)
3.Умножить 50000*(-100) с помощью команды imul с тремя, двумя, одним операндом
4.Найти значение выражения (2*a-b)*(7+3*a*b), a=104, b=221, затем a=104h, b=221h в шестнадцатиричной системе, а затем получите тот же результат, выразив a,b в двоичной системе.
5.Найти результат и остаток от деления 697:13 и проверить результат с помощью операций умножения и вычитания
Литературы - масса, например:
Список ресурсов для изучения Ассемблера http://habrahabr.ru/post/131971/
и еще
- http://natalia.appmat.ru/c&c++/assembler.html
- http://www.insidepro.com/kk/144r.shtml
- http://lib.znate.ru/docs/index-56712.html
- http://cs.mipt.ru/fileadmin/assembler/severov/2013/ начиная с http://cs.mipt.ru/fileadmin/assembler/severov/2013/05-mashinnyi___uroven_2.pdf
- http://www.dialektika.com/PDF/978-5-8459-1197-1/part.pdf
Но лекции - лучше!
Изучаем примеры и решаем задачи:
Осваиваем команды пересылки MOV, обмена XCHG, сложения и вычитания, умножения, деления.
Сначала используем ассемблерные вставки в Visual Studio, они позволяют не обращать внимание на взаимодействие с ОС.
Задачи:
1.Задать переменной а значение 12. Переместить ее значение в регистр EАX. Поместить в регистр EDX значение (-а). Поменять местами значения регистров EАX и EDX. Выгрузить содержимое регистра EАX в пераменную а, содержимое регистра EDX в пераменную d. Распечатать значения переменных a, d
2. a=104, b=21, c=15. Найти значения a+b, a-b, c-(a+b), 2*c+a-b (операцию умножения не используйте)
3.Умножить 50000*(-100) с помощью команды imul с тремя, двумя, одним операндом
4.Найти значение выражения (2*a-b)*(7+3*a*b), a=104, b=221, затем a=104h, b=221h в шестнадцатиричной системе, а затем получите тот же результат, выразив a,b в двоичной системе.
5.Найти результат и остаток от деления 697:13 и проверить результат с помощью операций умножения и вычитания
Комментариев нет:
Отправить комментарий