551 次瀏覽
在這裡,我們將學習如何使用 8085 為 7 位 ASCII 字串新增偶校驗。問題陳述編寫一個程式,為 7 位 ASCII 字串新增偶校驗。字串的長度儲存在記憶體位置 8040 H 中,字串本身從記憶體位置 8041 H 開始。將偶校驗置於每個字元的最高有效位。討論8085 具有奇偶校驗標誌。該標誌將用於檢查併為每個 ASCII 字元分配奇偶校驗。首先,我們將透過使用 7FH 對數字進行掩碼來清除最高有效位。然後使用 OR 指令,因為這…… 閱讀更多
1K+ 次瀏覽
在這裡,我們將學習如何使用 8085 新增十個打包的 BCD 數字。問題陳述一組十個打包的 BCD 數字儲存在從 8040H 到 8049H 開始的記憶體位置中。編寫一個帶有子程式的程式來以 BCD 形式新增這些數字。如果生成進位,則將其儲存到暫存器 B 中,並將其調整為 BCD。最終的總和將小於 9999BCD。將總和儲存在 8060H 和 8061H 位置。編寫第二個子程式來解包儲存在暫存器 A 和 B 中的 BCD 和,並將它們儲存在從 8062H 開始的 OutputBuffer 記憶體中。最高有效位…… 閱讀更多
148 次瀏覽
在這裡,我們將學習如何使用 8085 查詢兩個二進位制模式的位差異。問題陳述兩個二進位制模式儲存在位置 8030H 和 8031H 中。將它們載入到暫存器 A 和 B 中。找出位不同的位位置,並將這些位置號放在從 8050H 開始的字上。(位在 A 中為 0 且 B 中為 1 的位置不同)討論為了解決這個問題,我們將數字放入 A 和 B 中。然後將 C 初始化為計數器 08H,暫存器 L 將跟蹤位位置,其中 A…… 閱讀更多
在這裡,我們將學習如何查詢帶進位的 2 的補碼。問題陳述編寫 8085 組合語言程式,以查詢儲存在 F100 中的數字的帶進位的 2 的補碼,並存儲在 F150 和 F151 中。討論在 8085 中,有一個 CMA 指令來對數字進行求反。然後我們可以用 01 加上它來使其成為 2 的補碼。當用 01 加上它時,可能會產生進位。我們將將其儲存到 F151,實際的補碼將位於 F150。輸入地址資料……F10008……流程圖程式地址十六進位制程式碼標籤助記符註釋F0003A, 00, F1 LDA F100H 從記憶體獲取數字到 A F0032F CMA 獲取 1 的補碼 F004C6, 01 ADI 01 增加 1 F0066F MOV L, A 儲存 A…… 閱讀更多
2K+ 次瀏覽
在這裡,我們將學習如何在 8085 中無需進位即可新增兩個 8 位數字。問題陳述編寫 8085 組合語言程式來執行 8 位加法而無需進位。數字儲存在 F100 和 F101 中。結果將儲存在 F102 中。討論在 8085 中,有一個 ADD 指令來新增兩個數字。我們將設定 HL 對以指向數字,然後將累加器載入到數字中。然後使用 ADD M 操作進行新增,該操作可以新增 HL 對指向的記憶體項和累加器。輸入地址資料……F100CEF10121……流程圖程式地址十六進位制程式碼標籤助記符註釋F00021, 01, F1 LXI H, F100H 指向獲取數字 F0037E MOV A, M 將第一個數字載入到 A F00423 INX H 指向…… 閱讀更多
4K+ 次瀏覽
在這裡,我們將學習如何使用 8085 執行 BCD 減法。問題陳述編寫 8085 組合語言程式來執行儲存在位置 8001 和 8002 中的兩個數字的 BCD 減法。結果將儲存在 8050 和 8051 中。討論為了減去兩個 BCD 數字,我們將使用 10 的補碼方法。取第一個數字並將其儲存到 B 中,將 99 載入到 A 中,然後減去該數字以獲得 9 的補碼。然後用 1 加上結果以獲得 10 的補碼。我們不能使用 INR 指令來增加。這不會影響 CY 標誌。所以我們必須…… 閱讀更多
在這裡,我們將學習如何拆分 8 位數字的兩個半位元組。問題陳述編寫 8085 組合語言程式來拆分 8 位數字的兩個半位元組。數字儲存在 F050 中,我們將結果儲存在 F051 和 F052 中。討論為了分別獲取半位元組,首先我們將數字作為副本複製到 B 暫存器中。現在遮蔽高半位元組以獲取低半位元組並將其儲存,然後再次從 B 獲取數字,遮蔽低半位元組以獲取高半位元組,然後將其旋轉四次以使其成為低位半位元組,之後將其儲存到另一個位置。輸入地址資料F05035 地址資料F050BE 流程圖程式地址十六進位制程式碼標籤助記符註釋F0003A,…… 閱讀更多
501 次瀏覽
在這個程式中,我們將學習如何生成整數的表格。問題陳述編寫 8085 組合語言程式來生成輸入整數的表格。該數字儲存在 F050 中,表格將從 F051 開始儲存。討論表格生成基本上是乘法表建立。我們將獲取數字並將其儲存到 B 中。並將計數器初始化為 0A(十進位制為 10)。在每個步驟中,我們將 B 與 A 相加並將 A 的值儲存到記憶體中,並將計數器減 1。這些步驟將重複,直到計數器變為 0。輸入地址資料……F0504……流程圖程式地址十六進位制程式碼標籤助記符註釋F00021, 50…… 閱讀更多
468 次瀏覽
在這裡,我們將學習如何對 8 位數的兩個半位元組執行 AND 操作。問題陳述:編寫 8085 組合語言程式來執行 8 位數的兩個半位元組的 AND 操作。數字儲存在 F050 中,我們將結果儲存在 F051 中。討論為了獲取半位元組,我們必須首先進行掩碼。因此,我們需要遮蔽低半位元組和高半位元組並將它們儲存到不同的暫存器中。高半位元組將向右移動四位以使其成為低半位元組。然後我們可以執行 AND 操作,並將其儲存到記憶體位置 F051 中。輸入地址資料F05035 地址資料F050BE 流程圖程式地址十六進位制程式碼標籤助記符註釋F0003A, 50…… 閱讀更多
367 次瀏覽
這裡我們將學習如何找到累加器資料中置位的位置。問題陳述編寫 8085 組合語言程式以查詢位為 1 的位置。在累加器中,所有位都為 0,但只有一位為 1。我們必須獲取值為 1 的位的位置。該位置將以十進位制形式顯示,從 1 到 8。討論我們取一個數字,例如 (0010 0000)。其位值是 6。因此,我們將數字向右旋轉透過進位。如果進位位為 1,則我們中斷…… 閱讀更多