汇编语言实验(7)

2019-08-03 14:54

INT 21H

ERROR:MOV DX,OFFSET ERRMES MOV AH,09H INT 21H

START1: MOV AH,06H ;判断是否有键按下 MOV DL,0FFH INT 21H

JE START1 MOV AX,4C00H INT 21H

SHOW PROC NEAR MOV AL,DS:[SI] AND AL,0F0H SHR AL,4

CMP AL,0AH JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H

MOV AL,DS:[SI] AND AL,0FH CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H

MOV DL,AL MOV AH,02H INT 21H RET ENDP CODE

;若没有转START0 ;有键返回DOS

;取高4位 ;是否是A以上的数

;显示字符

;取低4位

;显示字符

ENDS

END START

4 .用减奇数开平方运算实验

源文件名DVA4_4.ASM(在文件夹“ASM_汇编例程”中)

- 31 -

实验程序清单如下:

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

DDATA SEGMENT

MES1 DB 'The square root of $' MES2 DB ' is:$'

NUMB DW 0040H DDATA ENDS

CODE SEGMENT

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

MOV DX,OFFSET MES1 MOV AH,09H INT 21H

MOV SI,OFFSET NUMB MOV AX,[SI] CALL SHWORD

MOV DX,OFFSET MES2 MOV AH,09H INT 21H MOV AX,[SI] MOV CL,00H MOV DX,0001H A1: SUB AX,DX JB A2 INC CL ADD DX,02H JMP A1

A2: MOV BL,CL CALL SHOW

START0:MOV AH,06H MOV DL,0FFH INT 21H

JE START0

;判断是否有键按下

;若没有转START0

- 32 -

MOV AX,4C00H INT 21H SHWORD PROC NEAR

MOV BL,AH CALL SHOW MOV BL,AL CALL SHOW RET

ENDP

SHOW PROC NEAR PUSH AX PUSH DX MOV AL,BL

AND AL,0F0H SHR AL,4

CMP AL,0AH

JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,BL

AND AL,0FH CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H

MOV DL,AL MOV AH,02H INT 21H POP DX POP AX RET

ENDP CODE ENDS

END START

;有键返回DOS

;取高4位 ;是否是A以上的数

;显示字符

;取低4位

;显示字符

- 33 -

实验五 分支程序设计实验

一、实验目的

1.掌握分支程序的设计方法。 2.进一步熟悉汇编语言的语法结构。

二、实验内容及说明

程序有顺序、循环、分支和子程序四种结构形式,分支结构的示意图如图5-1 所示。 本实验要求通过求无符号字节序列中的最大值和最小值来反映分支程序的结构形式。实验可以使用BH 、BL 作为暂存现行的最大值和最小值,且在程序的初始,将BH 和BL 初始化为首字节的内容,然后进入循环操作。在循环操作中,依次从字节序列中逐个取出一个字节的内容与BH、BL 进行比较,若取出的字节内容比BH 的内容大或比BL 中的内容小,则修改之。当循环结束操作时,将BH、BL 分别送屏幕显示。

Y 条件满足? N 语句序列 语句序列 Y 条件满足? 语句序列 N 图5-1 分支结构示意图

三、实验步骤

(1) 运行DVCC32JHP软件,选择编辑Edit 菜单编写实验程序;在数据段声明的8 字节的数据为:0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H。

(2) 使用“ASM编译”菜单中“编译+连接+运行”选项,对实验程序进行汇编、连接。汇编、连接无误的话,就直接运行程序。观察运行结果。 (3) 更改数据区中的数据,验证程序的正确性。

四、参考流程图 如图5-2所示

- 34 -

开始

CX=字节个数

Y CX=0? N

BH=[SI],BL=[SI]

SI=SI+1,AL=[SI] N BH=AL AL < BH?

Y N BL=AL AL > BL?

Y CX = CX-1 N CX=0?

Y 结束 SI-1 图5-2 分支程序实验框图

五、参考程序

参考实验程序文件名DVA5.ASM(在文件夹“ASM_汇编例程”中) 实验程序清单如下:

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

- 35 -


汇编语言实验(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:某发电厂二氧化碳捕集及利用建设项目可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: