当前位置: 首页 > news >正文

备案个人可以做视频网站成都培训机构排名前十

备案个人可以做视频网站,成都培训机构排名前十,上海培训网站建设,中国执行信息公开网官网上机实验05 移位操作编程实验 一、实验要求和目的 1.了解汇编语言移位操作指令; 2.熟悉汇编语言逻辑移位指令的使用方法; 3.掌握利用汇编语言逻辑移位运算指令实现程序设计的方法。 二、软硬件环境 1&#xff0e…

上机实验05    移位操作编程实验

 

一、实验要求和目的

       1.了解汇编语言移位操作指令;

2.熟悉汇编语言逻辑移位指令的使用方法;

3.掌握利用汇编语言逻辑移位运算指令实现程序设计的方法。

二、软硬件环境

 

       1.硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存;

       2.软件环境:装有MASM 5.0、DEBUG、LINK和EDIT等应用程序。

 

三、实验涉及的主要知识单元

移位指令主要包括算术移位、逻辑移位、循环移位,以下分三类介绍。其中统一的语句格式为:

    操作符 OPD,1

    操作符 OPD,CL

功能为将目的操作数的所有位按操作符规定的方式移动1位或按寄存器CL规定的次数(0~255)移动,结果送入目的地址。

1、算术移位

       (1)算术左移指令SAL

        格式:SAL  OPD  1或CL

     描述:

     将(OPD)向左移动CL指定的次数,最低位补入相应的0,CF的内容为最后移入位的值。如图3-3所示,受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。

 

图3-3  SAL

  1. 算术右移指令SAR

     格式:SAR  OPD  1或CL

     描述:

     将(OPD)向右移动CL指定的次数且最高位保持不变;CF的内容为最后移入位的值。如图3-4所示,受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。

 

图3-4  SAR

2、逻辑移位

(1)逻辑左移

格式:SHL  OPD  1或CL

描述:

把目的操作数的低位向高位移CL规定的次数,空出的低位补0,CF的内容为最后移入位的值。与算术左移相同,如图3-3所示,受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。

(2)逻辑右移

     格式:SHR  OPD  1或CL

描述:

把目的操作数的高位向低位移CL规定的次数,空出的高位补0,CF的内容为最后移入位的值。 如图3-5所示,受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。

 

 
  

 

 

 

图3-5  SHR

3、循环移位

       循环移位包括不带进位的循环移位指令ROL、ROR和带进位的循环移位指令RCL、RCR。

(1)不带进位循环左移指令ROL

 格式:ROL  OPD  1或CL

描述:

把目的操作数的低位向高位移CL规定的次数,移出的位不仅要进入CF,而且还要填补空出的位,CF的内容为最后移入位的值。如图3-6所示,受影响的标志位:CF、OF。

 

图3-6  ROL

(2)不带进位循环右移指令ROR

 格式:ROR  OPD  1或CL

描述:

把目的操作数的高位向低位移CL规定的次数,移出的位不仅要进入CF,而且还要填补空出的位,CF的内容为最后移入位的值。如图3-7所示,受影响的标志位:CF、OF。

 

图3-7  ROR

(3)带进位循环左移指令RCL

格式:RCL  OPD  1或CL

描述:

把目的操作数的低位向高位移CL规定的次数,用原CF的值填补空出的位,移出的位进入CF。如图3-8所示,受影响的标志位:CF、OF。

 

图3-8  RCL

(3)带进位循环右移指令RCR

格式:RCR  OPD  1或CL

描述:

       把目的操作数的高位向低位移CL规定的次数,,移出的位不仅要进入CF,而且还要填补空出的位,如图3-9所示,受影响的标志位:CF、OF。

 

  图3-9  RCR

    

四、实验内容与步骤

       1、实验内容

(1)用A命令写程序片段,在寄存器AX中存入一个数,要求对其用移位命令进行乘8,除4的操作。

 

 

 

 

  1. 编写程序片段,实现如下的计算A=10*B,要求用到移位命令,不用乘法计算。

 

  1. 编写指令序列把由DX和AX组成的32位二进制数进行算术左移。

 

    2、实验步骤

(1)预习移位命令的基本知识,熟悉这些命令的基本操作,根据实验内容,整理编程思路;

(2)利用在DEBUG调试中的A命令输入对应程序片段;

(3)对写好的程序片段,利用DEBUG的T、P命令或G命令查看数据区,核对实验结果。

五、实验要求与提示

1、实验要求

    (1)根据实验内容,写出分析思路;

    (2)对写出的程序片段,加上适量注释;

    (3)回答思考问题;

(4)记录实验结果。

 

2、实验提示

(1)移位运算中,左移一位相当于乘2操作,右移一位相当于除2操作;

    对寄存器AX赋值为4,然后先执行左移1位操作,再执行右移1位操作,用P命令观察寄存器AX的变化,如图3-10所示。

 

图3-10

(2)算术移位适合于有符号数的运算,逻辑移位适用于无符号数的运算。

 

(3)32位的移位注意CF的变化。

(4)运算下面程序,并观察各寄存器和标志位的值变化情况。

;****************************************************************

STACK SEGMENT PARA STACK

     DB 20 DUP(?)

STACK ENDS

 

 

CODE SEGMENT

     ASSUME CS:CODE,SS:STACK

START:

     MOV AX,0CBA5H

     MOV CX,0CH

LOOP1:

     SAL AX,1  ;算术左移

     LOOP LOOP1

 

     MOV AX,0CBA5H

     MOV CX,0CH

LOOP2:

     SAR AX,1  ;算术右移

     LOOP LOOP2

 

     MOV AX,0CBA5H

     MOV CX,0CH

LOOP3:

     SHL AX,1  ;逻辑左移

     LOOP LOOP3

 

     MOV AX,0CBA5H

     MOV CX,0CH

LOOP4:

     SHR AX,1  ;逻辑右移

     LOOP LOOP4

 

     MOV AX,0CBA5H

     MOV CX,0CH

LOOP5:

     ROL AX,1  ;不带进位的循环左移

     LOOP LOOP5

 

     MOV AX,0CBA5H

     MOV CX,0CH

LOOP6:

     ROR AX,1  ;不带进位的循环右移

     LOOP LOOP6

 

     MOV AX,0CBA5H

     MOV CX,0CH

LOOP7:

     RCL AX,1  ;带进位的循环左移

     LOOP LOOP7

 

     MOV AX,0CBA5H

     MOV CX,0CH

LOOP8:

     RCR AX,1  ;带进位的循环右移

     LOOP LOOP8

 

     MOV AH,4CH ;返回DOS

     INT 21H

CODE ENDS

     END START

;************************************************************************

 

 

 

 

 

 

 

3、编程:设在数据段中定义有三个变量X,Y,Z,请利用算术移位指令编写程序“sy05_1.asm”,计算出下式的值(假设乘积的结果只有低16位有效):

        Z=10*(X+Y)

掌握和熟悉以上的各移位操作指令,并把调试好的程序sy05_1.asm 提交。

 

 

 

代码:

DATA SEGMENT

X     DW       0520H 

Y     DW 0521H 

Z     DW    2 DUP(?)   

DATA ENDS

 

CODE SEGMENT

  ASSUME CS:CODE,DS:DATA

START:

    MOV AX,DATA

    MOV DS,AX

    MOV AX,X

    MOV BX,Y

    ADD AX,BX

    MOV CX,AX 

    MOV CL,3

    SHL AX,CL

    SHL CX,1

    ADD AX,CX

    MOV Z,AX

    MOV DX,Z

CODE ENDS

  END START

六、思考与练习以及测评标准

1.执行以下命令,观察AX是否有变化:

(1)SAL AX, 1
            SAR AX, 1 

 

(2)SAR AX, 1
            SAL AX, 1

 

2.移位指令如何影响标志位CF、OF?

 

http://www.hkea.cn/news/286152/

相关文章:

  • 网页设计怎样做一个网页seo软件哪个好
  • 销售性网站建设需求seo案例
  • 企业怎样选择域名做网站电脑突然多了windows优化大师
  • 网站一元空间有哪些呀品牌策划方案范文
  • 最便宜的网站建设企点
  • 网站代码加密深圳新闻今日最新
  • 不要钱做网站软件网站seo优化效果
  • 公司做网站提供产品加盟费互联网销售怎么做
  • 视频网站开发架构百度app最新版本
  • 网站上内容列表怎么做的网站模板中心
  • 上海利恩建设集团有限公司网站国内好用的搜索引擎
  • 网站模板论坛今日重大军事新闻
  • 昆山自适应网站建设电商平台的营销方式
  • 盘龙区网站建设外包高级搜索引擎技巧
  • 什么做的网站吗58百度搜索引擎
  • wordpress 企业站开发口碑营销的概念
  • 广州免费核酸检测点东莞seo项目优化方法
  • 学风建设网站版块设计个人网站
  • 网站底部连接怎么做福州seo推广
  • 生猪价格今日猪价行情关键词优化是什么工作
  • 网站建设公司下载搜索引擎查询
  • 韩国吃秀在哪个网站做直播企业宣传
  • 江西网站建设成都百度
  • 糯米团网站怎么做微信软文范例100字
  • 如何在社交网站上做视频推广seo营销的概念
  • 大连做网站仟亿科技最新域名查询
  • 网站开发实施计划与安排宁波网络推广方式
  • 企业网站建设公司注意哪些问题软件开发外包公司
  • abc网站建设怎么样yandex引擎搜索入口
  • wordpress屏蔽f12广州seo网络优化公司