Проверить программу - Assembler

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

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

Значения исходных данных, которые должны храниться в сегменте данных, определяются выражениями: Х1=№В*(-1)^№В Х2=(-1)№В+1*(№Г*№В) Х3=(-1)№В+2*(№Г*№В+№Г) Х4=(-1)№В+3*№Г где №В – 21, №Г – 351500 Помогите разобраться, правильно ли написана программа.
Листинг программы
  1. ; Сегмент стека
  2. Sseg SEGMENT STACK 'stack'
  3. DB 256 DUP (?)
  4. Sseg ENDS
  5. ; Сегмент данных
  6. Dseg SEGMENT 'data'
  7. x1 db 0ffh
  8. x2 db 0Dh
  9. x3 db 0e6h
  10. x4 db 0Dh
  11. x5 db ?
  12. x6 dw ?
  13. x7 db ?
  14. dvx db ?
  15. mdx db ?
  16. Dseg ENDS
  17. ; Сегмент кода
  18. Cseg SEGMENT 'code'
  19. ASSUME CS:Cseg, DS:Dseg, SS:Sseg
  20. ; Головная подпрограмма
  21. Main PROC FAR
  22. ; Подготовимся к возврату в операционную систему
  23. PUSH DS
  24. MOV AX, 0
  25. PUSH AX
  26. ; Настроим DS на наш сегмент данных
  27. MOV AX, Dseg
  28. MOV DS, AX
  29. ; Делаем вычисления
  30. mov ax,0
  31. ; X1+X2
  32. mov al,x1
  33. add al,x2
  34. mov x5,al
  35. ; X3*X2
  36. mov al,x2
  37. imul x3
  38. mov x6,ax
  39. ; X2&X4
  40. mov al,x2
  41. mov x7,al
  42. mov ah,x4
  43. and x7,ah
  44. ; Запись в стек X2
  45. mov ax,0
  46. mov al,x2
  47. push ax
  48. ;X3/X1
  49. mov al,x3 ;делимое
  50. cwd;подготовки к операции деления, для которой размер делимого в два раза больше размера делителя
  51. div x1 ;частное в al, остаток в ah
  52. mov dvx,al
  53. mov mdx,ah
  54. ; Завершение программы и передача управления первому оператору в PSP
  55. pop ax
  56. RET
  57. Main ENDP
  58. Cseg ENDS
  59. END Main

Решение задачи: «Проверить программу»

textual
Листинг программы
  1.     mov ax, 4C00h
  2.     int 21h

Объяснение кода листинга программы

  1. Устанавливается значение переменной ax равное 4C00h (это значение является кодом завершения программы для функции выхода из программы в DOS).
  2. Выполняется прерывание 21h (данное прерывание вызывает сервис операционной системы DOS).

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


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

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

8   голосов , оценка 4 из 5

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

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

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