section .data
; 1. Создать переменную с текстом
text_var db 'Assembler – low level programming', 0
; 2. Создать переменную со значением 40
var1 dd 40
; 3. Создать переменную со значением 36
var2 dd 36
section .bss
; Переменные для хранения результатов
result1 resd 1 ; для вычитания
result2 resd 1 ; для сложения
result3 resd 1 ; для сложения с непосредственным значением
result4 resd 1 ; для вычитания непосредственного значения
section .text
global _start
_start:
; 4. Вычесть из первой вторую (var1 - var2)
mov eax, [var1] ; EAX = 40
sub eax, [var2] ; EAX = 40 - 36 = 4
mov [result1], eax ; сохраняем результат
; 5. Сложить первую со второй (var1 + var2)
mov eax, [var1] ; EAX = 40
add eax, [var2] ; EAX = 40 + 36 = 76
mov [result2], eax ; сохраняем результат
; 6. Сложить любое непосредственное значение с первой переменной
mov eax, [var1] ; EAX = 40
add eax, 15 ; EAX = 40 + 15 = 55
mov [result3], eax ; сохраняем результат
; 7. Вычесть из первой переменной любое непосредственное значение
mov eax, [var1] ; EAX = 40
sub eax, 10 ; EAX = 40 - 10 = 30
mov [result4], eax ; сохраняем результат
; Завершение программы
mov eax, 1
mov ebx, 0
int 0x80
c2VjdGlvbiAuZGF0YQogICAgOyAxLiDQodC+0LfQtNCw0YLRjCDQv9C10YDQtdC80LXQvdC90YPRjiDRgSDRgtC10LrRgdGC0L7QvAogICAgdGV4dF92YXIgZGIgJ0Fzc2VtYmxlciDigJMgbG93IGxldmVsIHByb2dyYW1taW5nJywgMAogICAgCiAgICA7IDIuINCh0L7Qt9C00LDRgtGMINC/0LXRgNC10LzQtdC90L3Rg9GOINGB0L4g0LfQvdCw0YfQtdC90LjQtdC8IDQwCiAgICB2YXIxIGRkIDQwCiAgICAKICAgIDsgMy4g0KHQvtC30LTQsNGC0Ywg0L/QtdGA0LXQvNC10L3QvdGD0Y4g0YHQviDQt9C90LDRh9C10L3QuNC10LwgMzYKICAgIHZhcjIgZGQgMzYKCnNlY3Rpb24gLmJzcwogICAgOyDQn9C10YDQtdC80LXQvdC90YvQtSDQtNC70Y8g0YXRgNCw0L3QtdC90LjRjyDRgNC10LfRg9C70YzRgtCw0YLQvtCyCiAgICByZXN1bHQxIHJlc2QgMSAgOyDQtNC70Y8g0LLRi9GH0LjRgtCw0L3QuNGPCiAgICByZXN1bHQyIHJlc2QgMSAgOyDQtNC70Y8g0YHQu9C+0LbQtdC90LjRjwogICAgcmVzdWx0MyByZXNkIDEgIDsg0LTQu9GPINGB0LvQvtC20LXQvdC40Y8g0YEg0L3QtdC/0L7RgdGA0LXQtNGB0YLQstC10L3QvdGL0Lwg0LfQvdCw0YfQtdC90LjQtdC8CiAgICByZXN1bHQ0IHJlc2QgMSAgOyDQtNC70Y8g0LLRi9GH0LjRgtCw0L3QuNGPINC90LXQv9C+0YHRgNC10LTRgdGC0LLQtdC90L3QvtCz0L4g0LfQvdCw0YfQtdC90LjRjwoKc2VjdGlvbiAudGV4dAogICAgZ2xvYmFsIF9zdGFydAoKX3N0YXJ0OgogICAgOyA0LiDQktGL0YfQtdGB0YLRjCDQuNC3INC/0LXRgNCy0L7QuSDQstGC0L7RgNGD0Y4gKHZhcjEgLSB2YXIyKQogICAgbW92IGVheCwgW3ZhcjFdICAgICAgOyBFQVggPSA0MAogICAgc3ViIGVheCwgW3ZhcjJdICAgICAgOyBFQVggPSA0MCAtIDM2ID0gNAogICAgbW92IFtyZXN1bHQxXSwgZWF4ICAgOyDRgdC+0YXRgNCw0L3Rj9C10Lwg0YDQtdC30YPQu9GM0YLQsNGCCiAgICAKICAgIDsgNS4g0KHQu9C+0LbQuNGC0Ywg0L/QtdGA0LLRg9GOINGB0L4g0LLRgtC+0YDQvtC5ICh2YXIxICsgdmFyMikKICAgIG1vdiBlYXgsIFt2YXIxXSAgICAgIDsgRUFYID0gNDAKICAgIGFkZCBlYXgsIFt2YXIyXSAgICAgIDsgRUFYID0gNDAgKyAzNiA9IDc2CiAgICBtb3YgW3Jlc3VsdDJdLCBlYXggICA7INGB0L7RhdGA0LDQvdGP0LXQvCDRgNC10LfRg9C70YzRgtCw0YIKICAgIAogICAgOyA2LiDQodC70L7QttC40YLRjCDQu9GO0LHQvtC1INC90LXQv9C+0YHRgNC10LTRgdGC0LLQtdC90L3QvtC1INC30L3QsNGH0LXQvdC40LUg0YEg0L/QtdGA0LLQvtC5INC/0LXRgNC10LzQtdC90L3QvtC5CiAgICBtb3YgZWF4LCBbdmFyMV0gICAgICA7IEVBWCA9IDQwCiAgICBhZGQgZWF4LCAxNSAgICAgICAgICA7IEVBWCA9IDQwICsgMTUgPSA1NQogICAgbW92IFtyZXN1bHQzXSwgZWF4ICAgOyDRgdC+0YXRgNCw0L3Rj9C10Lwg0YDQtdC30YPQu9GM0YLQsNGCCiAgICAKICAgIDsgNy4g0JLRi9GH0LXRgdGC0Ywg0LjQtyDQv9C10YDQstC+0Lkg0L/QtdGA0LXQvNC10L3QvdC+0Lkg0LvRjtCx0L7QtSDQvdC10L/QvtGB0YDQtdC00YHRgtCy0LXQvdC90L7QtSDQt9C90LDRh9C10L3QuNC1CiAgICBtb3YgZWF4LCBbdmFyMV0gICAgICA7IEVBWCA9IDQwCiAgICBzdWIgZWF4LCAxMCAgICAgICAgICA7IEVBWCA9IDQwIC0gMTAgPSAzMAogICAgbW92IFtyZXN1bHQ0XSwgZWF4ICAgOyDRgdC+0YXRgNCw0L3Rj9C10Lwg0YDQtdC30YPQu9GM0YLQsNGCCiAgICAKICAgIDsg0JfQsNCy0LXRgNGI0LXQvdC40LUg0L/RgNC+0LPRgNCw0LzQvNGLCiAgICBtb3YgZWF4LCAxCiAgICBtb3YgZWJ4LCAwCiAgICBpbnQgMHg4MA==