Необходимо изменить .com-файл в .exe-файл - Assembler
Формулировка задачи:
Листинг программы
- .model tiny
- .code
- ;.386
- org 100h
- start:
- mov ah,10
- lea dx,strBig
- int 21h
- mov ah,2
- mov dl,10
- int 21h
- xor cx,cx
- lea si,str
- m1:
- lodsb
- cmp al,0Dh
- jz short exit
- cmp al,' '
- jz short m2
- xor ch,ch
- jmp short m1
- m2:
- inc ch
- cmp cl,ch
- ja short m1
- mov cl,ch
- jmp short m1
- exit:
- xor ch,ch
- ;----------Вывод на экран---------
- mov ax,cx
- xor cx, cx
- mov bx, 10
- oi2:
- xor dx,dx
- div bx
- push dx
- inc cx
- test ax, ax
- jnz oi2
- mov ah, 02h
- oi3:
- pop dx
- add dl, '0'
- int 21h
- loop oi3
- ;-----------------------------------------
- xor ax,ax
- int 16h
- ret
- ;--------Строка-----------
- strBig db 255
- len db ?
- str:
- end start
Решение задачи: «Необходимо изменить .com-файл в .exe-файл»
textual
Листинг программы
- stac segment stack 'stack'
- db 255 dup (?)
- stac ends
- data segment
- strBig db 255
- len db ?
- str db 255 dup(0)
- data ends
- cd segment
- assume cs: cd, ds: data, ss: stac
- start:
- mov ah,10 ;ввод строки
- lea dx,strBig
- int 21h
- mov ah,2
- mov dl,10
- int 21h
- xor cx,cx
- lea si,str
- m1:
- lodsb
- cmp al,0Dh
- jz short exit
- cmp al,' '
- jz short m2
- xor ch,ch
- jmp short m1
- m2:
- inc ch
- cmp cl,ch
- ja short m1
- mov cl,ch
- jmp short m1
- exit:
- xor ch,ch
- ;----------Вывод на экран---------
- mov ax,cx
- xor cx, cx
- mov bx, 10
- oi2:
- xor dx,dx
- div bx
- push dx
- inc cx
- test ax, ax
- jnz oi2
- mov ah, 02h
- oi3:
- pop dx
- add dl, '0'
- int 21h
- loop oi3
- xor ax,ax
- int 16h
- ret
- cd ends
- end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д