预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共46页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验一两个多位十进制数相减实验 一、实验要求:将两个多位十进制数相减,要求被减数,减数均以ASCII码形式按顺序存放在以DATAI和DATA2为首的5个内存单元中(低位在前),结果送回DATAI处。 二、实验目的:1.学习数据传送和算术运算指令的用法。 2.熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 三、实验步骤:连好实验箱后接通电源,打开上位机软件88TE进入软件调试界面:点击“文件\打开”文件路径为C:\88TE\cai\asm\Ruanjian\Rjexp1.asm。具体操作如图所示: 点击编译连接生成可执行的exe文件。 通过单步运行调试程序,打开寄存器查看其变量变化情况。 四、实验程序框图: 五、实验程序: 文件路径为C:\88TE\cai\asm\Ruanjian\Rjexp1.asm DATASEGMENT DATA1DB33H,39H,31H,37H,38H;第一个数据(作为被减数) DATA2DB36H,35H,30H,38H,32H;第二个数据(作为减数) MES1DB'-','$' 显示减数和被减数 被减数和减数转换成十六进制数 设置计数值 消除最低进位数 开始 制进位减 结果送被减数区 调整偏移量 计数值-1=10 结果转换成ASCII码字符串 显示结果 结果 MES2DB'=','$' DATAENDS STACKSEGMENT;堆栈段 STADB20DUP(?) TOPEQULENGTHSTA STACKENDS CODESEGMENT ASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATA START:MOVAX,DATA MOVDS,AX MOVES,AX MOVAX,STACK MOVSS,AX MOVAX,TOP MOVSP,AX MOVSI,OFFSETDATA1 MOVBX,05 CALLDISPL;显示被减数 MOVAH,09H LEADX,MES1 INT21H MOVSI,OFFSETDATA2 MOVBX,05;显示减数 CALLDISPL MOVAH,09H LEADX,MES2 INT21H MOVSI,OFFSETDATA1 MOVDI,OFFSETDATA2 CALLSUBA;减法运算 MOVSI,OFFSETDATA1 MOVBX,05;显示结果 CALLDISPL MOVDL,0DH MOVAH,02H INT21H MOVDL,0AH MOVAH,02H INT21H INT21H MOVAX,4C00H INT21H DISPLPROCNEAR;显示子功能 DSI:MOVAH,02 MOVDL,[SI+BX-1];显示字符串中一字符 INT21H DECBX;修改偏移量 JNZDSI RET DISPLENDP SUBAPROCNEAR MOVDX,SI MOVBP,DI MOVBX,05 SU1:SUBBYTEPTR[SI+BX-1],30H SUBBYTEPTR[DI+BX-1],30H DECBX;将ASCII码表示的数字串 JNZSU1;转化为十六进制的数字串 MOVSI,DX MOVDI,BP MOVCX,05;包括进位,共5位 CLC;清进单位 SU2:MOVAL,[SI] MOVBL,[DI] SBBAL,BL;带进位相减 AAS;非组合BCD码的减法调整 MOV[SI],AL;结果送被减数区 INCSI INCDI;指向下一位 LOOPSU2;循环 MOVSI,DX MOVDI,BP MOVBX,05 SU3:ADDBYTEPTR[SI+BX-1],30H ADDBYTEPTR[DI+BX-1],30H DECBX;十六进制的数字串转化ASCII码表示的数字串 JNZSU3 RET SUBAENDP CODEENDS ENDSTART 实验二两个数相乘的实验 一、实验要求: 实现十进制数的乘法,被乘数和乘数均以ASCII码形式存放在内存中,算式结果在屏幕上显示出来。 二、实验目的:掌握乘法指令和循环指令的用法。 三、实验程序框图: 四、实验程序: DATASEGMENT DATA1DB32H,39H,30H,35H,34H DATA2DB34H MES1DB'*','$' MES2DB'=','$' RESULTDB6DUP(00H) DATAENDS STACKSEGMENT STADB20DUP(?) TOPEQULENGTHSTA STACKENDS CODESEGMENT ASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATA START:MOVAX,DATA MOVDS,AX MOVAX,STACK MOVSS,AX MOVSP,TOP LEASI,DA