Shakken

Untitled

Jan 4th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. .model small
  2. .stack 256
  3. .data
  4. mas dw 8 dup(0)
  5. zz db 0Dh, 0Ah,'-$'
  6. .code
  7. start:
  8. mov ax,@data
  9. mov ds,ax
  10. mov cx,8
  11. mas_in:
  12. xor bx,bx
  13. num_s_in:
  14. cmp bx,6
  15. je end_num_s_in
  16. mov ah,01h
  17. int 21h
  18. cmp al,0Dh
  19. je end_num_s_in
  20. inc bx
  21. xor ah,ah
  22. push ax
  23. jmp num_s_in
  24. end_num_s_in:
  25. mov bp,1
  26. xor di,di
  27. num_p:
  28. cmp bx,1
  29. je end_num_p
  30. pop ax
  31. sub al,'0'
  32. mul bp
  33. add di,ax
  34. mov ax,bp
  35. mov bp,10
  36. mul bp
  37. mov bp,ax
  38. dec bx
  39. jmp num_p
  40. end_num_p:
  41. pop ax
  42. cmp al,'-'
  43. jne ee
  44. neg di
  45. ee:
  46. mov ax,cx
  47. ;sub ax,2
  48. shl ax,1
  49. mov si,offset mas
  50. add si,ax
  51. mov word ptr [si],di
  52. loop mas_in
  53. ____SOBSTVENNO SLOGENIE____
  54. mov di,offset mas
  55. xor ax,ax ;summa bolhih 0
  56. xor bx,bx ;summa menshih 0
  57. mov cx,9
  58. add_num:
  59. cmp word ptr[di],0
  60. jl add_less_zero
  61. add ax,word ptr [di]
  62. jmp e
  63. add_less_zero:
  64. add bx,word ptr [di]
  65. e:
  66. add di,2
  67. loop add_num
  68. ___VYVOD_______
  69. div_num_s:
  70. mov cx,10
  71. xor bp,bp
  72. div_num:
  73. cmp ax,0
  74. je end_div_num
  75. xor dx,dx
  76. div cx
  77. add dx,'0'
  78. push dx
  79. inc bp
  80. jmp div_num
  81. end_div_num:
  82. vyvod:
  83. cmp bp,0
  84. je end_vyvod
  85. pop ax
  86. mov ah,02h
  87. mov dl,al
  88. int 21h
  89. dec bp
  90. jmp vyvod
  91. end_vyvod:
  92. cmp bx,0
  93. je exit
  94. neg bx
  95. mov ah,9
  96. mov dx,offset zz
  97. int 21h
  98. mov ax,bx
  99. xor bx,bx
  100. jmp div_num_s
  101. exit:
  102. mov ax,4C00h
  103. int 21h end start
Add Comment
Please, Sign In to add comment