Символы псевдографики - Assembler

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

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

Здравствуйте! Не могу заменить символы псевдографики на заглавные кириллицы. Символы псевдографики находятся в текстовом файле(кодировка unicode, думаю, в этом как раз таки и проблема). Читаю в строку - "buf", затем преобразовываю в кириллицу. Для проверки заменял строчные символы кириллицы на заглавные, строчные латиницы на заглавные, все прекрасно заменялось. А символы псевдографики не выходит Думаю, что символы псевдографики не могут корректно прочитаться из файла в строку, поэтому и не получается преобразовать в кириллицу. Буду очень рад любой подсказке. Код:
   lea  bx,buf  ; buf - строка в которой, по идее, хранятся символы псевдограф. из файла
    mov cx,30
for:    
    mov al,[bx]
    sub al,30h
    mov [bx],al
    inc bx
    loop    for
http://www.cyberforum.ru/attachment....1&d=1507395768

Решение задачи: «Символы псевдографики»

textual
Листинг программы
program test;
 
var
  f, g: file of char;
  i: char;
begin
  Assign(f, 'test.txt');
  rewrite(f);
  for i := #$B0 to #$CF do
    Write(f, i);
  Close(f);
 
  Assign(f, 'test.txt');
  reset(f);
  Assign(g, 'test_processed.txt');
  rewrite(g);
 
  while not EOF(f) do
  begin
    Read(f, i);
    Dec(i, $30);
    Write(g, i);
  end;
  Close(g);
  Close(f);
end.

Объяснение кода листинга программы

В этом коде используется язык программирования Assembler.

  1. Создаются две переменные: файл f и символ i.
  2. Файл f открывается на чтение и запись в файл test.txt.
  3. В цикле от #$B0 до #$CF (это значения от 41 до 95 в десятичной системе счисления) в файл f записываются символы псевдографики.
  4. Файл f закрывается.
  5. Файл f открывается на чтение в файл test.txt.
  6. Создаётся переменная g, которая будет использоваться для записи обработанных данных в файл test_processed.txt.
  7. Файл g открывается на запись.
  8. В цикле до тех пор, пока не достигнут конец файла f, считывается символ из файла f и уменьшается на 30 (вероятно, это необходимо для получения нужного значения символа).
  9. Полученное значение записывается в файл g.
  10. Файл g закрывается.
  11. Файл f закрывается.

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

7   голосов , оценка 4.143 из 5
Похожие ответы