资源描述
微机原理实验
南昌航空大学实验报告
学生姓名: 学 号: 专业班级: 电子信息工程
实验类型:n验证 □综合 □设计 □创新 实验日期: 实验成绩:
一、实验项目名称
实验一、多位十进制数相减实验
二、实验目的
(1)学习数据传送和算术运算指令的用法。
(2)熟悉在PC机上建立、汇编、连接、调试和运行汇编语言的过程。
三、实验要求
将两个多位十进制数相减,要求被减数、减数均以ASCII码形式按顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。
实验程序框图如下图所示:
四、实验程序
DATA SEGMENT
DATA1 DB 33H,39H,31H,37H,38H ;第一个数据(作为被减数)
DATA2 DB 36H,35H,30H,38H,32H ;第二个数据(作为减数)
MES1 DB '-','$'
MES2 DB '=','$'
DATA ENDS
STACK SEGMENT ;堆栈段
STA DB 20 DUP(?) ;定义由20个字节组成的数据缓冲区(数组),每个字节的初值不确定
TOP EQU LENGTH STA 返回利用DUP定义的数组元素的个数到TOP,TOP=20;
段使用设定语句,确定段寄存器
与段的对应关系:从现在开始:
CS寄存器对应CODE段,
DS寄存器对应数据段,
SS寄存器对应STACK段,
ES寄存器对应数据段.
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA;
START: MOV AX,DATA
段使用设定语句是伪指令,它不能设置段寄存器的值,只能通过指令语句给DS, ES, SS赋值,CS由系统自动赋值。
MOV DS,AX
MOV ES,AX
MOV AX,STACK
MOV SS,AX
堆栈指针寄存器赋值
MOV AX,TOP
MOV SP,AX
MOV SI,OFFSET DATA1 被减数送SI
MOV BX,05 位数5送BX中,作为显示子程序的循环控制变量
CALL DISPL ;调用显示子程序,显示被减数
DOS功能调用:AH=09H,显示字符串到屏幕,DX::要显示的内容。显示“-”号
MOV AH,09H
LEA DX,MES1
INT 21H
MOV SI,OFFSET DATA2 减数送SI
MOV BX,05
CALL DISPL 调用显示子程序,显示减数
DOS功能调用:AH=09H,显示字符串到屏幕,DX::要显示的内容。显示“=”号
MOV AH,09H
LEA DX,MES2
INT 21H
MOV SI,OFFSET DATA1 被减数送SI
MOV DI,OFFSET DATA2 减数送DI
CALL SUBA ;调用减法子程序 ,进行减法运算
MOV SI,OFFSET DATA1 运算结果送SI
MOV BX,05 ;
CALL DISPL 调用显示子程序,显示运算结果
DOS功能调用:AH=02H,显示一个字符到屏幕,DX::要显示的内容:CR(回车)的ASCII码0D
MOV DL,0DH
MOV AH,02H
INT 21H
DOS功能调用:AH=02H,显示一个字符到屏幕,DX::要显示的内容:LF(换行)的ASCII码0A。
MOV DL,0AH
MOV AH,02H
INT 21H
DOS功能调用:AH=4CH,退出程序
INT 21H
MOV AX,4C00H
INT 21H
DISPL PROC NEAR ;显示子程序(显示5个字符:BX=5)
DSI: MOV AH,02 AH=02H,显示一个字符到屏幕
MOV DL,[SI+BX-1] ;显示字符串中一字符
INT 21H
DEC BX ;修改偏移量
JNZ DSI BX不等于0,继续显示
RET
DISPL ENDP
SUBA PROC NEAR
保护数据地址
MOV DX,SI 把被减数数据地址送到DX
MOV BP,DI 把减数数据地址送到BP
将ASCII 码表示的数字转化为十六进制表示的数字
MOV BX,05
SU1: SUB BYTE PTR[SI+BX-1],30H
SUB BYTE PTR[DI+BX-1],30H
DEC BX 将5位数据进行转换
JNZ SU1 ;
恢复数据地址
MOV SI,DX
MOV DI,BP
MOV CX,05 ;置循环初始值,包括进位,共5位
CLC ;清进位位
SU2: MOV AL,[SI] 被减数送SI
MOV BL,[DI] 减数送 DI
SBB AL,BL ;带进位相减
AAS ;非组合BCD码的减法调整
MOV [SI],AL ;结果送被减数区
INC SI 指向下一位
INC DI ;指向下一位
是□ 否□
2、你大部分的零用钱用于何处?恢复数据地址
LOOP SU2 ;CX=0? 循环
MOV SI,DX
MOV DI,BP
大学生购买力有限,即决定了要求商品能价廉物美,但更注重的还是在购买过程中对精神文化爱好的追求,满足心理需求。
在大学生对DIY手工艺品价位调查中,发现有46% 的女生认为在十元以下的价位是可以接受;48% 的认为在10-15元;6% 的则认为50-100元能接受。如图1-2所示 ADD BYTE PTR [DI+BX-1],30H
DEC BX
JNZ SU3
4. WWW。google。com。cn。 大学生政策 2004年3月23日 RET
SUBA ENDP
上海市劳动和社会保障局所辖的“促进就业基金”,还专门为大学生创业提供担保,贷款最高上限达到5万元。 CODE ENDS
END START
五、 实验步骤
1、 先进入DOS系统,按照路径进入EDIT编写上述程序1.ASM,并保存;
2、 用MASM编译1.ASM产生1.OBJ,在用LINK链接1.OBJ,最后用DEBUG调 试1.EXE;
3、 运行程序,看结果是否正确。
4、
5、 1996年“碧芝自制饰品店”在迪美购物中心开张,这里地理位置十分优越,交通四通八达,由于位于市中心,汇集了来自各地的游客和时尚人群,不用担心客流量的问题。迪美有300多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼梯阶而上就是人民广场中央,周边4、5条地下通道都交汇于此,从自家店铺门口经过的90%的顾客会因为好奇而进去看一下。实验结果如下图:
Beadwrks公司还组织各国的“芝自制饰品店”定期进行作品交流,体现东方女性聪慧的作品曾在其他国家大受欢迎;同样,自各国作品也曾无数次启发过中国姑娘们的灵感,这里更是创作的源泉。
六、 实验小结
1、 进入DOS系统时一定要注意DOS系统的基本命令。
2、 通过上机实验,进一步了解数据的传送过程。
3、 要多加练习,熟悉在建立、汇编、连接、调试和运行汇编语言的过程。
4、
5、 上述所示的上海经济发展的数据说明:人们收入水平的增加,生活水平的提高,给上海的饰品业带来前所未有的发展空间,为造就了一个消费额巨大的饰品时尚市场提供了经济基础。使大学生对DIY手工艺品的时尚性消费,新潮性消费,体验性消费成为可能。实验过程中可能会遇到程序出错,我们要细心寻找错误并逐一改正。
6、
7、 (二)DIY手工艺品的“热卖化”最终的结果显示,我们的程序是正确的。
展开阅读全文