教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

汇编语言-实验一 顺序与分支程序设计

来源:网络收集 时间:2026-08-31
导读: 顺序与分支程序设计 实验一 顺序与分支程序设计 一 、实验目的 1)掌握顺序程序设计方法。 2)掌握分支程序的结构及分支程序的设计,调试方法。 3) 学习数据传送及算术和逻辑运算指令的用法。 4) 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程

顺序与分支程序设计

实验一 顺序与分支程序设计

一 、实验目的

1)掌握顺序程序设计方法。

2)掌握分支程序的结构及分支程序的设计,调试方法。

3) 学习数据传送及算术和逻辑运算指令的用法。

4) 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。

二、实验内容

1) 有一字变量BUF1是以原码表示的有符号数,要求将其转换为反码和补码,分别存入BUF2和BUF3单元,并在屏幕上显示出来。

2)有两个两字节无符号数分别放在存储单元A、B起始的缓冲器中,求其和,结果放在A起始的缓冲区并在屏幕上显示。相加若有进位不存入存储单元。

3) 在BUF和BUF+1、BUF+2单元分别放有一个无符号字节型数,编程序将其中最大数存入MAX单元,并在屏幕上显示。

4) 要求同上,只是比较的数为有符号数。

5) 将1000H单元开始的10个字节数,采用奇偶校验,将奇数在前偶数在后仍存回原数据区。本实验要求在DEBUG调试状态下进行,包括汇编程序、运行程序、检查结果。

6) 从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y按下列公式计算。

2

Y

XXXX X(X 3) 2X(X 4)(X 5)/2(X 6)2 22

7) 从键盘上接收两个一位十六进制数X和Y,然后再输入一个A-D之间的一个字符,按下列要求计算。

a) 当输入字符为A,则计算X+Y,并以十六进制形式显示出来

b) 当输入字符为B,则计算|X-Y|,并以十六进制形式显示出来 c) 当输入字符为C,则计算X*Y,并以十六进制形式显示出来

顺序与分支程序设计

d) 当输入字符为D,则计算X/Y,并以十六进制形式显示出来

三、源程序

EXAM1-1

DATA SEGMENT

BUF1 DW 9348H

BUF2 DW 4 DUP(0),0AH,0DH,‘$’

BUF3 DW 4 DUP(0),‘$’

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

BEGIN:MOV AX,DATA

MOV DS,AX

MOV AX,BUF1

ADD AX,0

JS NEXT

MOV BUF2,AX

MOV BUF3,AX

JMP EEE

NEXT:AND AX,7FFFH

NOT AX

MOV BUF2,AX

INC AX

MOV BUF3,AX

EEE: MOV CX,0004H

MOV DI,OFFSET BUF2

MOV DX,[DI]

ADD DI,03

BBB:MOV AX,DX

AND AX,000FH

CMP AL,0AH

JB QQQ

ADD AL,07H

QQQ:ADD AL,30H

MOV [DI],AL

DEC DI

PUSH CX

MOV CL,04H

SHR DX,CL

顺序与分支程序设计

POP CX

LOOP BBB

MOV CX,0004H

MOV SI, OFFSET BUF3

MOV DX,[SI]

ADD SI,03H

CCC: MOV AX,DX

AND AX,000FH

CMP AL,0AH

JB DDD

ADD AL,07H

DDD:ADD AL,30H

MOV [SI],AL

DEC SI

PUSH CX

MOV CL,04H

SHR DX, CL

POP CX

LOOP CCC

MOV DX,OFFSET BUF2

MOV AH,09H

INT 21H

MOV DX,OFFSET BUF3

MOV AH,09H

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

顺序与分支程序设计

执行程序EXAM1-1·EXE,屏幕上显示结果:

ECB7

ECB8

EXAM1-2

DATA SEGMENT

A DB 34H,18H,2 DUP(0),’$’

B DB 56H,83H

DATA

CODE

START:

NEXT:

ENDS SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX MOV AL,A MOV BL,B ADD AL,BL MOV AH,A+1 MOV BH, B+1 ADC AH, BH MOV A, AL MOV A+1, AH MOV CX, 0004H MOV DI, OFFSET A MOV DX, [ DI] ADD DI,03 MOV AX, DX AND AX,000FH

顺序与分支程序设计

CMP AL,0AH

JB QQQ

ADD AL, 07H

QQQ: ADD AL, 30H

MOV [DI], AL

DEC DI

PUSH CX

MOV CL, 04

SHR DX, CL

POP CX

LOOP NEXT

MOV DX, OFFSET A

MOV AH, 09H

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

执行程序EXAM1-2·EXE,屏幕上显示结果:

9B8A

EXAM1-3

STACK SEGMENT STACK

DB 1024 DUP(0)

STACK ENDS

DATA SEGMENT

BUF DB 70H,35H,1FH

MAX DB 2 DUP(?),‘$’

DATA ENDS

顺序与分支程序设计

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX, DATA

MOV DS, AX

MOV AL, BUF

CMP AL, BUF+1

JNB LP1

MOV AL, BUF+1

LP1: CMP AL, BUF+2

JAE LP2

MOV AL, BUF+2

LP2: MOV CX, 02H

MOV DI, OFFSET MAX

MOV DL, AL

INC DI

LP3: AND AL, 0FH

CMP AL, 0AH

JB LP4

ADD AL, 07H

LP4: ADD AL, 30H

MOV [DI],AL

DEC DI

PUSH CX

MOV CL, 04

SHR DL, CL

POP CX

MOV AL, DL

顺序与分支程序设计

MOV DX, OFFSET MAX

MOV AH, 09H

INT 21H

MOV AH, 4CH

INT 21H

CODE ENDS

END BEGIN

执行程序EXAM1-3·EXE,屏幕上显示结果:70

EXAM1-4

STACK SEGMENT STACK

DB 1024 DUP(0)

STACK ENDS

DATA SEGMENT

BUF DB 98H,75H,32H

MAX DB 2 DUP(?),‘$’

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN:MOV AX, DATA

MOV DS, AX

MOV AL, BUF

CMP AL, BUF+1

JG LP1

XCHG AL, BUF+1

LP1: CMP AL, BUF+2

JG LP2

XCHG AL, BUF+2

LP2: MOV MAX, AL

MOV CX, 02H

MOV DI, OFFSET MAX

MOV DL, [DI]

INC DI

LP3: MOV AL, DL

AND AL, 0FH

CMP AL, 0AH

顺序与分支程序设计

ADD AL, 07H

LP4: ADD AL, 30H

MOV [DI],AL

DEC DI

PUSH CX

MOV CL, 04

SHR DX, CL

POP CX

LOOP LP3

MOV DX, OFFSET MAX

MOV AH, 09H

INT 21H

MOV …… 此处隐藏:2780字,全部文档内容请下载后查看。喜欢就下载吧 ……

汇编语言-实验一 顺序与分支程序设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/109745.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)