布林表示式的評估


我們使用邏輯控制器的介面,用匯編語言編寫一個8085程式,只評估四個變數的兩個布林表示式。程式的輸出應該透過輸入從0000、0001……到1111的變化來自動進行邏輯測試,只需按任意鍵即可。

假設我們要評估以下布林表示式。

首先,布林表示式的真值表如下表所示。

P
Q
R
S
X
Y
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
0
0

PQRS輸入分別連線到8255的PB3、PB2、PB1和PB0。X和Y的輸出端分別連線到PA1和PA0。程式埠C應僅用於輸出,並連線到輸入PB3-0的線路PC3-0。每當我們按下按鍵時,我們只需將埠C中的值遞減1。這導致埠B遞增,而不是每次按下按鍵都遞增。邏輯控制器的介面為使用者提供12個輸出線緩衝區和12個輸入線緩衝區。12個輸出線連線到ALS套件上8255的A埠和C埠(下)。8255的每條輸出線的輸出狀態都透過發光二極體(LED)顯示。在下圖中,連線用於僅製作8255的一條輸出線,如下所示。

括號內的值相互對應。同樣,括號外的值也相互對應。例如,如果PB7輸入為a1,則緩衝區輸出也將為a1,反相器輸出將為0,LED將點亮。

真值表儲存在記憶體中作為查詢表,例如從C100H位置開始。以下值(對應於LS位位置中的X和Y)儲存在從C100H開始的連續位置中。

02, 00, 02, 00, 02, 00, 02, 00, 01, 01, 02, 00, 00, 03, 00, 00

程式

; FILE NAME BOOLEAN.ASM
ORG C100H
TABLE DB 02H, 00H, 02H, 00H, 02H, 00H, 02H, 00H
DB 01H, 01H, 02H, 00H, 00H, 03H, 00H, 00H

ORG C000H

PA EQU D8H
PB EQU D9H
PC EQU DAH
CTRL EQU DBH

MVI A, 10001010B
OUT CTRL ; Configure 8255 ports

LOOP: IN PB
ANI 0FH ; Now A will contain PQRS input value

LXI H, TABLE
ADD L
MOV L, A ; Point HL to proper row in the truth table

MOV A, M
OUT PA ; Output XY from truth table to display
JMP LOOP

更新於:2019年7月30日

375次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告