section .data
msg db "abc3def7ghij", 0ah
msg3 db " ", 0ah
msg7 db " ", 0ah
section .text
global _start
_start:
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, 13
syscall
mov bl, [msg+3]
mov [msg3], bl
mov bl, [msg+7]
mov [msg7], bl
mov rax, 1
mov rdi, 1
mov rsi, msg3
mov rdx, 2
syscall
mov rax, 1
mov rdi, 1
mov rsi, msg7
mov rdx, 2
syscall
mov rax, 60
mov rdi, 0
syscall
section .data
msg db "abc4def4ghi4", 0ah
msg4 db " ", 0ah
section .text
global _start
_start:
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, 13
syscall
mov cl, 2
mov rsi, msg+3
cycle:
mov bl, [rsi]
mov [msg4], bl
push rsi
mov rax, 1
mov rdi, 1
mov rsi, msg4
mov rdx, 2
syscall
pop rsi
add rsi, 4
mov al, cl
dec al
jnz cycle
mov rax, 60
mov rdi, 0
syscall
вывод каждого четвёртого section .data
msg db "abc4def4ghi4", 0ah
lnt db 6;
msgendl db 0ah;
section .text
global _start
_start:
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, 13
syscall
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, 6
syscall
mov rax, 1
mov rdi, 1
mov rsi, msgendl
mov rdx, 1
syscall
mov rax, 1
mov rdi, 1
mov rsi, msg+6
mov rdx, 6
syscall
mov rax, 60
mov rdi, 0
syscall
ф это второе вывод двух половинок строки чётного количества
1. Дана строка из 12 символов. Выделить из строки каждый четвертый байт. Значение байтов выводить на экран.
2. Задать строку. Число символов нечетно. В строку поместить кодом символ '*› 2 раза. Разделить строку на три по разделителю. Вывести строки на экран.
3. Задать строку. Вывести на экран строку, значение третьего и седьмого байтов. Вывод производить в три строки
4. Задать строку из 12 байтов. Заменить каждый четвертый байт пробелом'. Вывести исходную строку и преобразованную
5. Задать строку, число байтов четно. Выделить из строки первую часть и вторую. Полученные строки вывести на экран в три ряда
на фото пример выполнения этих задач!