1K+ 次瀏覽
在這裡,我們將學習如何求帶進位的二進位制補碼。問題陳述編寫8085組合語言程式,求儲存在F100中的數的帶進位的二進位制補碼,並將結果儲存在F150和F151中。討論在8085中,有CMA指令可以對數字取反。然後我們可以加上01來得到二進位制補碼。當加上01時,可能會產生進位。我們將把它儲存到F151,實際的補碼值將放在F150。輸入地址資料……F10008……流程圖程式地址十六進位制程式碼標籤助記符註釋F0003A, 00, F1 LDA F100H從記憶體獲取數字到AF0032F CMA獲取反碼F004C6, 01 ADI 01加1F006F 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將第一個數字載入到AF00423 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, ... 閱讀更多
503 次瀏覽
在這個程式中,我們將學習如何生成整數的表格。問題陳述編寫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,那麼我們中斷 ... 閱讀更多
在這裡,我們將學習如何在8085中執行二分查詢。問題陳述:編寫8085組合語言程式,對儲存在F110到F119位置的一組資料執行二分查詢。金鑰位於F100。討論要執行二分查詢,陣列必須已排序。我們將下限放入L,上限放入H。陣列位置儲存在DE暫存器對中。中間值使用(H + L)/2計算。要執行此除法,我們只需將其向右移一位。然後將中間值放入D並檢查該專案 ... 閱讀更多
在這個程式中,我們將學習如何按降序對陣列元素進行排序。問題陳述編寫8086組合語言程式,按降序對給定陣列中的元素進行排序,該陣列從記憶體偏移量501開始。序列的大小儲存在記憶體偏移量500處。討論在這裡,我們使用氣泡排序技術對數字進行排序。在這種排序技術中,對於n個不同的數字,將會有n次傳遞。在第i次傳遞中,第i個最小元素將被放在最後。這是基於比較的排序。我們取兩個連續的數字,比較它們,然後交換它們 ... 閱讀更多
772 次瀏覽
在這個程式中,我們將學習如何使用8位操作反轉一個8位數。問題陳述編寫8086組合語言程式,使用8位操作反轉儲存在2000位置的8位數。討論8086具有用於旋轉的8位操作。我們從2000取位元組。然後用ROL指令旋轉該位元組。之後以反向形式將數字放入記憶體。輸入地址資料……2000AB……流程圖程式輸出地址資料……2000BA……