内蒙古工业大学微机原理实验指导答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微型计算机原理与应用实验指导书实验
程序报告
学院:信息工程学院班级:
电子 11-1 班姓名:LXY
学号:2011202030
实验一编辑、汇编、
连接、调试程序的使用
程序设计A
设计要求
(1)将FFFFH 送到AX,SI,DI,BP,DS,ES 寄存器
(2)编程(利用DEBUG 调试程序,每执行一次T 命令后,记录相关寄存器内容,并判断是否正确。)程序如下:
CODE SEGMENT
ASSUME CS:CODE
START PROC FAR
STT:PUSH DS
SUB AX,AX
PUSH AX
;==============================
MOV AX,0FFFFH
MOV SI,AX
MOV DI,AX
MOV BP,AX
MOV DS,AX
MOV ES,AX
;==============================
RET
START ENDP
CODE ENDS
END STT
B、设计要求
(1)将1,2,3,4,5 分别送到数据段偏移地址为1000H,1001H,1002H,1003H,1004H,单元中。
(2)编程
DATA SEGMENT
ORG 1000H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE
START PROC FAR
STT:PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
;==============================
MOV AL,1
MOV DS:[1000H],AL
MOV AL,2
MOV DS:[1001H],AL
MOV AL,3
MOV DS:[1002H],AL
MOV AL,4
MOV DS:[1003H],AL
MOV AL,5
MOV DS:[1004H],AL
RET
START ENDP
CODE ENDS
END STT
实验二、加法程序设计
设计内容 A、设计要求
(1)在数据段偏移地址1000H 处开始,连续存放有3 字节的数据(高位对应高地址,低位对应低地址),1003H 处开始连续存放有两字节的数据(高对高,低
对低),求这两数据之和,并将结果放在流量数据之后。(eg:12 34 56H+78
9AH=12
AC F0H)
(2)编程
DATA SEGMENT
ORG 1000H
H1 DB 56H,34H,12H,9AH,78H
H2 DB 3DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
STT:PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA MOV
DS,AX
;===========================
MOV SI,1000H
MOV DI,1003H
MOV BX,1005H
MOV CX,2
CLC
LP:MOV AL,[SI]
MOV DL,[DI[
ADC AL,DL
MOV [BX],AL
INC SI
INC DI
INC BX
LOOP LP
MOV AL,[SI]
ADC AL,00
MOV [BX],AL
RET
CODE ENDP
START ENDS
END STT
C、设计要求
(1)用串传送指令把A程序的数据块偏移地址1000H 开始的区域传递到同一数据段的偏移地址为1003H 开始的区域。用DEBUG 查看运行结果。(2)编程
DATA SEGMENT ORG
1000H
H1 DB 56H,34H,12H,9AH,78H
ORG 1003H
H2 DB 56H,34H,12H,9AH,78H,0F0H,0ACH,12H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
STT:PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX MOV
ES,AX
;============================
LP: MOV SI,1000H MOV
DI,1003H
MOVSB MOV
CX,8
INC SI
INC DI
LOOP LP
RET
START ENDP
CODE ENDS
END STT
实验三、查表程序设计
A、设计要求
(1)在数据段偏移地址1000H 处,存放0—9 的平方值,任给一个自然数M 在1010H 单元中(0≤M≤9),查表求出M 的平方值,并将结果放入1011 单元中。
(2)编程
DATA SEGMENT
ORG 1000H
TAB DB 00,01,04,09,16,25,36,49,64,81
ORG 1010H M DB 4,?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
STT: PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET TAB
MOV AL,M
XLAT
MOV DS:[1011H],AL
RET
START ENDP
CODE ENDS
END STT
B、设计要求(1)编程实现:将BCD 数00H—99H 顺序存放到当前数据1000H 开始的内存单元中,用DEBUG 查看运行结果。(2)编程
DATA SEGMENT
ORG 1000H
H DB 100 DUP(?)