assignment7_mpl
assignment7_mpl
section .data
srcblock db 01, 02, 03, 04, 05, 00, 00, 00, 00, 00
newline db 10, 0
section .bss
ch1 resb 2
pos resb 2
hex_output resb 30
section .text
global _start
_start:
call display_msg
call display_msg
mov rdx, 2
call read_input
mov [ch1], al
call display_msg
mov rdx, 2
call read_input
mov [pos], al
je WS
je exit
jmp exit
WOS:
mov rcx, 5
blockup1:
mov [rdi], al
dec rsi
dec rdi
loop blockup1
jmp display_srcblock
WS:
mov rcx, 5
std
rep movsb
jmp display_srcblock
display_srcblock:
mov rcx, 10
hex_loop:
shr al, 4
jbe store_high
add al, 7
store_high:
mov [rdi], al
inc rdi
jbe store_low
add al, 7
store_low:
mov [rdi], al
inc rdi
inc rsi
loop hex_loop
mov rdx, 30
call display_msg
exit:
mov rax, 60
syscall
display_msg:
mov rax, 1
mov rdi, 1
syscall
ret
read_input:
mov rax, 0
mov rdi, 0
syscall
ret
Output: