微机软件实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

系班级学号姓名

成绩

实验一内存操作数及寻址方法

1、(1)程序说明:设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用字处理程序编辑程序。

(2)调试说明:对SP的地址分配不到2000,计算机自动分配为0000,此时我就人为的把堆栈的首地址定义为2000。

(3)写出源程序清单和执行结果:

DATA SEGMENT

DB ?

DATA ENDS

STACK SEGMENT AT 2000H

DB 5 DUP(?)

STACK ENDS

CODE SEGMENT

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

START :

MOV DX,DATA

MOV DS,AX

MOV AX,STACK

MOV SP,AX

MOV AX,3000H

MOV BX,5000H

PUSH AX

PUSH BX

POP AX

POP BX

MOV AH,4CH

INT 21H

CODE ENDS

END START

2、(1)程序说明:用masm和link 对以下程序进行汇编和连接,调试程序在DEBUG调试程序状态下进行。用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。

(2)程序清单:

DATA SEGMENT

ORG 0300H

A D

B 12H,23H,34H,45H,56H,67H,78H,89H,9AH

DATA ENDS

PROGNAM SEGMENT

ASSUME CS:PROGNAM,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AX,BX

MOV AX,0300H

MOV AX,[0300H]

MOV AX,[BX]

MOV SI,2

MOV AX,0001[BX]

MOV AX,[BX][SI]

MOV AX,0001[BX][SI]

MOV AH,4CH

INT 21H

PROGNAM ENDS

END START

(3)执行结果:

当数据传送完毕时,AX=4C00H。

实验二算术运算指令

1、程序说明:编写三个完整的汇编语言源程序,完成以下计算。其中X、Y、Z、

R、W均为存放16位带符号数单元的地址。

(1)Z←W+(Z-X)

(2)Z←W-(X+6)-(R+9)

(3)Z←(W*X)/(Y+6),R←余数

2、调试说明:当编译完成后,计算机未能生成.OBJ的文件,经检查错误发生在ADD使用上,我把两个寄存器操作数同时用在ADD语句里,结果出错了。把ADD语句稍作写该后,程序运行正确。

3、写出源程序清单和执行结果

(1)DATA SEGMENT

X DW ?

Z DW ?

W DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV AX,X

SBB Z, AX

MOV W,AX

ADD Z,AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

由于X、Z、W的值未明确,计算机默认为0,所以Z=0000H。

(2)DATA SEGMENT

X DW 01H

Z DW ?

W DW 12H

R DW 01H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AX,X

ADD AX,6

SBB W,AX

MOV BX,R

ADD BX,9

SBB W,BX

MOV AX,W

MOV Z,AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

结果:Z=0001H

(3)DATA SEGMENT

X DW 01H

W DW 12H

Y DW 01H

R DW ?

Z DW ?

DATA ENDS

CODE SEGMENT

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

MOV DS,AX

MOV AX,X

IMUL W

MOV BX,Y

ADD BX,6

IDIV BX

MOV R,DX

MOV Z,AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

结果:Z=0002H,R=0004H。

相关文档
最新文档