实验一 熟悉实验环境及简单程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一熟悉实验环境及简单程序设计
一.实验目的
1. 熟悉实验环境。
2.掌握基本DEBUG命令。
3.熟练掌握汇编语言编写、调试和运行的基本方法。
4.掌握基本数据的存放方式和寻址方式。
二.实验仪器
PC机,wmd86
三.实验内容及程序
1.编写程序,利用移位相加指令实现,将AL寄存器中的无符号数乘以5。
思考题:若(AL)*5的结果较大,超过了一个字节的表示范围,编程时如何处理?请编程调试。
(1)数较小
CODEXUE SEGMENT
ASSUME CS:CODEXUE
XUES:MOV AL,1
MOV BL,AL
MOV CL,2
SAL AL,CL
ADD AL,BL
MOV AH,4CH
INT 21H
CODEXUE ENDS
END XUES
(2)数较大
CODEXUE SEGMENT
ASSUME CS:CODEXUE
XUES:MOV AL,0EFH
MOV BL,AL
MOV AH,0
SAL AL,1
RCL AH,1
SAL AL,1
RCL AH,1
ADD AX,BX
MOV AH,4CH
INT 21H
CODEXUE ENDS
END XUES
2.编程实现将DX:AX(34809EA3H)中的32位二进制数乘2:
(1)使用移位指令实现;
(2)使用加法指令实现。
(3)使用移位指令实现
CODEXUE SEGMENT
ASSUME CS:CODEXUE
XUES:MOV AX,9EA3H
MOV DX,3480H
SAL AX,1
RCL DX,1
MOV AH,4CH
INT 21H
CODEXUE ENDS
END XUES
(4)使用加法指令实现
CODEXUE SEGMENT
ASSUME CS:CODEXUE
XUES:MOV AX,9EA3H
MOV DX,3480H
ADD AX,9EA3H
ADD DX,3481H
MOV AH,4CH
INT 21H
CODEXUE ENDS
END XUES
3.给出一组数据:
DATABUF DW 9051H,000BH,4567H,7BA3H,
0FFFFH,0E236H,3398H,7145H DATA V AL DW ?
编程分别实现:
(1) 将以上数据视为无符号数找出其中最大值存入DATA V AL。
(2) 将以上数据视为带符号数找出其中最大值存入DATA V AL。思考:若要分别求出以上两种情况的最小值,程序将要做何改动?
(5)无符号数最大值
HAND SEGMENT
UN1 DW 9051H,000BH,4567H,7BA3H,0FFFFH,0E236H,3398H,7145H
UN2 DW ?
HAND ENDS
CODEXUE SEGMENT
ASSUME CS:CODEXUE,DS:HAND
XUES:MOV AX,HAND
MOV DS,AX
LEA SI,UN1
LEA DI,UN2
MOV AX,[SI]
INC SI
INC SI
MOV CX,7
SHER:CMP AX,[SI]
JAE RRYY
MOV AX,[SI]
RRYY:INC SI
INC SI
DEC CX
JNZ SHER
MOV [DI],AX
MOV AH,4CH
INT 21H
CODEXUE ENDS
END XUES
(6)有符号数最大值
HAND SEGMENT
UN1DW 9051H,000BH,4567H,7BA3H,0FFFFH,0E236H,3398H,7145H
UN2 DW ?
HAND ENDS
CODEXUE SEGMENT
ASSUME CS:CODEXUE,DS:HAND
XUES:MOV AX,HAND
MOV DS,AX
LEA SI,UN1
LEA DI,UN2
MOV AX,[SI]
INC SI
INC SI
MOV CX,7
SHER:CMP AX,[SI]
JGE RRYY
MOV AX,[SI]
RRYY:INC SI
INC SI
DEC CX
JNZ SHER
MOV [DI],AX
MOV AH,4CH
INT 21H
CODEXUE ENDS
END XUES
(7)无符号数最小值
HAND SEGMENT
UN1 DW 9051H,000BH,4567H,7BA3H,0FFFFH,0E236H,3398H,7145H
UN2 DW ?
HAND ENDS
CODEXUE SEGMENT
ASSUME CS:CODEXUE,DS:HAND
XUES:MOV AX,HAND
MOV DS,AX
LEA SI,UN1