微机原理实验参考答案(航大)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理》实验参考答案
实验1 汇编基本指令及顺序程序设计实验
实验2 分支与DOS中断功能调用程序设计实验
实验3 循环结构程序设计实验
实验4 存储器扩展实验
实验5 8259应用编程实验
实验1汇编基本指令及顺序程序设计实验
一、实验目的
1、掌握汇编语言的开发环境和上机过程;
2、掌握DEBUG命令;
3、掌握顺序程序设计方法;
4、掌握寻址方式;
5、理解和掌握汇编基本指令的功能。
二、实验内容
1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。要求:用3种方法实现。
答:方法一CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,3000H
MOV BX,5000H
MOV CX,AX
MOV AX,BX
MOV BX,CX
CODE ENDS
END START
方法二CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,3000H
MOV BX,5000H
XCHG AX,BX
CODE ENDS
END START
方法三CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,3000H
MOV BX,5000H
PUSH AX
PUSH BX
POP AX
POP BX
CODE ENDS
END START
2、分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。
MOV AX,BX 寄存器寻址,将BX内容送AX
MOV AX,[BX] 寄存器间接寻址,将DS:BX内存单元内容送AX
MOV AX,10[BX] 寄存器相对寻址,将DS:BX+10内存单元内容送AX 在DEBUG调试模式,用A命令直接编辑相应指令并用T命令单步执行,执行后查询相应寄存器的值并用D命令查内存。
3、已知有如下程序段:
MOV AX,1234H
MOV CL,4
在以上程序段的基础上,分别执行以下指令:
ROL AX,CL AX=2341H
ROR AX,CL AX=4123H
SHL AX,CL AX=2340H
SHR AX,CL AX=0123H
SAR AX,CL AX=0123H
RCL AX,CL 带进位标志位的循环左移
RCR AX,CL 带进位标志的循环右移
4、设有以下部分程序段:
TABLE DW 10H,20H,30H,40H,50H
ENTRY DW 3
┇
LEA BX,TABLE
ADD BX,ENTRY
MOV AX,[BX]
┇
要求:(1)将以上程序段补充成为一个完整的汇编程序。
答:DATA SEGMENT
TABLE DW 10H,20H,30H,40H,50H
ENTRY DW 3
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
LEA BX,TABLE
ADD BX,ENTRY
MOV AX,[BX]
MOV AH,4CH
INT 21H
CODE ENDS
END START
(2)AX=3000H
实验2 分支与DOS中断功能调用程序设计实验
一、实验目的
1、掌握条件转移、无条件转移指令的功能及应用;
2、掌握分支程序的设计、编写、调试和运行方法。
3、掌握1号、2号和9号功能调用及其程序设计方法。
二、实验内容
1、编程求|X-Y|,结果放在RESULT单元中。X和Y都为16位操作数。
DA TA SEGMENT
X DW 1234H
Y DW 5678H
RESULT DW ?
DA TA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
MOV AX,X
SUB AX,Y
JAE NEXT;设X,Y是不带符号数,X>=Y转移
MOV AX,Y
SUB AX,X
NEXT: MOV RESYLT,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START
2、编写一程序,实现从键盘输入一个字符,判断其是不是大写字母,如果是则请输出这个大写字母,如果不是,请输出“这不是一个大写字母”的英文信息(要求:能连续输入)。
DATA SEGMENT
MS1 DB ‘IT IS A BIG CAPITAL$’
MS2 DB ‘IT IS NOT A BIG CAPITAL$’
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA
START:MOV AX,DATA
MOV DS,AX
NEXT: MOV DX,OFFSET MS2
MOV AH,1
INT 21H; 1号功能调用
CMP AL,0DH
JZ EXIT
CMP AL, ‘A’
JB NO
CMP AL, ‘Z’
JA NO
MOV DX,OFFSET MS1
NO: MOV AH,9
INT 21H
IMP NEXT
EXIT:MOV AH,4CH
INT 21H
CODE ENDS
END START
3、请编写一程序,实现将大写字母字符串转换成小写字母字符串。设字符串的首地址为STRING,字符串的长度在N单元内。