实验一 熟悉实验环境及简单程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档