580 次瀏覽
在這裡,我們將瞭解如何使用 8085 查詢兩個給定位元組的最大公約數 (HCF) 或最大公約數 (GCD)。這些數字是 8 位數字,不會大於此。問題陳述——編寫一個 8085 組合語言程式來查詢儲存在記憶體位置 8000H 和 8001H 的兩個數字的最大公約數或最大公約數。討論——我們將使用歐幾里德演算法來查詢最大公約數。這個演算法非常簡單。我們必須遵循以下步驟——如果第一個數字和第二個數字相同,則 a) 轉到步驟 3。否則,如果第一個數字 < 第二個數字,則 ... 閱讀更多
555 次瀏覽
在這裡,我們將瞭解如何在 8085 微處理器中執行線性搜尋。線性搜尋是從起始位置到結束位置順序搜尋元素。問題陳述——編寫一個 8085 組合語言程式,使用線性搜尋(順序搜尋)技術在一個數據塊中搜索一個關鍵值。討論假設資料儲存在位置 8002H 到 8007H。8000H 包含塊的大小,8001H 包含要搜尋的關鍵值。當我們執行程式時,它將返回找到專案的資料的地址,並將地址儲存在位置 9000H ... 閱讀更多
283 次瀏覽
在本節中,我們將瞭解 8085 微處理器中 I/O 埠晶片和記憶體晶片之間的基本比較。與記憶體晶片類似,資訊也儲存在輸入輸出埠晶片中。輸入輸出埠晶片儲存 1 個位元組的資訊,而輸入輸出埠晶片儲存幾個位元組的資訊。例如,Intel 8212 I/O 埠晶片僅儲存 1 個位元組的資訊,而 Intel 8255 晶片儲存 3 個位元組的資訊。此外,大量的記憶體位置,例如... 閱讀更多
276 次瀏覽
現在讓我們來看一個 Intel 8085 微處理器的程式。在這個程式中,我們將瞭解如何切換 D0 位並將其傳送為輸出。問題陳述編寫 8085 組合語言程式來切換 D0 位。並將其傳送為輸出。討論切換 D0 位並將其傳送為輸出就像生成方波一樣。我們在每個階段都增加了額外的延遲。為了使用 8085 生成方波,我們將連續旋轉 10101010 (AAH),並將 D0 傳送為輸出。我們將使用 01H 掩蓋累加器的內容。如果為 0,則輸出為 0;如果為 1,則輸出為... 閱讀更多
230 次瀏覽
在這裡,我們將瞭解如何使用 8085 從陣列中獲取 3CH 和 64H 範圍內的所有數字。問題陳述編寫 8085 程式來獲取陣列中大於或等於 3CH 且小於 64H 的所有數字。數字從 8001 開始儲存,8000 儲存陣列的大小,結果將從 9000 開始儲存。討論為了解決這個問題,我們將從記憶體中獲取數字。然後將其與 3C 進行比較。如果進位標誌被設定,則表示該數字小於 3C,因此只需跳過它。否則,將其與... 閱讀更多
346 次瀏覽
在這裡,我們將瞭解如何使用 8085 獲取 D7 和 D1 位為 0 的所有數字。問題陳述編寫 8085 程式來獲取陣列中 D7 和 D1 位為 0 的所有數字。數字從 8001 開始儲存,陣列大小儲存在 8000 中。從 9000 開始儲存結果。討論為了解決這個問題,我們將對數字執行與 82H (1000 0010) 的 AND 運算。如果結果為 0,則該數字是可以接受的。只有當 D7 和 D1 位為 0 時,結果才為 0。輸入地址資料……8000 0A 8001 E9 8002 D3 8003 61 8004 A D 8005 2A 8006 1F 8007 5D 8008 A6 8009 A9 800A 35……流程圖程式地址十六進位制程式碼標籤助記符註釋F000 21, 00, 80 LXI H, 8000 載入... 閱讀更多
215 次瀏覽
在這裡,我們將瞭解如何使用 8085 相減陣列中的兩個連續元素。問題陳述編寫 8085 程式來相減陣列的兩個連續元素並將它們儲存在同一位置。結果將放置在獲取它們的位置。數字從位置 8001 開始儲存。陣列的大小儲存在 8000 中。討論我們將使用一個子例程來解決這個問題。這將相減兩個連續的數字並將它們儲存到正確的位置。該子例程將被多次呼叫以相減所有連續的數字對。任務將是... 閱讀更多
691 次瀏覽
在這裡,我們將瞭解如何使用 8085 相加陣列中的兩個連續元素。問題陳述編寫 8085 程式來相加陣列的兩個連續元素並將它們儲存在同一位置。進位將放在另一個位元組的底部。數字從位置 8001 開始儲存。陣列的大小儲存在 8000 中。討論我們將使用一個子例程來解決這個問題。這將相加兩個連續的數字並將它們儲存到正確的位置。該子例程將被多次呼叫以相加所有連續的數字對。該任務將遵循一半的... 閱讀更多
506 次瀏覽
在這裡,我們將瞭解如何使用 8085 從陣列中獲取所有非 00H 的數字。問題陳述編寫 8085 程式來獲取陣列中所有非 00H 的數字,並將它們儲存到不同的位置。數字從 8001 開始儲存,8000 儲存陣列的大小,結果將從 9000 開始儲存。討論為了解決這個問題,我們從記憶體中獲取數字,然後對數字和 00H 執行 OR 運算。如果零標誌被啟用,則我們可以理解該數字為 00,因此我們只需忽略它。否則,我們只需... 閱讀更多
838 次瀏覽
我們將學習如何使用8085微處理器從記憶體中讀取16位BCD資料,將其解包,然後儲存到記憶體中。問題陳述編寫一個8085程式,從記憶體中讀取16位BCD數,然後透過解包將其個位數字儲存到不同的記憶體位置。討論為了解決這個問題,我們將建立一個子程式,該子程式可以解包1位元組BCD數並將其儲存到記憶體中,然後我們將使用該子程式兩次來儲存16位資料。該子程式將透過掩碼高4位和低4位來分割數字,並將它們儲存到記憶體中。輸入DE暫存器對中的1234流程圖程式地址十六進位制程式碼標籤指令註釋F00031, 00, FC LXI SP, FC00初始化堆疊 ... 閱讀更多