文档库 最新最全的文档下载
当前位置:文档库 › 微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告
微机原理与接口技术实验报告

微机原理与接口技术》

上机报告

学院:机电学院指导教师:胡勇学号:631424210229 姓名:鞠其林

实验一初级程序的编写与调试实验

、实验目的

1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序.

2、深入了解数据在存储器中的存取方法, 及堆栈中数据的压入与弹出

3、掌握各种寻址方法以及简单指令的执行过程.

二、实验内容

1、设堆栈指针SP=2000H,AX=3000H,BX=5000H请, 编一程序段将AX的内容和BX 的内容进行交换. 请用堆栈作为两寄存器交换内容的中间存储单元, 用DEBUG调试程序进行汇编与调试.

程序:

MOV AX,3000

MOV BX,5000

MOV SP,2000

PUSH AX

PUSH BX

POP AX

POP BX

HLT

2、设AX=0002H,编一个程序段将AX的内容乘10, 要求用移位的方法完成程序:

MOV AX,0002 MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX MOV

CL,1 SHL AX,CL HLT

三、心得体会

从这个程序的编辑过程中我感受到了汇编语言的强大,很直观的就可以读懂程

序的含义,但代码比较难记,而且语法严谨,我调试的过程中犯了一点错误,

修改的次数较多,希望我以后可以不再犯同样的错误,也是因为我练的比较的 少,还很生疏,我以后一定多加练习,把汇编学好 实验二 加法及判断程序的编写与调试

、实验目的 1、熟练掌握编写汇编语言源程序的基本方法和基本框架

2、学会编写顺序结构 , 分支结构和循环结构的汇编程序

3、掌握程序中数据的产生与输入输出的方法. 二、实验内容

1、用汇编语言编写一个加法程序:

1325+9839

请用ASCII 码的形式将加数与被加数存放在数据区DATA1和DATA2中, 并将相加结果显示输出.

程序:

DATA SEGMENT

DATA1 DB '5','2','3','1'

DATA2 DB '9','3','8','9'

DATA ENDS

STACK SEGMENT PARA STACK 'STACK'

DB 200 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START: MOV AX,DATA

MOV DS,AX

MOV AX,STACK

MOV SS,AX

LEA SI,DATA1

LEA DI,DATA2

MOV CX,4

MOV AH,0

NEXT:

MOV AL,[SI]

ADC AL,[DI]

ADC AL,AH

MOV AH,0

AAA

ADD AL,30H

MOV [DI],AL

INC DI

INC SI

LOOP NEXT

MOV CX,5

ADD AH,30H

MOV [DI],AH

NEXT1:MOV DL,[DI]

MOV AH,02

INT 21H

DEC DI

LOOP NEXT1

MOV AH,4CH INT 21H CODE ENDS

END START

2、假设有一组数据:5,-4,0,3,100,-51, 请编写一程序, 判断:每个数是否大于

0?等于0?还是小于0?并输出其判断结果, 即

即:

1 当X>0

Y=

0 当X=0

-1 当X<0

程序:

DATA SEGMENT

DATA1 DB 5, -4, 0 ,3,100,-51

STRING1 DB'Y=1','$'

STRING2 DB'Y=0','$'

STRING3 DB'Y=-1','$'

DATA ENDS

STACK SEGMENT PARA STACK 'STACK'

相关文档