实验二算术逻辑运算及移位操作_第1页
实验二算术逻辑运算及移位操作_第2页
实验二算术逻辑运算及移位操作_第3页
实验二算术逻辑运算及移位操作_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二 算术逻辑运算及移位操作一、 实验目的1熟悉算术逻辑运算指令和移位指令的功能。2了解标志寄存器各标志位的意义和指令执行对它的影响。二、 实验预习要求1复习8086指令系统中的算术逻辑类指令和移位指令。2按照题目要求在实验前编写好实验中的程序段。三、 实验任务1 实验程序段及结果表格如表1.2: 表1.2标志位cfzfsfofpfaf程序段1:mov ax, 1018hmov si, 230ahadd ax, siadd al, 30hmov dx, 3ffhadd ax,bxmov 20h, 1000hadd 20h, axpush axpop bx0000000000000000000

2、00011000000000000000000000000000000000000000000程序段2:mov ax, 0a0ahadd ax, 0ffffhmov cx, 0ff00hadc ax, cxsub ax, axinc axor cx, 0ffhand cx, 0f0fhmov 10h, cx000000000000100011100011100010010010000000001010000010000010程序段3: mov bl, 25hmov byte ptr10h, 4mov al, 10hmul bl000000000000000000000000000000程序段4

3、:mov word ptr10h,80hmov bl, 4mov ax, 10hdiv bl000000000000000000000000000000程序段5:2题答案mov bx.10hmov cx,bxinc bxmov si,bxinc bxmov ax,cxadd ax,bxadd ax,simov 13h,axmov ax,cxmul wordptrbxmul wordptrsimov 14h,axf 10h 12h10h 4h 30hmov ax, 0dec axadd ax, 3fffhadd ax, axnot axsub ax, 3or ax, 0fbfdhand ax,

4、0afcfhshl ax,1rcl ax,10000000000000010111000010000110000110010000010000010001001100001102用bx寄存器作为地址指针,从bx所指的内存单元(0010h)开始连续存入三个无符号数(10h、04h、30h),接着计算内存单元中的这三个数之和,和放在0013h单元中,再求出这三个数之积,积放0014单元中。写出完成此功能的程序段并上机验证结果。3写出完成下述功能的程序段。上机验证你写出的程序段,程序运行的最后结果(ax)?(1) 传送15h到al寄存器;4题答案mov wordptr1000h,2058hmov b

5、yteptr1002h,12hmov ax,1000hmov bx,1002hsar ax,1sar ax,1div bxmov 1003h,ax最后结果为73h3题答案mov al,15hmov si,2hmul simov bl,15hmul blax=372h(2) 再将al的内容乘以2;(3) 接着传送15h到bl寄存器;(4) 最后把al的内容乘以bl的内容。4写出完成下述功能的程序段。上机验证你写出的程序段,程序运行后的商?(1) 传送数据2058h到ds:1000h单元中,数据12h到ds:1002h单元中;(2) 把ds:1000h单元中的数据传送到ax寄存器;(3) 把ax寄

6、存器的内容算术右移二位;(4) 再把ax寄存器的内容除以ds:1002h字节单元中的数;(5) 最后把商存入字节单元ds:1003h中。5.2题答案mov si,20hnext mov wordptrsi,0hsub si,2hcmp si,8hjnz nexthlt5下面的程序段用来清除数据段中从偏移地址0010h开始的12个字存储单元的内容(即将零送到这些存储单元中去)。(1) 将第4条比较指令语句填写完整(划线处)。 mov si,0010h next: mov word ptrsi,0 add si,2 cmp si,答案 22h (或者20h) jne next hlt(2) 假定要

7、按高地址到低地址的顺序进行清除操作(高地址从0020h开始),则上述程序段应如何修改?上机验证以上两个程序段并检查存储单元的内容是否按要求进行了改变。6 输入并运行表1.3中的程序段,把结果填入表右边的空格中,并分析结果,说明本程序段的功能是什么。表1.3程序段字单元(1a00h)=字单元(1a02h)=6题答案程序通过逻辑左移 进位取反 循环左移 最后使得两个数的为65535也就是16位二进制数的最大值mov 1a00h, 0aa55hmov 1a02h, 2ad5hshl word ptr1a02h,1 cmp 1a00h, 8000hcmcrcl word ptr1a02h,1rcl word ptr1a00h,1aa55h0haa55h2ad5haa55h55aahaa55h55aahaa55h55aahaa5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论