实验四 逻辑运算与移位类指令的使用

更新时间:2023-03-19 17:25:02 阅读量: 人文社科 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四 逻辑运算与移位类指令的使用一.实验目的:掌握逻辑运算类指令和移位类指令的用法。

实验四 逻辑运算与移位类指令的使用

一.实验目的:

掌握逻辑运算类指令和移位类指令的用法。

二.实验内容:

调试实验指导中给出的程序,查看数据区的内容,回答相关问题,并尝试自己编写简单的源程序。

三.操作步骤

1. 调用字处理程序建立源程序文件如图5-1所示。

DATA SEGMENT

X DB 40

Y DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AL,X SAR AL,1 MOV BL,AL MOV CL,2 SAR AL,CL ADD AL,BL MOV Y,AL

MOV AH,4CH ; 调用21H号中断的4CH号功能,返回DOS

INT 21H

CODE ENDS

END START

图5-1

2.汇编、链接并调试程序。单步运行带横线的指令,用一个数学表达式来描述该程序的功能。

答:Y=5X/8

5. 编写一个完整的源程序,将BUF字节单元存放的两位组合BCD码,转换成2个字节的ASCII码,并分别存放在ASC、ASC+1字节单元中。

例如(BUF字节单元)=58H,那么(ASC字节单元)=35H,(ASC+1字节单元)=38H

数据段定义如下

DATA SEGMENT

BUF DB 67H

ASC DB ?,?

实验四 逻辑运算与移位类指令的使用一.实验目的:掌握逻辑运算类指令和移位类指令的用法。

DATA ENDS

程序汇编通过后,调试程序,查看运行结果是否正确。

程序如下:

DATA SEGMENT

BUF DB 67H

ASC DB ?,?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AL,BUF ;AL赋值67H

MOV BL,AL

SHR BL,4 ;右移4位,获得BL的高4位 ADD BL,30H ;加30H转化为ASCII码 MOV ASC,BL ;存入ASC的第一个元素 AND AL,07H ;跟07H相与,获得低四位 ADD AL,30H ;加30H转化为ASCII码 MOV ASC+1,AL ;存入ASC的第二个元素 MOV AH,4CH

INT 21H

CODE ENDS

END START

运行结果如下:

本文来源:https://www.bwwdw.com/article/k4vj.html

Top