Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
4 / 4 / 1
Регистрация: 13.12.2009
Сообщений: 60

Преобразование числового кода

12.06.2010, 14:33. Показов 1770. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как можно программно реализовать алгоритм преобразование hex кода в символьный код. Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2010, 14:33
Ответы с готовыми решениями:

Преобразование типов из числового в символьный
Согласно заданию лабораторной работы, мне необходимо написать программу на языке си, реализующую обработку файла для формирования...

Преобразование числового выражения суммы в строковое
Написать программу преобразования числового выражения суммы(в рублях) в строковое. Например, 345 643.21- это "триста сорок пять...

Преобразование числового выражения в словесную форму
Мне надо описать каждую функцию для курсовой работы помогите кто-нибудь пожалуйста. Как она работает вообще. Если можно сделать...

8
69 / 74 / 0
Регистрация: 15.12.2008
Сообщений: 302
12.06.2010, 23:14
https://www.cyberforum.ru/asse... 54461.html
0
4 / 4 / 1
Регистрация: 13.12.2009
Сообщений: 60
13.06.2010, 17:27  [ТС]
Спасибо, ссылку просмотрел, но все-таки решил написать свой код. Код работает а вот вывод на экран работает не так как нужно. Вот что получается:
Result:
ABCDABCDABCDABCD Result:
Не могу понять откуда вылазит второй Result. Прошу помощи.Заранее спасибо
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 .386
data segment use16
    mass dw 43981,43981,43981
    output dw 12 DUP (?)
    text2 db 'Result:',0Dh,0Ah,'$'     
data ends
code segment use16
assume ds:data, cs:code
m1: mov ax,data
    mov ds,ax
    mov ah,09h;установка функции вывода символьной строки на экран
    lea dx,text2;запись в dx адреса строки в сегменте данных
    int 21h;вызов системного сервиса
    mov cx,3
    mov si,0
    mov di,0
m6: mov ax,mass[si]
    push cx;запись в стек главного счетчика цикла
    mov cx,2
m5: push ax
    and ah,0Fh;обнуление старшей тетрады
    cmp ah,9
    jg m7;если больше то m7
    add ah,30h
    jmp m2
m7: add ah,37h
m2: mov bh,ah
    pop ax
    push ax
    and ah,0F0h;обнуление младшей тетрады
    rol ah,4;сдвиг влево
    cmp ah,9
    jg m3;если больше то m3
    add ah,30h
    jmp m4
m3: add ah,37h
m4: mov bl,ah
    mov output[di],bx;запись в массив для вывода
    pop ax
    mov ah,al
    add di,2
    loop m5
    add si,2
    pop cx;чтение из стека главного счетчика цикла
    loop m6
    mov ah,09h;установка функции вывода символьной строки на экран
    lea dx,output;запись в dx адреса строки в сегменте данных
    int 21h;вызов системного сервиса
m9: mov ah,4ch
    int 21h
code ends
end m1
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
13.06.2010, 17:34
ты используешь для вывода на экран функцию 09. Для нее терминатор строки '$' а не нуль как обычно - она выводит все пока не встретится этот символ

Добавлено через 1 минуту
Цитата Сообщение от Devioso Посмотреть сообщение
output dw 12 DUP (?)
text2 db 'Result:',0Dh,0Ah,'$'
вот эдесь она его и находит

Добавлено через 11 секунд
Цитата Сообщение от Devioso Посмотреть сообщение
output dw 12 DUP (?)
text2 db 'Result:',0Dh,0Ah,'$'
вот эдесь она его и находит
1
4 / 4 / 1
Регистрация: 13.12.2009
Сообщений: 60
13.06.2010, 17:59  [ТС]
Я не совсем понял. Я ведь делаю вызов функции вывода text2 всего один раз, по сути он должен был напечатать Result и остановиться на символе $, далее перейти к вызову другой функции-вывода массива(что он и делает) ну и к концу программы.
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
13.06.2010, 18:32
Цитата Сообщение от Devioso Посмотреть сообщение
mov ah,09h;установка функции вывода символьной строки на экран
lea dx,output;запись в dx адреса строки в сегменте данных
int 21h;вызов системного сервиса
m9: mov ah,4ch
int 21h
code ends
end m1
это конец твоей программы - обрати внимание на lea dx, output. Сразу после output в сегменте данных идет text2. Имя переменной для транслятора всего лишь ее адрес. Фнкция выводит все начиная с него пока не встретит $. поэтому text2 отображается тоже
1
4 / 4 / 1
Регистрация: 13.12.2009
Сообщений: 60
13.06.2010, 18:41  [ТС]
Большое спасибо, понял. То есть чтобы устранить ошибку нужно в конце выводимого массива дописать $. output dw 12 DUP (?),’$’
0
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
13.06.2010, 18:49
лучше dup(' ') а то выдаст какой нибудь мусор в конце. так хоть пробелы.(в смысле числа могут получиться меньше 12 символов)
1
4 / 4 / 1
Регистрация: 13.12.2009
Сообщений: 60
13.06.2010, 18:54  [ТС]
Все, большое спасибо. Все отлично работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2010, 18:54
Помогаю со студенческими работами здесь

Преобразование числового значения в текстовый для месяца
Здравствуйте. У меня есть набор данных, в котором есть столбец "month", то есть месяц. Он содержит порядковые номера каждого месяца, то...

Как запретить компилятору неявное преобразование из числового типа в символьный?
У мя возникла такая проблема: я ввожу данные типа char и мне надо быть уверенным, что я ввел именно символ, т.е. если я ввожу число мне...

Преобразование числового значения типа Float для передачи по RS-232 (SerialPort)
Добрый день! Возникла следующая проблема: необходимо преобразовать число типа Float для передачи по COM-порту следующим методом: ...

Преобразование кода из с++ в с#
немного знаком с с# и тут появилась необходимость переписать старый код, написанный мной на с++ в с# #include <stdio.h> #include...

Преобразование кода
Доброго времени суток! Помогите пожалуйста преобразовать код php с mysql запросом (предоставляю сразу полный код): ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru