先決條件- 8085程序找到一個數的階乘html
問題–編寫彙編語言程序, 以使用8086微處理器計算數字的階乘算法
例子 -編程
Input : 04H Output : 18H as In Decimal : 4*3*2*1 = 24 In Hexadecimal : 24 = 18H Input : 06H Output : 02D0H as In Decimal : 6*5*4*3*2*1 = 720 In Hexadecimal : 720 = 02D0H
假設–code
程序的起始地址:0400htm
輸入存儲器位置:0500內存
輸出存儲器位置:0600和0601ci
重要–開發
若是給定數字是16位數字, 則AX寄存器將自動用做第二個參數, 而且乘積存儲在DX:AX寄存器對中。這意味着DX寄存器保留32位數字的高位, 而AX寄存器保留32位數字的低位。get
在8086微處理器中, 用戶具備直接指令(MUL)將兩個數相乘, 所以咱們沒必要像8085中那樣將乘數乘以乘數it
8086比8085的優點(若是是乘法):
算法–
程序–
地址 | 內存 | 註釋 |
---|---|---|
0400 | MOV CX, [0500] | CX <-[0500] |
0404 | MOV AX, 0001 | AX<-0001 |
0407 | MOV DX, 0000 | DX <-0000 |
040A | MUL CX | DX:AX <-AX * CX |
040C | LOOP 040A | 轉到[040A]直到CX-> 00 |
0410 | MOV [0600], AX | [0600] <-AX |
0414 | MOV [0601], DX | [0601] <-DX |
0418 | HLT | 中止執行 |
說明–
更多彙編編程開發相關內容請參考:lsbin - IT開發技術:https://www.lsbin.com/
查看如下更多8085彙編程序實現相關的內容: