※ 引述《dereklin.bbs@bbs.cs.nthu.edu.tw (耶!程式終於完成了)》之銘言:
: 小弟最近設計一個專題的介面,,...用BCB3.0
: 功能是經由這個介面將數值資料(十六進位)送出去到電腦外部
: 由硬體處理,在送回來...
: 目前寫了一個測試程式,在bc3.0可以跑,不過放到BCB3.0就出現
: [operand types do noy match]的訊息
: 不知道是為什麼,請問一下各位高手,煩請指點。
: 我將測試程式碼放在BitBtn2的OnClick觸發事件裡...
: 以下是我的程式碼。
: void __fastcall TForm1::BitBtn2Click(TObject *Sender)
: {
: unsigned int addrC = 0x3e2;
: unsigned int addrB = 0x3e1;
: unsigned int addrCtrl = 0x3e3;
: char value;
: asm{
: mov dx, addrCtrl
: mov al, 0x82
: out dx, al
: mov dx, addrCtrl
: mov al, 0x82
: out dx, al
: }
: value=5...value自己隨便asign一個值測試...;
: asm{
: mov dx, addrCtrl
: mov al, 0x82
: out dx, al
: mov dx, addrC
: mov al, value
: out dx, al
: mov dx, 0x3e4
: out dx, al
: mov dx, addrB
: in al, dx
: mov value, al
: }
: }
偶也寫過類似的東西,不過沒發生問題..
你要注意一下,傳遞間的長度..
如 dx和unsigned int長度是否匹配等等..
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: Lapins.g1.ntu.e