Необходимо изменить .com-файл в .exe-файл - Assembler

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

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

Листинг программы
  1. .model tiny
  2. .code
  3. ;.386
  4. org 100h
  5. start:
  6. mov ah,10
  7. lea dx,strBig
  8. int 21h
  9. mov ah,2
  10. mov dl,10
  11. int 21h
  12. xor cx,cx
  13. lea si,str
  14. m1:
  15. lodsb
  16. cmp al,0Dh
  17. jz short exit
  18. cmp al,' '
  19. jz short m2
  20. xor ch,ch
  21. jmp short m1
  22. m2:
  23. inc ch
  24. cmp cl,ch
  25. ja short m1
  26. mov cl,ch
  27. jmp short m1
  28. exit:
  29. xor ch,ch
  30. ;----------Вывод на экран---------
  31. mov ax,cx
  32. xor cx, cx
  33. mov bx, 10
  34. oi2:
  35. xor dx,dx
  36. div bx
  37. push dx
  38. inc cx
  39. test ax, ax
  40. jnz oi2
  41. mov ah, 02h
  42. oi3:
  43. pop dx
  44. add dl, '0'
  45. int 21h
  46. loop oi3
  47. ;-----------------------------------------
  48. xor ax,ax
  49. int 16h
  50. ret
  51. ;--------Строка-----------
  52. strBig db 255
  53. len db ?
  54. str:
  55. end start

Решение задачи: «Необходимо изменить .com-файл в .exe-файл»

textual
Листинг программы
  1. stac segment stack 'stack'
  2. db 255 dup (?)
  3. stac ends
  4.  
  5. data segment
  6. strBig db 255
  7. len db ?
  8. str db 255 dup(0)
  9. data ends
  10.  
  11. cd segment
  12. assume cs: cd, ds: data, ss: stac
  13. start:
  14.     mov ah,10   ;ввод строки
  15.     lea dx,strBig
  16.     int 21h
  17.  
  18.     mov ah,2    
  19.     mov dl,10
  20.     int 21h
  21.  
  22.     xor cx,cx  
  23.     lea si,str  
  24. m1:
  25.     lodsb      
  26.     cmp al,0Dh  
  27.     jz short exit
  28.     cmp al,' '  
  29.     jz short m2
  30.     xor ch,ch  
  31.     jmp short m1    
  32. m2:
  33.     inc ch      
  34.     cmp cl,ch  
  35.     ja short m1
  36.     mov cl,ch  
  37.     jmp short m1    
  38.  
  39. exit:
  40.     xor ch,ch
  41. ;----------Вывод на экран---------
  42.     mov ax,cx
  43.  
  44.     xor     cx, cx
  45.     mov     bx, 10
  46. oi2:
  47.     xor     dx,dx
  48.     div     bx
  49.  
  50.     push    dx
  51.     inc     cx
  52.  
  53.     test    ax, ax
  54.     jnz     oi2
  55.  
  56.     mov     ah, 02h
  57. oi3:
  58.     pop     dx
  59.  
  60.     add     dl, '0'
  61.     int     21h
  62.  
  63.     loop    oi3
  64.  
  65.     xor ax,ax  
  66.     int 16h
  67.     ret    
  68.  
  69. cd ends
  70. end start

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


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

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

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

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

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

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