实验三 可输入的整数加法器

更新时间:2023-08-25 15:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

可输入的整数加法器

仲恺农业工程学院实验报告

专业班组课

实验二 正整数加法器

一、 实验原理:

在数据段上摆放两个16位长度的十进制数,OP 1放265,OP 2放520(存放的数据为任意正数),定义一个RESULT数组,长度为10个字节的输出缓冲区。如下图:

把这两个数相加,结果以ASCII码方式把每一位(个位、十位、百位……)存放在RESULT数组上。并在屏幕上输出结果。

二、 实验目的:

掌握汇编语言关于循环的程序设计方法。

三、 实验器材:

Windous 7系统下的Masm 2009汇编软件

四、 实验步骤: 1、 先画框图(如下)

可输入的整数加法器

2、 编写程序:

DATAS SEGMENT OP1 DW 0109H OP2 DW 0208H

RESULT DB 10 DUP(?) DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码 STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX LEA SI,OP1 MOV AX,[SI] LEA SI,OP2 MOV BX,[SI] ADD AX,BX MOV BX,0 MOV CL,10 CLC

LEA SI,RESULT LP:

DIV CL

ADD AH,30H MOV [SI+BX],AH INC BX CBW

CMP AL,0 JNZ LP NEXT:

MOV DL,[SI+BX] MOV AH, 2 INT 21H DEC BX CMP BX,0 JNZ NEXT

MOV DL,[SI+BX]

可输入的整数加法器

MOV AH, 2 INT 21H

;此处输入代码段代码 MOV AH,4CH INT 21H CODES ENDS

END START

3、 显示结果

五、 实验总结:

这次实验能够较为熟练的运用的Masm编写汇编软件,在编写中以前容易出现这样那样的问题大部分都没有出现,我本次实验没有采用之前的高四位、低四位分离方法,而是采用除十的方法进行分离,开始时弄了半天都没弄会,后来学会了分离8位的,十六位还是不会。最后,在宿舍琢磨了很久才琢磨出来。很多东西看上去很简单、觉得会了,应用的时候什么都不会,多动手。

本文来源:https://www.bwwdw.com/article/lzei.html

Top