0x378 адрес порта в коротком int

У меня есть два метода:

short _stdcall Inp32(short portaddr);
void _stdcall Out32(short portaddr, short datum); 

Они предназначены для доступа к портам параллельного порта ECP. Проблема в том, что адрес порта моего регистра данных - 0x378, что в основном равно 888 в десятичном формате.

Теперь тип данных portaddr, как показано, имеет тип short. Итак, что я должен указать свой адрес порта как: 888?


person Bhagirath N Sai    schedule 25.04.2013    source источник
comment
Я не понимаю. 0x378 и 888 полностью эквивалентны, и это значение может поместиться в шорт, если шорт на вашей платформе не меньше двух байтов. Как это проблема?   -  person zneak    schedule 25.04.2013


Ответы (1)


"short" зависит от системы и компилятора, но он должен быть не менее 16 бит. Поэтому оба из них должны быть в порядке:

short portaddr = 888;
short portaddr = 0x378;
person Mark Bertenshaw    schedule 25.04.2013