Неправильный вывод из программы - Assembler

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

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

Всем доброго утра. Столкнулся с проблемой которую никак не могу понять. Имеется код программы
Листинг программы
  1. .model small
  2. .386
  3. .stack 100h
  4. .code
  5. start:
  6. mov ax,127
  7. mov bx,35
  8. qqq:
  9. sub ax,bx
  10. inc cx
  11. cmp ax,bx
  12. ja qqq
  13.  
  14. xor ax,ax
  15. mov ax,cx
  16. call vyv
  17. mov ax,4c00h
  18. int 21h
  19. vyv proc
  20. xor bx,bx
  21. xor cx, cx
  22. mov bx, 10
  23. oi2:
  24. xor dx,dx
  25. div bx
  26. push dx
  27. inc cx
  28. test ax, ax
  29. jnz oi2
  30. mov ah, 02h
  31. oi3:
  32. pop dx
  33. add dl, '0'
  34. int 21h
  35. loop oi3
  36. ret
  37. vyv endp
  38. end start
программа компилируется, но при выполнении выводит 258, а не 3 как должно. Хотя программа
Листинг программы
  1. .model small
  2. .386
  3. .stack 100h
  4. .code
  5. start:
  6. mov cx,3
  7. mov ax,cx
  8. call vyv
  9. mov ax,4c00h
  10. int 21h
  11. vyv proc
  12. xor bx,bx
  13. xor cx, cx
  14. mov bx, 10
  15. oi2:
  16. xor dx,dx
  17. div bx
  18. push dx
  19. inc cx
  20. test ax, ax
  21. jnz oi2
  22. mov ah, 02h
  23. oi3:
  24. pop dx
  25. add dl, '0'
  26. int 21h
  27. loop oi3
  28. ret
  29. vyv endp
  30. end start
выводит 3 как положено. Излазил обе программы в отладчике, но так и не смог разобраться. Что то упускаю, но что не могу понять. Подскажите пожалуйста в чем проблема и как ее исправить. Заранее всем спасибо.

Решение задачи: «Неправильный вывод из программы»

textual
Листинг программы
  1. ; Файл типа COM ---------
  2. AX 0000 CX 00FF DS:SI 2075:0100 CS:IP 2075:0100 BP 0000 ODITSZAPC
  3. BX 0000 DX 2075 ES:DI 2075:FFFE SS:SP 2075:FFFE FL 7202 001000000
  4.  
  5. ; Файл типа EXE ---------
  6. AX 0000 CX 00FF DS:SI 2075:0200 CS:IP 2065:0200 BP 0000 ODITSZAPC
  7. BX 0000 DX 2075 ES:DI 2075:0200 SS:SP 2C0D:0200 FL 7202 001000000

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


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

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

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

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

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

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