?? mul32b.asm
字號:
STACK SEGMENT PARA STACK 'STACK'
DW 100 DUP (?)
STACK ENDS
DATA SEGMENT
ORG 0100H
MCD1_HI DW 1234H ;被乘數(shù)
MCD1_LO DW 5678H
MCD2_HI DW 0ABCDH ;乘數(shù)
MCD2_LO DW 0EF12H
RESULT DB 8 DUP(0) ;結果區(qū)(低位字節(jié)在前)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MUL32B_S PROC FAR
PUSH DS ;保存返回地址
MOV AX, 0
PUSH AX
MOV AX,DATA ;初始化DS,ES
MOV DS,AX
MOV DX,MCD1_HI ;DX存儲被乘數(shù)的高8位
MOV AX,MCD1_LO ;AX存儲被乘數(shù)的低8位
MOV CX,MCD2_HI ;CX存儲乘數(shù)的高8位
MOV BX,MCD2_LO ;DX存儲乘數(shù)的低8位
MOV DI,OFFSET RESULT
MOV MCD1_HI,DX
MOV MCD1_LO,AX
MUL BX ;產(chǎn)生部分積1
ADD [DI],AX
ADC [DI+2],DX
MOV AX,MCD1_HI
MUL BX ;產(chǎn)生部分積2
ADD [DI+2],AX
ADC [DI+4],DX
MOV AX,MCD1_LO
MUL CX ;產(chǎn)生部分積3
ADD [DI+2],AX
ADC [DI+4],DX
MOV AX,MCD1_HI
MUL CX ;產(chǎn)生部分積4
ADD [DI+4],AX
ADC [DI+6],DX
RET
MUL32B_S ENDP
CODE ENDS
END MUL32B_S ;匯編結束
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -