global _start
section .data
u1 db ' '
u2 db ' '
su3 db ' '
d1 db ' '
d2 db ' '
c1 db ' '
c2 db ' '
sd3 db ' '
sc3 db ' '
cu3 db ' '
cd3 db ' '
cc3 db ' '
a1 db '0892'
a2 db '0839'
sd33 db ' '
sc33 db ' '
fla1 db '1'
temp1 db ' '
lne1 db '*', 0xA,0xD
section .text
_start:
mov al,[a1 + 2]
mov [u1 + 2],al
mov al,[a2 + 2]
mov [u2 + 2],al
mov al,[a1 + 1]
mov [d1 + 1],al
mov al,[a2 + 1]
mov [d2 + 1],al
mov al,[a1 + 0]
mov [c1 + 0],al
mov al,[a2 + 0]
mov [c2 + 0],al
mov ax,[u1 + 2]
mov bx, [u2 + 2]
;clc
sub ax,'0'
sub bl, '0'
add ax, bx
;aaa
;pushf
add ax,'0'
;popf
jc srflagc
mov [su3],BYTE ax
;TEST 1 AH
mov [temp1],bl
;mov ecx,su3
;u1+0=0 u2+0=0
;inc ecx
;inc ecx
call srprt
;inc ecx ;u1+1=0 u2+1=0
;inc ecx ;u1+2=9 u2+2=3
;inc ecx ;u1+3=0 u2+3=0
;call srline
;mov ecx,[u1]
;call srprt
;call srline
;call srexit
srprt:
mov eax, 4 ; write
mov ebx, 1 ; stdout
mov ecx,su3
mov edx, 4
int 0x80
ret
srline:
mov eax, 4 ; write
mov ebx, 1 ; stdout
mov ecx,lne1
mov edx, 9
int 0x80
ret
srflagc:
mov BYTE [fla1], '2'
mov ecx, fla1
call srprt
ret
srexit:
nop
CgoKZ2xvYmFsIF9zdGFydAoKc2VjdGlvbiAuZGF0YQoKdTEgZGIgJyAgICAnCgp1MiBkYiAnICAgICcKCnN1MyBkYiAnICAgICcKCmQxIGRiICcgICAgJwoKZDIgZGIgJyAgICAnCgpjMSBkYiAnICAgICcKCmMyIGRiICcgICAgJwoKc2QzIGRiICcgICAgJwoKc2MzIGRiICcgICAgJwoKY3UzIGRiICcgICAgJwoKY2QzIGRiICcgICAgJwoKY2MzIGRiICcgICAgJwoKYTEgZGIgJzA4OTInCgphMiBkYiAnMDgzOScKIApzZDMzIGRiICcgICAgJwoKc2MzMyBkYiAnICAgICcKCmZsYTEgZGIgJzEnCnRlbXAxIGRiICcgJwpsbmUxICBkYiAnKicsIDB4QSwweEQKCgpzZWN0aW9uIC50ZXh0Cl9zdGFydDoKCgptb3YgYWwsW2ExICsgMl0KbW92IFt1MSArIDJdLGFsCm1vdiBhbCxbYTIgKyAyXQptb3YgW3UyICsgMl0sYWwKCm1vdiBhbCxbYTEgKyAxXQptb3YgW2QxICsgMV0sYWwKbW92IGFsLFthMiArIDFdCm1vdiBbZDIgKyAxXSxhbAoKbW92IGFsLFthMSArIDBdCm1vdiBbYzEgKyAwXSxhbAptb3YgYWwsW2EyICsgMF0KbW92IFtjMiArIDBdLGFsCgptb3YgYXgsW3UxICsgMl0KbW92IGJ4LCBbdTIgKyAyXQo7Y2xjCnN1YiBheCwnMCcKc3ViIGJsLCAnMCcKYWRkIGF4LCBieAoKO2FhYQoKO3B1c2hmIAphZGQgYXgsJzAnCjtwb3BmIApqYyBzcmZsYWdjCgptb3YgIFtzdTNdLEJZVEUgYXgKO1RFU1QgMSBBSAptb3YgW3RlbXAxXSxibAoKO21vdiBlY3gsc3UzCjt1MSswPTAgdTIrMD0wCjtpbmMgZWN4CjtpbmMgZWN4CgpjYWxsIHNycHJ0Cgo7aW5jIGVjeCA7dTErMT0wIHUyKzE9MAo7aW5jIGVjeCA7dTErMj05ICB1MisyPTMKO2luYyBlY3ggO3UxKzM9MCB1MiszPTAKCjtjYWxsIHNybGluZQo7bW92IGVjeCxbdTFdCjtjYWxsIHNycHJ0CjtjYWxsIHNybGluZQo7Y2FsbCBzcmV4aXQKCgoKc3JwcnQ6Cm1vdgllYXgsIDQgOyB3cml0ZQptb3YJZWJ4LCAxIDsgc3Rkb3V0Cm1vdiBlY3gsc3UzCm1vdgllZHgsIDQKaW50CTB4ODAgICAKcmV0CnNybGluZToKbW92CWVheCwgNCA7IHdyaXRlCm1vdgllYngsIDEgOyBzdGRvdXQKbW92IGVjeCxsbmUxCm1vdgllZHgsIDkKaW50CTB4ODAgICAKcmV0CgpzcmZsYWdjOgoKbW92IEJZVEUgW2ZsYTFdLCAgJzInCm1vdiBlY3gsIGZsYTEKY2FsbCBzcnBydApyZXQKc3JleGl0Ogpub3AKCgoKCgoKCgo=