东华大学微机实验报告答案(软件)(3)

2020-02-21 12:49

实验五 系统功能调用

1、程序说明:试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

2、调试说明:在DEBUG显示字符窜时,曾显示乱码,未能按预期显示,经检查发现在编译字符窜时出现错误,因为调用21H中断输出一串字符要求用'$'结尾,我没用上‘$’。还有,键盘输入字符是被存放在AX内,当要多次使用AX时应该把输入内容另存一地址 3、源程序清单和执行结果:

源程序:

DATA SEGMENT DB ? DATA ENDS

STACK SEGMENT STACK DB 5 DUP(0) STACK ENDS CODE SEGMENT

ASSUME DS:DATA, SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX

MOV AH,01H ;从输入端读取字符 INT 21H

SUB AL,20H ;小写转换成大写 MOV DL,AL

MOV AH,02H ;输出字符到终端 INT 21H

MOV AH,4CH INT 21H CODE ENDS END START

运行结果:

实验六 分支程序设计

1、实验说明:假设有一组数据:5,-4,0,3,100,-51,请编一程序,判断:每个数大于0,等于0,还是小于0;并输出其判断结果。 即:

1 当x>0 y= 0 当x=0 -1 当x<0

2、调试说明:在最初的程序中,我使用了MOV BX,XX等语句,后来发现像这样的语句在实际使用中有些累赘,于是我便做了修改,简化了汇编语言。其次,在调试中,发现符号无法显示的问题,于是采用两次显示符号的方法,较理想的解决了负号问题。 3、程序框图: 开始

DS 段地址

SI 数据串偏址

CX 数据串长度

取数据并与 0 比较大小 小于

大于等于 等于 是否为0

显示1

YES INC SI 循环判断

NO

返回DOS

显示-1 显示0 4、源程序清单和执行结果:

源程序:

DATA SEGMENT

XX DB 05H,0FCH,00H,03H,64H,0CDH Y1 DB 'Y=1',0DH,0AH,'$' Y2 DB 'Y=0',0DH,0AH,'$' Y3 DB 'Y=-1',0DH,0AH,'$' DATA ENDS

STACK SEGMENT STACK DB 10 DUP(0) STACK ENDS

CODE SEGMENT

ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA SI,XX MOV AX,0 MOV CX,6 L1: MOV AL,[SI]

CMP AL,0 ;与0比较 JG BIGER JE EQUAL

MOV DX,OFFSET Y3 MOV AH,09H INT 21H

JMP OUTPUT

BIGER: MOV DX,OFFSET Y1 MOV AH,09H INT 21H

JMP OUTPUT

EQUAL: MOV DX,OFFSET Y2 MOV AH,09H INT 21H

OUTPUT:INC SI LOOP L1 MOV AH,4CH INT 21H CODE ENDS

END START

运行结果:

思考题:

程序中的原始数据是以怎样的形式存放在数据区中的?请用DEBUG调试程序观察并分析。

以补码形式存放


东华大学微机实验报告答案(软件)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2022年中国粉丝经济市场发展态势及未来前景分析报告

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

马上注册会员

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