全球旧事资料 分类
题目四题目四将两个多位十进制数相加,要求被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1中。CRLFMACRO;建立宏指令CRLFMOVDL,0DHMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HENDMDATASEGMENTDATA1DB33H,39H,31H,37H,34H;第一个数据(作为被加数)DATA2DB36H,35H,30H,38H,32H;第二个数据(作为加数)DATAENDSSTACKSEGMENT;堆栈段STADB20DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVSI,OFFSETDATA2MOVBX,05CALLDISPL;显示被加数CRLFMOVSI,OFFSETDATA1MOVBX05;显示加数CALLDISPLCRLFMOVDI,OFFSETDATA2CALLADDA;加法运算MOVSI,OFFSETDATA1MOVBX05;显示结果CALLDISPLCRLFMOVAX,4C00H
fDISPLDS1:
INTPROCMOVMOVINTDECJNZ
21HNEARAH,02DL,SIBX121HBXDS1
;显示子功能;显示字符串中一字符;修改偏移量
RETDISPLENDPADDAPROCMOVMOVMOVAD1:SUBSUBDEC
NEARDX,SIBP,DIBX,05BYTEPTRSIBX1,30HBYTEPTRDIBX1,30HBX
;ASCII码表示的数字串转将化为十六进制的数字串
JNZAD1MOVSI,DXMOVDI,BPMOVCX05CLCAD2:MOVAL,SIMOVBL,DIADCALBLAAAMOVSI,ALINCSIINCDILOOPAD2MOVSI,DXMOVDI,BPMOVBX,05AD3:ADDBYTEPTRSIBX1,30HADDBYTEPTRDIBX1,30HDECBXJNZAD3RETADDAENDPCODEENDSENDSTART
;包括进位,共5位;清进位位
带进位相加非组合BCD码的加法调整结果送被加数区指向下一位循环
十六进制的数字串转化为ASCII码表示的数字串
f题目五字符串匹配程序,实现两个字符串比较。如相同,则显示“Match”,否则显示“NoMatch”。
f图215
MACROMOVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21HENDMDATASEGMENTMESS1DB‘Match’,0DH,0AH,‘’MESS2DB‘Nomatch’,0DH,0AH,‘’MESS3DB‘I
putstri
g1:,0DH,0AH,’‘’MESS4DB‘I
putstri
g2:,0DH,0AH,’‘’MAXLEN1DB81
CRLF
fACTLEN1DB?STRING1DB81DUP(?)MAXLEN2DB81ACTLEN2DB?STRING2DB81DUP(?)DATAENDSSTACKSEGMENTSTADB50DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTARTMOVAX,DATAMOVDX,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVSP,TOPMOVAH,09HMOVDX,OFFSETMESS3INT21H;显示输入提示信息1MOVAH,0AHMOVDX,OFFSETMAXLEN1INT21H;接收键入的字符串1CRLF;回车换行MOVAH,09HMOVDX,OFFSETMESS4INT21H;显示输入提示信息2MOVAH,0AHMOVDX,OFFSETMAXLEN2INT21H;接r
好听全球资料 返回顶部