Guest User

Untitled

a guest
Jan 4th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. .model small
  2. .stack 100h
  3. .data
  4. num1 dd 0
  5. num2 dd 0
  6. proizv dd 0,0
  7. msg1 db 0ah,0dh,"Vvedite pervoe chislo:",0ah,0dh,"$"
  8. msg2 db 0ah,0dh,"Vvedite vtoroe chislo:",0ah,0dh,"$"
  9. c10 dw 10
  10. .code
  11. start:
  12. mov ax,@data
  13. mov ds,ax
  14. lea dx,msg1 ; вывод на экран msg1
  15. mov ah,09h
  16. int 21h
  17. call input ; ввод первого числа
  18. lea bx,num1 ; записываем введенное длинное число в num1:
  19. mov word ptr[bx],si ; младшее слово
  20. mov word ptr[bx+2],di ; старшее слово
  21. lea dx,msg2 ; вывод на экран msg2
  22. mov ah,09h
  23. int 21h
  24. call input ; ввод второго числа
  25. lea bx,num2 ; записываем введенное длинное число
  26. mov word ptr[bx],si
  27. mov word ptr[bx+2],di
  28. mov ax,word ptr num1 ; перемножение чисел (смотри конспект)
  29. mul word ptr num2
  30. mov word ptr proizv,ax
  31. mov word ptr proizv+2,dx
  32. mov ax,word ptr num1
  33. mul word ptr num2+2
  34. add word ptr proizv+2,ax
  35. adc word ptr proizv+4,dx
  36. mov ax,word ptr num1+2
  37. mul word ptr num2
  38. add word ptr proizv+2,ax
  39. adc word ptr proizv+4,dx
  40. mov ax,word ptr num1+2
  41. mul word ptr num2+2
  42. add word ptr proizv+4,ax
  43. adc word ptr proizv+6,dx
  44. mov ah,4ch
  45. int 21h
  46. input proc ; процедура ввода длинного числа
  47. xor si,si ; возвращает число в di:si
  48. xor di,di
  49. loop1:
  50. mov ah,01h
  51. int 21h
  52. cmp al,13
  53. je end_input
  54. sub al,30h
  55. xor bx,bx
  56. mov bl,al
  57. mov ax,di
  58. mul c10
  59. mov di,ax
  60. mov ax,si
  61. mul c10
  62. add ax,bx
  63. adc dx,di
  64. mov di,dx
  65. mov si,ax
  66. jmp loop1
  67. end_input:
  68. ret
  69. input endp
  70. end start
Add Comment
Please, Sign In to add comment