Сравнение массивов - Assembler
Формулировка задачи:
Здравствуйте, помогите пожалуйста с кодом. Делаю программу которая после ввода mkfile должна создавать файл и в нем текст. Засунул текст в m2 и пытался сравнить массивы m2 и cmd но безуспешно.
sseg segment stack db 256 dup (?) sseg ends dseg segment newfile db 256 dup(0) cmd db 256 dup(0) rootcat db 'c:\',0 d6 db 'Wrong command, try again $' m2 db 'mkfile',0 buf db 256 dup(0) c db 0 error db 'error$' dseg ends cseg segment assume cs:cseg, ds:dseg, ss:sseg getstr proc near xor si,si a1: mov ah,1 int 21h cmp al,0dh je a2 mov buf[si],al inc si jmp a1 a2: inc si mov buf[si],0 ret getstr endp getfln proc near xor si,si b1: mov ah,1 int 21h cmp al,0dh je b2 mov newfile[si],al inc si jmp b1 b2: inc si mov newfile[si],0 ret getfln endp getcmd proc near xor si,si d1: mov ah,1 int 21h cmp al,0dh je d2 mov cmd[si],al inc si jmp d1 d2: inc si mov cmd[si],0 ;----------------------------------------------------------------------- ;----------------------------------------------------------------------- ret getcmd endp start: jmp main main: push ds mov ax,0 push ax mov ax,dseg mov ds,ax call getcmd c1: call getfln mov dx,offset newfile mov cx,0 mov ah,5bh int 21h jc erop mov bx,ax call getstr mov dx,offset buf mov cx,si mov ah,40h int 21h jc erop mov ah,3eh int 21h jc erop mov dx,offset rootcat mov ah,3bh int 21h jc erop exit: mov ax,4c00h int 21h erop: mov dx,offset error mov ah,9 int 21h jmp exit NE: mov dx,offset d6 mov ah,9 int 21h jmp start cseg ends end start
Решение задачи: «Сравнение массивов»
textual
Листинг программы
;........................ mov di,buff call getString ;........................ mov di,newfile call getString ;........................ mov di,cmd call getString
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д