Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Вычленение битов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как перенести приложение вместе с классом на другую машину? http://www.cyberforum.ru/cpp-beginners/thread503677.html
Могут ли быть проблемы с регистрацией связаны с операционной системой? На XP получается хорошо, а в 2000-ном не идет. Объект COM сделан в XP.
C++ Как спровоцировать выполнение события? Вся обработка начинается в событии FormShow. Идея такова, программа, автоматически, при запуске самой себя, выполняет те действия (запуск нужных файлов), которые она считывает из файла данных... http://www.cyberforum.ru/cpp-beginners/thread503624.html
C++ WinAPI vs VCL - Привязка к окну каких-либо данных
Привет. Решил взяться доработать класс, который когда-то делал, класс окна наподобие TWinControl или TForm из VCL. Меня интересует, каким образом можно к каждому окну привязать какую-либо...
C++ Можно ли работать в ресурсами в managed C++
Пытаюсь обратиться к ресурсу: res = FindResource(NULL, MAKEINTRESOURCE(IDS_STRING101), RT_STRING); возращается NULL аналогичный код в обычном плюсе, выполняется отлично
C++ Управление окнами другой программы http://www.cyberforum.ru/cpp-beginners/thread503557.html
Доброго времени суток... Я сам не профи по Си++, но в СИ разбираюсь хорошо. А вопрос у меня такой: Есть ли способ одной программе управлять открытыми окнами других программ? Если конкретнее,...
C++ Как получить признак наличия соответствующих сигналов на шине? В разъём шины ISA (на худой конец, PCI) включено некое нестандартное устройство. Это устройство выставляет на шину некоторые сигналы, по наличию которых нужно начать что-то рисовать на форме. Как... подробнее

Показать сообщение отдельно
John Paramol
Сообщений: n/a
30.06.2012, 22:06
Если я правильно понял, требуется перевести
из ASCII (неупакованные BCD) в упакованные BCD?

#include <stdlib.h>
#include <stdio.h>
void __stdcall ASCII2PBCD( void *ascii, // массив ASCII
void *pbcd, // массив PBCD
int pbcdlen) // длина массива PBCD
{
asm
{
mov ecx, pbcdlen
mov esi, ascii
lea esi, [esi] + ecx*2 - 2
mov edi, pbcd
lea edi, [edi]
@l1:
std
lodsw
and ax, 0x0F0F // ascii -> unpacked BCD
xchg al, ah
aad 16 // unpacked BCD -> packed BCD
cld
stosb
loop @l1
}
}
int main()
{
char ASCII[] = "12345678";
unsigned long PBCD=0;
ASCII2PBCD(ASCII,&PBCD,4);
char OutBuf[100];
ltoa(PBCD,OutBuf,2);
puts(OutBuf);
getchar();
return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru