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
>