global _start
section .data
buf db ' ',0xa ; буфер выводимой строки
len equ $ - buf ; длина выводимой строки
_start:
mov dh,4
mov dl,4
rows:
test dl,dl
je exit
mov al,'E'
sub al,dl
xor ebx,ebx
cols:
mov ah,'E'
sub ah,dh
mov [buf+ebx],al
mov [buf+ebx+1],ah
add ebx,3
dec dh
cmp dh,0
jne cols
mov dh,4
call print_line
dec dl
jmp rows
print_line:
push eax
push ebx
push ecx
push edx
mov edx,len
mov ecx,buf
mov ebx,1
mov eax,4
int 0x80
pop edx
pop ecx
pop ebx
pop eax
ret
exit:
mov eax, 01h
xor ebx, ebx
int 80h
Z2xvYmFsIF9zdGFydAogCnNlY3Rpb24gLmRhdGEKCWJ1ZiAgICAgZGIgICcgICAgICAgICAgICcsMHhhICAgICAgICAgICAgICAgOyDQsdGD0YTQtdGAINCy0YvQstC+0LTQuNC80L7QuSDRgdGC0YDQvtC60LgKCWxlbiAgICAgZXF1ICQgLSBidWYgICAgICAgICAgICAgICAgICAgICAgICAgOyDQtNC70LjQvdCwINCy0YvQstC+0LTQuNC80L7QuSDRgdGC0YDQvtC60LgKCl9zdGFydDoKICAgIG1vdiAgICAgZGgsNAogICAgbW92ICAgICBkbCw0ICAgIApyb3dzOgogICAgdGVzdCAgICBkbCxkbAogICAgamUgICAgICBleGl0CiAgICBtb3YgICAgIGFsLCdFJwogICAgc3ViICAgICBhbCxkbAogICAgeG9yICAgICBlYngsZWJ4CmNvbHM6CiAgICBtb3YgICAgIGFoLCdFJwogICAgc3ViICAgICBhaCxkaAogICAgbW92ICAgICBbYnVmK2VieF0sYWwKICAgIG1vdiAgICAgW2J1ZitlYngrMV0sYWgKICAgIGFkZCAgICAgZWJ4LDMKICAgIGRlYyAgICAgZGgKICAgIGNtcCAgICAgZGgsMAogICAgam5lICAgICBjb2xzCiAgICBtb3YgICAgIGRoLDQKICAgIGNhbGwgICAgcHJpbnRfbGluZQogICAgZGVjICAgICBkbAogICAgam1wICAgICByb3dzCiAgICAKcHJpbnRfbGluZToKICAgIHB1c2ggICAgZWF4CiAgICBwdXNoICAgIGVieAogICAgcHVzaCAgICBlY3gKICAgIHB1c2ggICAgZWR4ICAgIAoJbW92ICAgICBlZHgsbGVuCgltb3YgICAgIGVjeCxidWYKCW1vdiAgICAgZWJ4LDEKCW1vdiAgICAgZWF4LDQKCWludCAgICAgMHg4MAoJcG9wICAgICBlZHggIAoJcG9wICAgICBlY3gKCXBvcCAgICAgZWJ4Cglwb3AgICAgIGVheAoJcmV0CgpleGl0OgoJbW92CQllYXgsIDAxaAoJeG9yCQllYngsIGVieAoJaW50CQk4MGg=