Shifticida (32 рдмрд╛рдЗрдЯреНрд╕) рдФрд░
рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд░реЗрд╕рд┐рдВрдЧ рдЧреЗрдо (58 рдмрд╛рдЗрдЯреНрд╕) рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реЛрдХрд░, рдореИрдВрдиреЗ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ x86 рдХрдВрдкреНрдпреВрдЯрд░ рдЧреЗрдо рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдПрдХ рдЧреЗрдо рдХреЗ рдмрдЬрд╛рдп рддреАрди рдмрд╛рд╣рд░ рд╣реЛ рдЧрдПред рдХрд╛рд╢, рд╡реЗ рд░реЗрд╕рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдВрдд рдирд╣реАрдВ рд╣реЛрддреЗ, рд▓реЗрдХрд┐рди рд╡реЗ рдХреЗрд╡рд▓ 30 рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред
рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХрд╛ рдЦреЗрд▓
рджреЛ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЗрд▓ред рдкрд╣рд▓рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреАрдмреЛрд░реНрдб рдкрд░ рдПрдХ рдмрдЯрди рджрдмрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рджреВрд╕рд░рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреАрдмреЛрд░реНрдб рдкрд░ рдмрдЯрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдкрд╣рд▓реЗ рдЬреИрд╕реЗ рд╣реА рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддрд╛рдХрд┐ рджреВрд╕рд░рд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдкреАрдбрд╝рд┐рдд рди рд╣реЛ, рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдВрдХреЗрдд рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рд╡рд╛рдВрдЫрд┐рдд рдмрдЯрди рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдЦреЗрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред
;;-
int 16h ;;
mov bl, al ;;
still: ;;
int 29h ;;
mov al, 13;;
int 29h
mov ah,1 ;;
int 21h
cmp al, bl ;;
je true ;; , true
ja big ;; , big
; , , , bl,
mov al, '-' ; "-"
jmp still
big:
mov al, '+' ; "+"
jmp still
true:
int 20h ;;
рдмрд╛рдЦ
рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЧрдгрд┐рдд рдЦреЗрд▓ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХрд╛ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИред рдирд┐рдпрдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ: 15 рдЫрдбрд╝реЗрдВ рдореЗрдЬ рдкрд░ рд╣реИрдВ, рдЖрдкрдХреЛ рдмрджрд▓реЗ рдореЗрдВ 1 рд╕реЗ 3 рддрдХ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрд┐рд╕ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рд╡рд╣ рдЦреЛ рджреЗрддрд╛ рд╣реИред
рдЦреЗрд▓ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реНрдЯрд┐рдХ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреАрдмреЛрд░реНрдб рд╕реЗ рдЗрдирдкреБрдЯ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ (1, 2 рдпрд╛ 3 рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ)ред рд╡реНрдпрдХреНрддрд┐ рдЕрдкрдиреА рдЪрд╛рд▓ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдВрдкреНрдпреВрдЯрд░ рдХреБрдЫ рдЫрдбрд╝реЗрдВ рднреА рд▓реЗрдЧрд╛, рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдЫрдбрд╝рд┐рдпреЛрдВ рдХреА рд╢реЗрд╖ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдЦреЗрд▓ рд▓рд╛рдареА рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдЬреАрддрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рд▓ рджреЗрдЦреЗрдВрдЧреЗред рд╕рд╛рд╡рдзрд╛рдиреА: рдХреАрдмреЛрд░реНрдб рдЗрдирдкреБрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдПрдХ рдмрд╛рд░ рдореЗрдВ 15 рдпрд╛ 200 рд╕реНрдЯрд┐рдХреНрд╕ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдХрдВрдкреНрдпреВрдЯрд░ рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдЬреАрд╡рд┐рдд рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрдЧрд╛ (рдмрд╣реБрдд рдирд╛рд░рд╛рдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред
;;
mov dl, 15 ;; dl
still: ;;
mov al, '|' ;;
mov cl, dl ;; ,
disp: ;; cl
int 29h ;; 29h
loop disp
mov ah, 1 ;;
int 21h
sub al, '0' ;; ASCII-
cmp dl, al ;; - ,
je win
sub dl, 4 ;; 4
jns still ;; ,
jmp fin ;; -
win:
int 29h ;;
fin:
int 20h ;;
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рджреВрд╕рд░реА рдмрд╛рд░ рдХреЗ рдмрд╛рдж, рдмреИрд╢ рдореЗрдВ рдЦреЗрд▓рдирд╛ рдЙрдмрд╛рдК рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ-рд╕рд╢рд╕реНрддреНрд░ рдбрд╛рдХреВ
рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрд╣реБрдд рдЬрд▓реНрджреА рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ (рдПрдХ рд╕рдордп рдореЗрдВ, рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ)ред рд╡рд░реНрддрдорд╛рди рдЪрд░рд┐рддреНрд░ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдЕрдЧрд▓реЗ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рд╛рдЗрдЯ рдПрд░реЛ рдХреА рджрдмрд╛рдПрдВред рдпрджрд┐ рдЖрдк рддреАрди рд╕рдорд╛рди рд╡рд░реНрдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╛ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ рдпрд╛ рдЖрдк рдмрд╣реБрдд рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ!
;;
push 0b800H ;;
pop ds
mov cx, 3 ;;
le: ;;
push cx ;; cx,
add bl, 2 ;;
inf: ;;
int 1AH ;;
add dl, bl ;; , ""
mov [bx], dl ;;
;;
in al, 60H
cmp al, 77
jz re ;; " ",
;;
jmp inf ;;
re: ;;
pop cx ;; cx
loop le ;; " "
int 20h ;;
рдирд┐рд╖реНрдХрд░реНрд╖
рдореИрдВрдиреЗ
рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреЗрдо рдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ред рдЖрдк, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЙрд╕рдмреЙрдХреНрд╕ рдореЗрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ-рд╕рд╢рд╕реНрддреНрд░ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реАрдкреАрдпреВ рд╕рд╛рдЗрдХрд┐рд▓ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
ex2.com - рдЕрдиреБрдорд╛рди
poo2.com - рдмрд╛рдЪреЗ
рд░реЛрд▓.рдХреЙрдо - рдПрдХ рд╣рдерд┐рдпрд╛рд░рдмрдВрдж рдбрд╛рдХреВ
PS рдХреНрдпрд╛ рдЦреЗрд▓ рдХреЛ рдФрд░ рднреА рдЫреЛрдЯрд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдмреЗрд╢рдХ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!