580 次瀏覽
在這裡,我們將瞭解如何使用 8085 查詢兩個給定位元組的最大公約數 (HCF) 或最大公因數 (GCD)。這些數字是 8 位數字,不大於此。問題陳述——編寫一個 8085 組合語言程式,以查詢儲存在記憶體位置 8000H 和 8001H 的兩個數字的最大公約數或最大公因數。討論——我們將使用歐幾里得演算法來查詢最大公約數。此演算法非常簡單。我們必須遵循以下步驟:如果第一個數字和第二個數字相同,則 a) 轉到步驟 3。否則,如果第一個數字 < 第二個數字,則…… 閱讀更多
555 次瀏覽
在這裡,我們將瞭解如何在 8085 微處理器中執行線性搜尋。線性搜尋是從起始位置到結束位置順序搜尋元素。問題陳述——編寫一個 8085 組合語言程式,使用線性搜尋(順序搜尋)技術在一個數據塊中搜索一個關鍵值。討論假設資料儲存在 8002H 到 8007H 位置。8000H 包含塊的大小,8001H 保持要搜尋的關鍵值。當我們執行程式時,它將返回找到該項的資料的地址,並將地址儲存在 9000H 位置…… 閱讀更多
283 次瀏覽
在本節中,我們將瞭解 8085 微處理器中 I/O 埠晶片和記憶體晶片之間的基本比較。與記憶體晶片類似,資訊也儲存在輸入輸出埠晶片中。另一方面,少量位元組的資訊儲存在輸入輸出埠晶片中,而一個位元組的資訊儲存在輸入輸出埠晶片中。例如,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執行或運算。如果零標誌被置位,則表示該數字為00H,因此我們忽略它。否則,我們只需儲存……閱讀更多
838 次瀏覽
這裡我們將學習如何使用8085從記憶體中讀取16位BCD資料,將其解壓,然後儲存到記憶體中。問題陳述編寫8085程式,從記憶體中讀取16位BCD數,然後透過解壓將其各位數字儲存到不同的位置。討論為了解決這個問題,我們將建立一個子程式,該子程式可以解壓1位元組BCD數並將其儲存到記憶體中,然後我們將使用該子程式兩次來儲存16位資料。該子程式將透過掩碼高4位和低4位來分割數字,並將它們儲存到記憶體中。輸入DE暫存器對中為1234流程圖程式地址十六進位制程式碼標籤助記符註釋F00031, 00, FC LXI SP, FC00初始化堆疊……閱讀更多