云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 微机实验四

微机实验四

  • 62 次阅读
  • 3 次下载
  • 2025/6/16 21:21:18

班级: 学号: 姓名: 实验一 汇编语言程序上机过程

实验四:循环结构程序设计

一、实验目的

1.熟练掌握汇编语言程序调试的方法。 2.掌握循环结构程序的设计与调试方法。 二、实验内容

1.将BUF起始的字节单元中最大的数(带符号数)放MAX单元中。 (1)程序 法一:

DATA SEGMENT

BUF DB 56H,38H,62H,24H,0FDH CN EQU $-BUF MAX DB ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,CN-1 MOV SI,0

MOV AL,BUF[SI] AGAIN: CMP AL,BUF[SI+1] INC SI JNC NEXT

MOV AL,BUF[SI] NEXT: LOOP AGAIN MOV MAX,AL MOV AH,4CH INT 21H CODE ENDS

END START

法二:

DATA SEGMENT

BUF DB 56H,28H,62H,0FDH CNT EQU $-BUF MAX DB ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX MOV CX,CNT-1 MOV BX,OFFSET BUF

班级: 学号: 姓名: 实验一 汇编语言程序上机过程

MOV AL,[BX] INC BX

CT: CMP AL,[BX] JGE NEXT MOV AL,[BX] NEXT: INC BX LOOP CT MOV MAX,AL MOV AH,4CH INT 21H CODE ENDS

END START

(2)调试过程(主要问题与解决方法) 法一是自己编写的代码,不过因为刚开始在 AGAIN: CMP AL,BUF[SI+1] INC SI JNC NEXT

这代码中错误的把SI自增放在了跳转的后面,结果得出的结果都是第一个值。 法二是根据老师的PPT上的类似题,看着简洁多了。

(3)实验结果(截屏) 变量名 地址 段地址:偏移地址 数据组1 数据组2 BUF 1443:0000 -1443:0004 56H,28H,62H,FDH 35H,87H,13H,67H MAX 1443:0005 62H 67H 因为FDH和87H都是负数,所以62H,67H是最大值

2.从键盘输入一个字符,若为?0?~?9?的字符则显示“digital”, 若为?A?~?Z?的字符则显示“CHARACTER”,否则显示“other”。(可连续操作,按ESC键退出) (1)程序

DATA SEGMENT RES1 DB 'digital$'

RES2 DB 'CHARACTER$' RES3 DB 'other$' DATA ENDS

班级: 学号: 姓名: 实验一 汇编语言程序上机过程

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX AGAIN: MOV AH,01H INT 21H CMP AL,30H JC NEXT CMP AL,3AH JC NEXT1 CMP AL,41H JC NEXT CMP AL,5BH JC NEXT2 JMP NEXT

NEXT: LEA DX,RES3 JMP SHOW

NEXT1: LEA DX,RES1 JMP SHOW

NEXT2: LEA DX,RES2 JMP SHOW

SHOW: MOV AH,09H MOV AL,0AH INT 21H CMP AL,1BH JNE AGAIN

MOV AH,4CH INT 21H CODE ENDS

END START

(2)调试过程(主要问题与解决方法) 程序中我已经设置了输入循环,即在每次一个字符判断完输出对应的字符串后,再进行一次//判断看是否为“Esc”键,若是返回继续输入字符,可是不知道怎么这个功能没有实现; 在显示我设置了换行,可是这一功能并没有实现。 (3)实验结果(截屏)

变量名 地址 段地址:偏移地址 BUF MAX

3.编写大小写字母转换程序。(可连续操作,按ESC键退出)

数据组1 数据组2 班级: 学号: 姓名: 实验一 汇编语言程序上机过程

(1)程序

DATA SEGMENT

BUF DB 'INPUTAGAIN$' DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

AGAIN: MOV AH,0AH INT 21H CMP AL,41H JC NEXT CMP AL,5BH JC NEXT1 CMP AL,61H JC NEXT CMP AL,7BH JC NEXT2

NEXT: LEA DX,BUF JMP SHOW

NEXT1: ADD AL,20H JMP SHOW

NEXT2: SUB AL,20H SHOW: MOV AH,09H MOV AL,0AH INT 21H CMP AL,1BH JNE AGAIN

MOV AH,4CH INT 21H CODE ENDS

END START

(2)调试过程(主要问题与解决方法) (3)实验结果(截屏)

变量名 地址 段地址:偏移地址 BUF MAX

4.已知有几个元素存放在以BUF+1为首址的字节存贮区中,个数放在BUF单元中。统计其中正数、负数和零的个数。 (1)程序

DATA SEGMENT

数据组1 数据组2

搜索更多关于: 微机实验四 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

班级: 学号: 姓名: 实验一 汇编语言程序上机过程 实验四:循环结构程序设计 一、实验目的 1.熟练掌握汇编语言程序调试的方法。 2.掌握循环结构程序的设计与调试方法。 二、实验内容 1.将BUF起始的字节单元中最大的数(带符号数)放MAX单元中。 (1)程序 法一: DATA SEGMENT BUF DB 56H,38H,62H,24H,0FDH CN EQU $-BUF MAX DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com