Size: a a a

Ассемблер

2021 April 28

ДЦ

Дмитро Цимбалюк... in Ассемблер
оперативка это тоже своего рода медленно
источник

A

Aleksandr in Ассемблер
Для записи видео - да, для скриншота сойдет
источник

CM

Charlie Mumble in Ассемблер
Там непонятно какая ошибка в конце программы, короче говоря, логика, которая должна удалять пробелы - не работает, оно не понятно как записывается в файл (без изменений) и отладчик вылетает с ошибкой
источник

A

Aleksandr in Ассемблер
Не слишком информативно
источник

d

disba1ancer in Ассемблер
Не настолько как чтение видеопамяти под x86
источник

CM

Charlie Mumble in Ассемблер
Короче говоря, я 1.5 дня не мог найти нормальный код, который можно вставить в свой проект, но теперь нашел и оно заработало:
mov     ax,     ds
       mov     es,     ax
       cld
       lea     si,     mess
       mov     di,     si
       mov     cx,     len
       mov     bx,     cx
       .for:
               lodsb
               cmp     al,     ' '
               je      .next
               stosb
               dec     bx
       .next:
       loop    .for
       mov si, offset mess
       mov     si,       bx

Я рад) Алилуйя
источник

AM

Alexander Morozov in Ассемблер
.for:
       ...
.next:
       loop    .for

Прикольный нейминг!
источник

CM

Charlie Mumble in Ассемблер
Слушайте, ребят, у меня есть такая процедура для записи в файл.

Как сделать, чтобы перед тем, как записать информацию в файл был перевод строки?
Тип: #10, #13 ток на Асеемблере
источник

ВХ

Віталій Халак... in Ассемблер
mess    db  13,10,'Hello 1World23'
источник

CM

Charlie Mumble in Ассемблер
Попробовал, но теперь у меня поломалась функция для записи в файл
Все время на jcError прыгаю
источник

AM

Alexander Morozov in Ассемблер
Размер строки изменился, а в программе это было учтено?
источник

CM

Charlie Mumble in Ассемблер
Нет, не было😔😞
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
ты точно в файл пишешь? или на экране показываешь?
источник

CM

Charlie Mumble in Ассемблер
Да, mess точно в файл записывается

На экране только вывожу сообщения, типа "Done", "check file" или "Error" - чтобы понимать, все ли ок, или что-то упало.
источник

ST

Saenro T in Ассемблер
Это удаление пробелов в одном буфере, но вот все команды где есть bx, тут лишние.
источник

CM

Charlie Mumble in Ассемблер
Закоментировал их, спасибо)

Но решения по поводу переноса строки для своего случая на киберфоруме я все таки пока не нахожу
источник

AM

Alexander Morozov in Ассемблер
Зачем его где-то искать? Быстрее с «0» написать. Надо просто воспринимать строку так, как описывают массив в других языках программирования. «Удаление пробелов из строки»===«Удаление из массива всех чисел, которые равны 32»
источник

CM

Charlie Mumble in Ассемблер
Пробелы я удалил, там все нормально

Я просто записываю в файл свой текст, который в mess, и мне бы хотелось, чтобы информация записывалась не в конец, а с новой строки.
Это последнее, что мне нужно сделать - все остальное есть
источник

AM

Alexander Morozov in Ассемблер
Это эквивалентно записи в файл строки, перед которой записаны два числа 13, 10. Значит можно:
1) Записать в файл строку из этих двух символов, потом дописать в него остальное.
2) Перед формированием измененной строки записать в нее эти два символа. Записать все сразу.
источник

CM

Charlie Mumble in Ассемблер
mess    db  'Hello 1World23'
 len    equ  $-mess ; dlina mess
 NewLine    db  10, 13
 len2    equ  $-NewLine
.........
mov ah, 3Dh
 mov al, 01h ; recorf-only mode
 mov dx, offset fileName
 int 21h
 jc Error
 mov flHandle, ax
 
 
 ; set the pointer of the beginning of the file
 mov dx, 0
 mov cx, 0
 mov bx, flHandle
 mov ax, 4200h
 int 21h
 jc Error

..................

; writing data to a file
 write proc
 mov bx, flHandle
 mov dx, offset NewLine
 mov cx, len2
 mov ah, 40h
 int 21h
 jc Error
 
 mov bx, flHandle
 mov dx, offset mess
 mov cx, len
 mov ah, 40h
 int 21h
 jc Error
 ret
 write endp



При попытке вызова write - прыгаю на error.
Пытаюсь, пытаюсь, но ничего не выходит(
источник