Необходимо изменить .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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д