Подпрограмма печати десятичного числа от 0 до 65535 - Assembler

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

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

Листинг программы
  1. Assembler: NASM, 16BITS
  2. На входе
  3. DS:SI - исходное число, dw
  4. DS:DI - буфер для записи результата в ASCII
  5. Портит регистры AX,BX,DX
  6. Регистры SI и DI инкрементируются
  7. соответственно считанному/записанному
Листинг программы
  1. PrWordDec2buf
  2. ; push di
  3. lodsw
  4. cmp ax,100
  5. jc .m1
  6. dec di
  7. cmp ax,10000
  8. jc .m1
  9. dec di
  10. .m1 mov bx,100
  11. mov dx,0
  12. div bx
  13. xchg ax,dx
  14. aam
  15. push ax
  16. mov ax,dx
  17. mov dx,0
  18. div bx
  19. xchg ax,dx
  20. aam
  21. call .und
  22. mov dl,ah
  23. call .und
  24. mov dl,al
  25. call .und
  26. pop ax
  27. mov dl,ah
  28. call .und
  29. mov dl,al
  30. or bl,1
  31. call .und
  32. ; pop di
  33. ret
  34. .und test bl,1
  35. jnz .und1
  36. or dl,dl
  37. jz .und2
  38. or bl,1
  39. .und1 or dl,30h
  40. mov [di],dl
  41. inc di
  42. .und2 ret

Решение задачи: «Подпрограмма печати десятичного числа от 0 до 65535»

textual
Листинг программы
  1. FILD
  2. FBSTP

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


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

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

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

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

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

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