From f9a5e49d295e31daa99f930a89fcfdd7c7502aca Mon Sep 17 00:00:00 2001 From: KoroLion Date: Sat, 19 Dec 2020 17:08:33 +0300 Subject: [PATCH] asm1: lab1 --- asm1/lab1/nasm.asm | 16 ++++++++++++++++ asm1/lab1/tasm.asm | 16 ++++++++++++++++ asm1/lab1/лаб1_отчёт.docx | Bin 0 -> 7159 bytes asm1/lab1/лабораторная 1.1.docx | Bin 0 -> 6632 bytes 4 files changed, 32 insertions(+) create mode 100644 asm1/lab1/nasm.asm create mode 100644 asm1/lab1/tasm.asm create mode 100644 asm1/lab1/лаб1_отчёт.docx create mode 100644 asm1/lab1/лабораторная 1.1.docx diff --git a/asm1/lab1/nasm.asm b/asm1/lab1/nasm.asm new file mode 100644 index 0000000..2e76878 --- /dev/null +++ b/asm1/lab1/nasm.asm @@ -0,0 +1,16 @@ +section .data + s: db 'HELLO WORLD', 10 ; 10 = '\n' + +section .text + global _start ; adding _start name to object code + +_start: + mov eax, 4 ; system call 'write' + mov ebx, 1 ; write to stdout + mov ecx, s ; string adr + mov edx, 12 ; string len + int 80h + + mov eax, 1 ; system call 'exit' + mov ebx, 0 ; exit code + int 80h \ No newline at end of file diff --git a/asm1/lab1/tasm.asm b/asm1/lab1/tasm.asm new file mode 100644 index 0000000..4127b2a --- /dev/null +++ b/asm1/lab1/tasm.asm @@ -0,0 +1,16 @@ +.model small ; small memory model (64 KB) +.stack 100h ; reserve 100h bytes for stack +.data + message db 'HELLO WORLD', 13, 10, '$' ; 13 = \r, 10 = \n, string must be terminated with $ +.code +start: + mov ax, @data ; unable to put in ds directly + mov ds, ax + mov dx, offset message ; offset of the message (0) + mov ah, 09h ; display string ds:dx + int 21h ; main system interrupt + + mov al, 0 ; return code 0 + mov ah, 4Ch ; terminate with return code + int 21h +end start \ No newline at end of file diff --git a/asm1/lab1/лаб1_отчёт.docx b/asm1/lab1/лаб1_отчёт.docx new file mode 100644 index 0000000000000000000000000000000000000000..98825c52e11d8f450070e74831546c4e20a3c4d1 GIT binary patch literal 7159 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 literal 0 HcmV?d00001 diff --git a/asm1/lab1/лабораторная 1.1.docx b/asm1/lab1/лабораторная 1.1.docx new file mode 100644 index 0000000000000000000000000000000000000000..92a550e8eab0c3a6f59fc3a6b528679457260133 GIT binary patch literal 6632 zcmaJ_1z6MF_h(Gl=#Y{IX{1}}kdiKGNr4eEx>HIJhjd7zv^3J8v~(k(AkvH&9sl85 zzCQood-iP4-S$2A-t#$e@A;@J18)(bfWcrCYa>r}lwSl3IW~n_*}HIY-h7tEsVD=b zu)}sQiDh=??b#!G29M~ao#+vu(3Gv6;Xx3eZRz!b6lQ~ZR91JB*8!Yz)M4-{OEvw) z3#rZ`TPbJmkp^x%&p9zJnkQpi4SM3Q#+6cx*oqcHbIb@8Vq9ZBk%VUM0*)tmB8Kk{ps3<7v{}T~> zc%{N_MOQ1OH89L=Scx(#Ms%=@7yubRNYb+VcMC4uhik|vym}(7m`XMuH%d#fCaW+a zxJFsBD=WJWvBLv#e4XjD05Od!CK3}35=5g4xQo5|649@9!KJP5HP6+gM;b0V$hKz0 zPXFv-K!4xE5#0u$c&9tpbcjo7BK>4)R^o`Y+pPabUQEb&FR>TDGfnDj&}1{vGq9k$J_PdACs z5%3sZq>u}ft;%gbhoEM1mcg23M`+RlfHxQu91l4&0Z>p-{}W?^Uop0Df?C~x9HaRY zxE3u)Sj0v9>I7C6~PP!SEk80lDE38oVI4niEdIqHyg38EGh#c?2;#ec& ziecy>WtCweHrFQ99&+;2?hZ#ZnQitGqhKTZ=N#E;cwaNGlmGBg^n0Nl3#5nU{?kL0 zNDp~9K`pudC=SSkaC5M7biMJ@&qC3hs1iFziyyXo&Q4F`%{Q$&`MK6PN6BF#VYZ)5 zXXsQiYm2bCy%M z8t0uBX-4+v4FPmymQ))g!m%PCgj6sirl?=)fwBwsb?NaFVxJ@z5g>D)yRp2|MD%@C z(iRJnHK})9SnEvm<<_zfvnC-Nie;OT$x{br zdB^9+Oiw8j)9%m_OUGGnl-`ziq3a0ZPSeYIu7Q0X(!r*b%Mkh6@8t^@Un z%x-mOm0wrkOD+Sp#n!^=6}qXHOCtVFfsd@*(O-D$f=dc$9y^Fn0r!-XHV1SXC|Y^W z#}Lq*8j(IYPbqruORs@TzI}-n8!FD~eV;Io6|A*`;Z|ynJvrrK;O^eu@!5!c5Smm9=q9pkzf)MroK-_vVh5A9ag;|3_1d#H-*WMYt>UGxRi>@9KLsMq^S)^I>NfK(S71& zX+F||VdVRNA1;J{*=X(L=&EgIZvV6Lm8wgrc5>r49boo*Y*d3na|(zFzlC~deFqpm z9eZ3k1)E|xJg!$|r|ZeiTG+~%Ntw|vlgJF0vPfQkAL3<0`d5DO5uo)8^g&{UN=

0Y->TZ3&r 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