微机原理实验报告西安交通大学(5)

2019-05-24 09:27

第三题

编写一个通用多字节数相加的宏定义,并调用它实现多字节数的加法,注意观察汇编时宏调用被展开的情况。

a) 实验原理

多字节数的加法就是一个迭代过程。运用调用多字节相加的宏定义,可以很简单的实现加法。宏定义中运用间接寻址,用进位标志记录每字节的进位,并在下一字节的加法中加上进位标志,以达到多字节数加法的运算效果。

b) 程序框图

c) 程序源代码

N EQU 4;定义多字节的字节数 ADDMB MACRO M1,M2,M MOV SI,OFFSET M1

MOV DI,OFFSET M2;读取数字的首地址 MOV CX,M CLC L1:

MOV AL,[DI]

ADC [SI],AL;当前位的两个数相加,存在M1的地址中 INC SI

INC DI;两个数的地址均自加1,取下一个数进行运算 LOOP L1 ENDM

DATAS SEGMENT

MB1 DB N DUP(01H) MB2 DB N DUP(01H)

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS START:

MOV AX,DATAS MOV DS,AX

ADDMB MB1,MB2,N;引用宏定义计算多直接数 MOV AH,4CH INT 21H CODES ENDS END START

运行结果:

宏展开

第四题

编写程序:屏幕显示“Password:”,随后从键盘读入字符串,并比较这个字符串与程序内部设定的字符串。若二者相同则显示“Hello!”,否则显示“Sorry!”,注意:要求键盘输入字符不能直接回显在显示器上,而要用*号代替。

a) 实验原理

该程序运用了中断程序INT完成了密码程序的输入与输出,首先把首次输入的密码和第二次确认的密码分别存在PASSWORD1与PASSWORD2 中,并用A与B记录PASSWORD1与PASSWORD2的长度,之后用COMPARE判断两次输入是否相同,并用A与B中比较小的与C比较判断是否结束循环,按照对照结果选择输出。

b) 程序框图

不带回显输入字符,保存为password2 显示*号 不带回显输入字符,保存为password1 显示*号 开始 显示” Please input the password:” N 回车? Y 显示” Please confirm the password:”

N 回车?

N Y 比较两次输入长度并取较小长度 小于较小长度 Y Y 比较? N 显示”Sorry!” 显示”Hello!”


微机原理实验报告西安交通大学(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:艾美生物科技电子商务策划书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: