东北大学计算机硬件基础实验报告

时间:2024.4.1

东北大学 计算机硬件技术基础实验报告

专业班级: 姓名: 学号: 实验题目:循环程序设计 日期:

实验目的:

(1)加深对循环设计的理解;

(2)掌握循环程序的设计方法;

(3)熟练掌握DEBUG的常用命令,学会DEBUG调试程序。

实验内容:

已知以BUF为首地址的字存储区中存放着8个有符号二进制数,试编写程序将其中大于等于0的数依次送入BUF1为首地址的字存储区中,小于0的数依次送入以BUF2为首地址的字存储区中。同时将大于等于0数的个数送入A字节变量,将小于0 的数的个数送入B字节变量。

实验步骤:

(1)输入源程序如下:

DATA SEGMENT

BUF DW 23,123,-12,-210,45,0,90,-453

BUF1 DW 8 DUP(0)

BUF2 DW 8 DUP(0)

A DW 0

B DW 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA BX,BUF

LEA SI,BUF1

LEA DI,BUF2

MOV A,0

MOV B,0

MOV CX,8

L0: MOV AX,[BX]

CMP AX,0

JGE L1

MOV [DI],AX

ADD DI,2

INC B

JMP NEXT

L1: MOV [SI],AX

ADD SI,2

INC A

NEXT: ADD BX,2

LOOP L0

MOV AH,4CH

INT 21H

CODE ENDS

END START

(2)保存源文件,执行masm汇编语言程序,生成.obj目标文件,结果无错误。

(3)执行link连接程序,生成.exe可执行文件,结果无错误。

(4)执行debug调试程序,执行T参数单步执行程序,在以BUF1为首地址的存储单元中得到结果17H,7BH,2DH,00H,5AH.在以BUF2为首地址的存储单元中得到结果0FFF4H,0FF2EH,0FE3BH. 在以A为首地址的存储单元中得到结果5h,在以B为首地址的存储单元中得到结果3H.

思考题:

本程序属于循环次数已知的程序,使用CX存储器存放计数器,使用LOOP指令完成循环。但是在有些程序下,是不可以使用LOOP指令的,比如循环中要用到移位指令时需要占用CL寄存器。我们仍可以两条指令完成完全相同的功能,请问是那两条指令?

答:先 MOV DX,8

然后 DEC DX

JNE L0

扩展题:统计以BUF为首地址开始的字节数据块中的正数的个数,将统计结果放至RLT单元。

程序如下:

DATA SEGMENT

BUF DW 23,123,-12,-210,45,0,90,-453

RLT DW 8 DUP(0)

A DW 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA BX,BUF

LEA SI,RLT

MOV A,0

MOV CX,8

L0: MOV AX,[BX]

CMP AX,0

JG L1

JNG NEXT

L1: MOV [SI],AX

ADD SI,2

INC A

NEXT: ADD BX,2

LOOP L0

MOV AH,4CH

INT 21H

CODE ENDS

END START

执行debug执行程序,执行D参数命令,在以RLT为首地址的存储单元中得到结果17h,7Bh,2Dh,5Ah,结果正确。


第二篇:东北大学计算机硬件实验二


东 北 大 学

计算机硬件技术基础实验报告

专业班级:          姓名:         学号:    

实验题目:               分支程序设计                   日期:  2013.10.21 

实验内容:

输入数据为x、y,结果数据为Z。若x、y都大于0,z赋值1;若x、y都小于0,z赋值-1;若x、y异号,z赋值0。(x、y的值均在-128~+127之间)

实验步骤:

1、输入源程序如下:

DATA      SEGMENT

X            DB          23

Y            DB          -10

Z            DB          0

DATA     ENDS

CODE     SEGMENT

              ASSUME CS:CODE,DS:DATA

START:   MOV      AX,DATA

              MOV      DS,AX

CMP       X,0                ;x与0进行比较

JS           L1                 ;x〈0转L1

CMP       Y,0

JL           L2                 ;y〈0转L2

MOV      Z,1                ;x〉=0,y〉=0则1—〉Z,无条件转EXIT

JMP        EXIT

L1:          CMP       Y,0                 ;y〉=0转L2

JGE        L2

MOV      Z,-1               ;x〈0,y〈0则-1—〉Z,无条件转EXIT

JMP        EXIT

L2:          MOV      Z,0                ;x、y异号时则0—〉Z

EXIT:      MOV      AH,0

INT        16H

CODE     ENDS

              END       START

RET

2. 保存源文件,执行emu8086汇编源程序,点击compile生成.obj目标文件,结果无错误。

3. 执行run连接程序,生成exe可执行文件,结果无错误。

4. 点击vars,得到结果。

实验结果

1. 输入程序,得到如下界面:

2.点击compile,保存程序:

3.点击保存,点击run:

4.运行程序:

5.点击vars,生成结果:

思考题

     本程序中判定符号用的是CMP指令,而用逻辑操作指令也可以。比如,可以用AND指令,使其进行自身与操作,反应到SF标志位。还可以用TEST指令直接测试最高位,并将结果反应到ZF标志位,然后根据ZF标志判断。试用TEST指令编之。

答:

DATA      SEGMENT

X            DB          23

Y            DB          -10

Z            DB          0

DATA     ENDS

CODE     SEGMENT

ASSUME CS:CODE,DS:DATA

START:   MOV      AX,DATA

            MOV      DS,AX

MOV       AL,X

AND       AL,AL            ;x与0进行比较

JS           L1                 ;x〈0转L1

MOV          AH,Y

AND   AH,AH

JS          L2                 ;y〈0转L2

MOV      Z,1                ;x〉=0,y〉=0则1—〉Z,无条件转EXIT

JMP        EXIT

L1:          AND     AH,AH                ;y〉=0转L2

JNS       L2

MOV      Z,-1               ;x〈0,y〈0则-1—〉Z,无条件转EXIT

JMP        EXIT

L2:          MOV      Z,0               ;x、y异号时则0—〉Z

MOV       BL,Z

EXIT:      MOV      AH,0

INT        16H

CODE     ENDS

             END       START

RET

执行emu8086调试程序,在Z对应的存储单元中得到计算结果00H,结果正确。

更多相关推荐:
大学计算机基础实验报告

大学计算机基础课程实验报告手册学院年级专业姓名学号2220xx319xx20xx任课教师上机地点以上由学生填写实验教师签字西南大学计算机与信息科学学院计算机基础教育系年月日1一实验说明本课程实验分为一般性实验验...

大学计算机基础实验报告

大学计算机基础教学班级课程教师实验报告学号姓名实验辅导教师西南交通大学20xx年9月大学计算机基础实验报告实验一微机基本操作与上网冲浪教学班级学号姓名实验日期实验地点机房指导教师签名实验成绩一实验目的1掌握计算...

计算机基础训练实验报告-Word基本操作

电子信息工程学系实验报告适用于计算机课程课程名称计算机基础训练实验项目名称Word基本操作实验时间班级姓名学号实验目的1掌握文档页面字体段落格式的设置2掌握在文档中插入图片图形表格艺术字等各种对象及组合的方法3...

大学计算机基础实验报告

大学计算机基础课程实验报告第二章中文操作系统WindowsXP思考题1将一个文件删除掉然后清空回收站该文件还可以恢复到原来位置吗答一般是很难恢复的依靠第三方软件如EasyRecovery在原来文件所在的硬盘扇区...

大学计算机基础实验报告参考答案1

习题及实验一第一部分习题一简答题略第二部分选择题答案p31C2A3B4CC5BB6A7ABB8BD9D10C注71应为1010011001习题及实验二WindowsXP第一部分习题一简答题1简述Windows资...

深圳大学计算机基础实验报告

深圳大学实验报告班实验时间实验报告提交时间教务部制深圳大学学生实验报告用纸2教师批改学生实验报告时间应在学生提交实验报告时间后10日内

大学计算机基础实验报告

大学计算机基础实验报告教学班级学号姓名课程教师实验辅导教师西南交通大学软件学院20xx年9月大学计算机基础实验报告预备实验微机基本操作教学班级学号姓名实验日期实验地点机房指导教师签名实验成绩一实验目的1掌握计算...

大学计算机基础实验报告1

浙江越秀外国语学院实验报告用纸

大学计算机基础教程excel实验报告

实验报告课程名称计算机应用基础实验项目名称Excel综合实验班级与班级代码国际金融2班实验室名称或课室专业国际金融任课教师学号11250505219姓名李铭鑫实验日期广东商学院教务处制姓名李铭鑫实验报告成绩评语...

大学计算机基础实验报告(Word20xx基本操作与编辑)

大学计算机基础实验报告(Word2003基本操作与编辑),内容附图。

《大学计算机基础》 实验报告书答案

大学计算机基础实验报告书答案习题及实验一第一部分习题一简答题1计算机的发展阶段四个发展阶段第一个发展阶段19xx19xx年电子管计算机的时代19xx年第一台电子计算机问世美国宾西法尼亚大学它由冯诺依曼设计的占地...

大学计算机基础实验报告

大学计算机基础课程编号B0900650实验报告20xx20xx学年第1学期实验成绩学号1403090117姓名詹童专业班级金融工程1401课堂号B0900650任课教师徐伟完成日期20xx121990

大学计算机基础实验报告(48篇)