MemIn函數
用於傳回指定記憶體I/O連接埠的狀態。各連接埠有8個記憶體位元。
格式
MemIn (連接埠編號)
參數
- 連接埠編號
- 指定記憶體I/O的位元組。
傳回值
用於傳回0~255的整數。傳回值為8位元。各位元對應1個記憶體I/O位元。
說明
可透過MemIn一次查看8個記憶體I/O位元的值。MemIn命令的作用在於,可將8個記憶體I/O位元的狀態作為1個變數進行儲存。另外,透過同時使用Wait等待程式,直到與2個以上I/O位元的相關特定條件一致。
1次可獲取8位元的值,因此傳回值的範圍為0~255。請在下表參照各傳回值和各記憶體I/O位元狀態的對應關係。
記憶體I/O位元表(使用連接埠0時)
傳回值 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
1 | Off | Off | Off | Off | Off | Off | Off | On |
5 | Off | Off | Off | Off | Off | On | Off | On |
15 | Off | Off | Off | Off | On | On | On | On |
255 | On | On | On | On | On | On | On | On |
記憶體I/O位元表(使用連接埠31時)
傳回值 | 255 | 254 | 253 | 252 | 251 | 250 | 249 | 248 |
---|---|---|---|---|---|---|---|---|
3 | Off | Off | Off | Off | Off | Off | On | On |
7 | Off | Off | Off | Off | Off | On | On | On |
32 | Off | Off | On | Off | Off | Off | Off | Off |
255 | On | On | On | On | On | On | On | On |
注意
MemIn和MemSw的差異
可以MemSw命令讀取記憶體I/O位元1的值。MemSw的傳回值為0或1,表示記憶體I/O位元為On或Off。MemSw用於個別檢查記憶體I/O位元。對於檢查記憶體I/O位元狀態這一點,MemIn命令類似於MemSw命令。但是,MemSw命令針對每1位元檢查記憶體I/O狀態,而MemIn命令可同時檢查8位元。MemIn傳回值為0~255的值。可根據該值瞭解8位元當中哪一個是On/Off。
參照
In、InBCD、Off、MemOff、On、MemOn、OpBCD、Oport、Out、MemOut、Sw、MemSw、Wait
MemIn函數範例
以下是求出前8個記憶體I/O的目前值,然後確認所有8個值皆為「0」,並進入下一步的程式範例。若傳回值不是「0」,則會顯示錯誤訊息,並停止工作。
Function main
Integer var1
var1 = MemIn(0) '取得前8個記憶體I/O位元的值
If var1 = 0 Then
Go P1
Go P2
Else
Print "Error in initialization!"
Print "First 8 memory I/O bits were not all set to 0"
EndIf
Fend
以下是命令視窗中的簡易操作範例。
> memout 0, 1
> print MemIn(0)
1
> memon 1
> print MemIn(0)
3
> memout 31,3
> print MemIn(31)
3
> memoff 249
> print MemIn(31)
1
>