bcd码相乘汇编程序BCDcodemultiplicationassembler.docx

上传人:b****3 文档编号:27557847 上传时间:2023-07-02 格式:DOCX 页数:12 大小:15.91KB
下载 相关 举报
bcd码相乘汇编程序BCDcodemultiplicationassembler.docx_第1页
第1页 / 共12页
bcd码相乘汇编程序BCDcodemultiplicationassembler.docx_第2页
第2页 / 共12页
bcd码相乘汇编程序BCDcodemultiplicationassembler.docx_第3页
第3页 / 共12页
bcd码相乘汇编程序BCDcodemultiplicationassembler.docx_第4页
第4页 / 共12页
bcd码相乘汇编程序BCDcodemultiplicationassembler.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

bcd码相乘汇编程序BCDcodemultiplicationassembler.docx

《bcd码相乘汇编程序BCDcodemultiplicationassembler.docx》由会员分享,可在线阅读,更多相关《bcd码相乘汇编程序BCDcodemultiplicationassembler.docx(12页珍藏版)》请在冰豆网上搜索。

bcd码相乘汇编程序BCDcodemultiplicationassembler.docx

bcd码相乘汇编程序BCDcodemultiplicationassembler

bcd码相乘,汇编程序(BCDcodemultiplication,assembler)

bcd码相乘,汇编程序(BCDcodemultiplication,assembler)

******************************************;

#;microcomputerprincipleandinterfacetechnologycurriculumdesign#

#;coursedesigncontent:

BCDmultiplication#

******************************************;

**************************************************************************************;

*datasegment*

**************************************************************************************;

Datasegment

STR1DB0dh,0ah,0dh,0ah,'PleaseinputaMultiplicand:

','$'

STR2DB0dh,0ah,0dh,0ah,'PleaseinputaMultiplier:

','$'

Str3DB0dh,0ah,0dh,0ah,'Theresultis:

','$'

Str4DB0dh,0ah,0dh,0ah,'PleaseinputYtocontinueorNtofinish',0dh,0ah,'$'

Str5DB0dh,0ah,0dh,0ah,'Unexpected,error','$'

Str6DB0dh,0ah,0dh,0ah,'Youinputawrongnumber!

',0dh,0ah,'$'

STR7DB0dh,0ah,0dh,0ah,'Pleaseinputagain:

','$'

Str8DB0dh,0ah,0dh,0ah,'PleaseinputYorN',0dh,0ah,'$'

MaxDB3

DB?

DB3dup(?

Dataends

*************************************************************************************;

*codesegment*

*************************************************************************************;

Codesegment

Assumecs:

code,ds:

data

Start:

movax,data

MovDS,ax

Begin:

leaDX,STR1

Movah,09h

Int21h

Callinput

Callidentify

MovBL,AlBLputthemultiplicand;

LeaDX,STR2

Movah,09h

Int21h

Callinput

Callidentify

MovCl,Al;multiplierinCl

Callmultiply;afterthecall,theresultisplacedindi

LeaDX,str3

Movah,09h

Int21h

Calldis_num

Calldis_sign1

MovBL,Cl

Calldis_num

Calldis_sign2

Movax,di

Calldis_result

LeaDX,str4

Movah,09h

Int21h

Next:

movah,01h

Int21h

CMPAl,'Y'

JZbegin

CMPAl,'y'

JZbegin

CMPAl,'N'

JZfinish

CMPAl,'n'

JZfinish

LeaDX,str8

Movah,09h

Int21h

JMPnext

Finish:

movah,4CH

Int21h

**************************************************;

*Name:

input*

*function:

usedasinputdata*

Exportparameter:

Maxdatasegment*

**************************************************;

Inputprocnear

Pushax

PushCX

PushDX

PushSi

Step1:

leaSi,Max

MovDX,Si

Movah,0ah

Int21h

LeaSi,Max

MovCl,[si+1]

Movch,00h

Again:

movDL,[si+2]

CMPDL,'0'

JBerror

CMPDL,'9'

JAerror

IncSi

Loopagain

JMPover

Error:

leaDX,str6

Movah,09h

Int21h

NOP

LeaDX,STR7

Movah,09h

Int21h

JMPstep1

Over:

popSi

PopDX

流行的CX

流行的斧头

RET

输入ENDP

;**************************************************

;*名称:

识别*

;*功能:

判别输入的位数*

;*入口参数:

最大的数据段*

;*出口参数:

迪中的数据*

;**************************************************

识别过程的附近

推斯

推CX

李斯,马克斯

异或铝

MOVAL,[Si+1]

CMP铝,1

JZC1

MOVAL,[Si+2]

MOVCL,4

SHLAl、Cl

MOV啊,[Si+3]

SHL啊,CL

自发性高血压大鼠

或铝,啊

JMPnode1

C1:

MOVAL,[Si+2]

MOVCL,4

SHLAl、Cl

自发性高血压大鼠

NODE1:

MOV啊,00h

MOVDI,斧

流行的CX

流行的硅

RET

识别ENDP

;**************************************************

;*名称:

乘**

;*功能:

求乘积**

;*入口参数:

BL放被乘数**

;*CL放乘数**

;*出口参数:

迪放结果**

;**************************************************

多重触发附近

把斧头

推DX

推斯

异或斧

movdx,0

加:

加铝,1

DAA

MOVDH,al

MOVAL,DL

添加铝,BL

DAA

ADC啊,0

MOVDL,al

MOVAL,啊

加铝,0

DAA

MOV啊,al

MOVBH,啊

化学机械抛光

JZBZ

JA警告

MOVAL,DH

JMP加

警告:

LEADX,str5

MOVAH,09h

INT21H

JMP间

BZ:

MOVAL,DL

MOVAH,BH

MOVDI,斧

间:

流行四

流行的DX

流行的斧头

RET;经调试发现RET指令会改变斧中的

乘ENDP;值,因此一般不用斧做出口参数

;**************************************************

;*名称:

dis_num*

;*功能:

显示被乘数和乘数*

;*入口参数:

BL中的数*

;**************************************************

dis_numproc附近

推DX

推CX

把斧头

MOVDH,BL

和BL,0f0h;显示十位

MOVCL,4

自发性高血压大鼠

添加BL,30h

MOVDL、BL

MOVAH,02h

INT21H

MOVBL,DH;显示个位

和BL,0fh

添加BL,30h

MOVDL、BL

MOVAH,02h

INT21H

流行的斧头

流行的CX

流行的DX

RET

dis_numENDP

;**************************************************

;*名称:

dis_sign1*

;*功能:

显示乘号*

;**************************************************

dis_sign1proc附近

把斧头

推DX

MOVDL,2ah

MOVAH,02h

INT21H

流行的DX

流行的斧头

RET

dis_sign1ENDP

;**************************************************

;*名称:

dis_sign2*

;*功能:

显示等号*

;**************************************************

dis_sign2proc附近

把斧头

推DX

MOVDL,3dh

MOVAH,02h

INT21H

流行的DX

流行的斧头

RET

dis_sign2ENDP

;**************************************************

;*名称:

dis_result*

;*功能:

显示乘积结果*

;*入口参数:

AX中的结果*

;**************************************************

dis_resultproc附近

推斯

推DX

第四,斧

MOVAX,Si;显示千位

啊,0f0h

MOVCL,4

自发性高血压大鼠

添加啊,30h

MOVDL,啊

MOVAH,02h

INT21H

MOVAX,Si;显示百位

啊,0fh

添加啊,30h

MOVDL,啊

MOVAH,02h

INT21H

MOVAX,Si;显示十位

铝,0f0h

自发性高血压大鼠

添加Al、30h

MOVDL,al

MOVAH,02h

INT21H

MOVAX,Si;显示个位

铝,0fh

添加Al、30h

MOVDL,al

MOVAH,02h

INT21H

流行的DX

流行的硅

RET

dis_resultENDP

代码段结束

结束的开始

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1