0
有誰知道在8位/ 16位操作數的單個程序中,如何執行全部四種數學運算(乘法,除法,加法和加法)。我能夠使用AL,BL,CL,DL寄存器執行最多三個程序,但是我無法理解後面應該存儲值的位置,因爲對於DIV,MUL操作都需要AL。同一彙編語言程序中的乘法,除法,減法和加法
如果任何人至少可以想出一個簡單的程序或邏輯,那麼我們應該理解所有的努力。
代碼:
;================== Header ==================
; File: all.asm
; Author: Anurag Shukla
; Date: 25/02/2013
;================== Directives ==================
[BITS 16H]
[ORG 100H]
;================== Code Segment ==================
[SECTION .text]
mov al,0
mov bl,0
mov cl,0
mov dl,0
mov si,0
mov di,0
;================== Addition
mov bp, 10H
add bp, [NUMADD]
daa
mov di, 20H
sub di, [NUMSUB]
das
mov al, 10H
mov bl, 10H
mul bl
mov [RMUL],al
mov dl,[RMUL]
mov al, 10H
mov bl, 2H
div bl
int3
[SECTION .DATA]
NUMADD: DB 10H
NUMSUB: DB 10H
RSUB: DB 0H
RSUM: DB 0H
RMUL: DB 0H
RDIV: DB 0H
發佈你到目前爲止 – 2013-02-25 14:43:22
檢查更新的查詢 – 2013-02-25 14:48:05
任何人??????請幫忙 – 2013-02-25 15:13:46