内蒙古工业大学微机原理实验指导答案.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
被嗅材尊机原理与旅用实验指导布实验
程禹够告
沽说:信息工程修陇班披,
电8 77-7班g生名:Eg
样号,2011202030
实验一编辑、汇编、
连接、调试程序的使用
程序设计A
设计要求
(1)将FFFFH 送到AX, SI, DI, BP, DS, ES 寄存器
(2)编程(利用DEBUG调试程序,每执行一次T命令后,记录相关寄存器
内容,并判断是否正确。)程序如下:
CODE SEGMENT
ASSUME CS:CODE
START PROC FAR
STTPUSH 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
STARTENDP
CODE ENDS
END STT
B、设计要求
⑴将1,2,3,4,5分别送到数据段偏移地址为1000H, 1001H, 1002H, 1003H, 1004H,单元中。
⑵编程
DATA SEGMENT
ORG 1000H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE
START PROC FAR
STTPUSH 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
STARTENDP
CODE ENDS
END STT
实验二、加法程序设计
设计内容A、设计要求
(1)在数据段偏移地址1000H处开始,连续存放有3字节的数据(高位对应高地
址,低位对应低地址),1003H处开始连续存放有两字节的数据(高对高,低
对低),求这两数据之和,并将结果放在流量数据之后。(eg: 1234 56H+78 9AH=12 AC FOH)
(2)编程
DATA SEGMENT
ORG 1000H
H1 DB56H J34H,12H,9AH,78H
H2 DB 3DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
STTPUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA MOV
DS,AX
MOVSIJOOOH
MOV DI,1003H
MOV BX,1005H
MOV CX,2
CLC
LP:MOVAL,[SI]
MOV DL,[DI[
ADCAL,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 J9AH,78H,0F0H,0ACH J12H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
STTPUSH DS
SUB AX,AX
PUSH AX
MOV AX, DATA
MOV DS,AX MOV
ES,AX
LP: MOVSIJOOOH MOV
DIJ003H
MOVSB MOV
CX,8
INC SI
INC DI
LOOP LP
RET
STARTENDP
CODE ENDS
END STT
实验三、查表程序设计
A、设计要求
(1)在数据段偏移地址1000H处,存放0—9的平方值,任给一个自然数M 在1010H单元中(0WMW9),查表求出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 DS3AX
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(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
STT: PUSH DS SUB