Решение выражения x=(155d-c)/(a+b)+c*c - Assembler

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Помогите пожалуйста с программой. Надо чтоб число выводило больше 65535 на экран.
Листинг программы
  1. text segment 'code'
  2. assume cs:text, ds:data
  3. myproc proc
  4. mov ax, data
  5. mov ds, ax
  6. lea dx, str1
  7. mov ah, 09h
  8. int 21h
  9. mov ax,155
  10. imul d
  11. mov bx,dx
  12. mov cx,ax
  13. mov cx,c
  14. sub ax,cx
  15. mov cx,ax
  16. mov ax,a
  17. mov bx,b
  18. add ax,bx
  19. mov bx,ax
  20. mov ax,cx
  21. idiv bx
  22. mov cx,ax
  23. mov ax,c
  24. imul c
  25. add ax,cx
  26. call outp
  27. mov x, ax
  28. lea dx, str2
  29. mov ah, 09h
  30. int 21h
  31. mov ax, 4c00h
  32. int 21h
  33. myproc endp
  34. outp proc
  35. push ax
  36. push cx
  37. push dx
  38. push bx
  39. xor cx,cx
  40. mov bx, 000Ah
  41. cont: xor dx, dx
  42. div bx
  43. push dx
  44. inc cx
  45. or ax, ax
  46. jnz cont
  47. mov ah, 02h
  48. next:
  49. pop dx
  50. add dl, 30h
  51. int 21h
  52. loop next
  53. pop bx
  54. pop dx
  55. pop cx
  56. pop ax
  57. ret
  58. outp endp
  59. text ends
  60. data segment
  61. a dw 6
  62. b dw 2
  63. c dw 60
  64. d dw 4
  65. x dw ?
  66. str1 db 'Решение выражения , x=(155d-c)/(a+b)+c*c', 0Ah, 0Dh, '$'
  67. str2 db 0Ah, 0Dh, 'Решение закончено', 0Ah, 0Dh, '$'
  68. data ends
  69. stack1 segment para stack 'stack'
  70. db 128 dup (?)
  71. stack1 ends
  72. end myproc

Решение задачи: «Решение выражения x=(155d-c)/(a+b)+c*c»

textual
Листинг программы
  1. model   tiny
  2. .code
  3. org 100h
  4. start:  mov ah,9
  5.     lea dx,dbRes
  6.     int 21h
  7.     FINIT
  8. ;
  9.     FILD    word ptr c
  10.     FIMUL   word ptr c;c^2
  11. ;
  12.     FILD    word ptr e;155;
  13.     FIMUL   word ptr d;155*d
  14.     FISUB   word ptr c;155*d-c
  15. ;
  16.     FILD    word ptr a
  17.     FIADD   word ptr b;a+b
  18. ;
  19.     FDIVP;  st(1),st(0);(155*d-c)/(a+b)
  20.     FADDP;  st(1),st(0);(155*d-c)/(a+b)+c^2
  21. ;
  22.     FBSTP   dat
  23. ;
  24.     lea si,outdat+9
  25.     mov cx,10
  26.     std
  27. @@01:   lodsb
  28.     aam 10h
  29.     or  ax,'00'
  30.     xchg    ah,al
  31.     int 29h
  32.     xchg    ah,al
  33.     int 29h
  34.     loop    @@01
  35.     ret
  36. ;
  37. dbRes   db  10,13,'Result:$'
  38. a   dw  6
  39. b   dw  2
  40. c   dw  60
  41. d   dw  4
  42. e   dw  155
  43. outdat  label   byte
  44. dat DT  ?
  45.     db  98h
  46.     end start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы