- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
。
西电微机原理第二次上机实验报告
学号: 14020710014
姓名:黄新凯
一、实验目的
1. 熟练掌握汇编语言程序设计的方法及上机步骤。
2. 掌握算术运算中,十进制数调整指令的应用。
3. 掌握子程序的设计方法。
4. 掌握 DOS功能的调用方法。
二、实验仪器
586 微机 1 台
三、实验内容
编写求十进制数 与之和的程序,并将和以十进制数的形式送屏幕显示。
编程要求与提示:
[1] 两个加数均以压缩 ( 组合 ) 十进制数形式存放在 ADD1 和 ADD2 为首址的存贮器单元。
[2] 和以压缩十进制数的形式存入 SUM以下单元。
[3] 将和送到屏幕显示部分功能的实现采用子程序的形式。
[4] 实验步骤如下:
a. 用全屏幕编辑软件建立源程序。
b.用 masm.exe 汇编程序对源程序进行汇编,形成目标程序。
c. 用 link.exe 连接程序对目标程序进行连接形成可执行文件。
d. 用 DEBUG对连接通过的可执行程序进行调试。
四、实验内容对应的源程序及流程
源程序如下:
精选资料,欢迎下载
。
STACK SEGMENTSTACK
DB 10H DUP(00)
STACK ENDS
DATA SEGMENT
ADD1DB 12H,67H,85H,32H
ADD2DB21H,73H,65H,43H
SUMDB4H DUP(?)
DATA ENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
MOVAX, DATA
MOVDS, AX
MOVAX, DATA
MOVES, AX
MOVAX,STACK
MOVSS,AX
LEA SI, ADD1[3]
LEA BX, ADD2[3]
LEA DI,SUM[3]
MOVCX,4
精选资料,欢迎下载
。
CLC
L1:
MOVAL,[SI]
ADC AL,[BX]
DAA
MOV[DI],AL
DEC SI
DEC BX
DEC DI
LOOPL1
CALL DISPAL
------------
EXITPROC:
MOVAH,4CH
结束程序
MOVAH,1
INT 21H
------------
DISPAL PROCNEAR
PUSHAX
精选资料,欢迎下载
。
PUSHBX
PUSHCX
PUSHDX
PUSHDI
LEA DI,SUM
MOVCX,4
DISPAL2:
MOVAL,[DI]
SHR AL,1
SHR AL,1
SHR AL,1
SHR AL,1
MOVAH,2
MOVDL,AL
ADD DL,30H
INT 21H
MOVAL,[DI]
AND AL,0FH
MOVAH,2
MOVDL,AL
ADD DL,30H
INT 21H
文档评论(0)