首页 实验二算术逻辑运算及移位操作(精品)

实验二算术逻辑运算及移位操作(精品)

举报
开通vip

实验二算术逻辑运算及移位操作(精品)实验二算术逻辑运算及移位操作(精品) 实验二 算术逻辑运算及移位操作 一(实验任务 1.实验程序段及结果表格如表: 标志位 CF ZF SF OF PF AF 程序段1: 0 0 0 0 0 0 MOV AX, 1018H 0 0 0 0 0 0 MOV SI, 230AH 0 0 0 0 0 0 ADD AX, SI 0 0 0 0 1 1 ADD AL, 30H 0 0 0 0 0 0 MOV DX, 3FFH 0 0 0 0 0 0 ADD AX,BX 0 0 0 0 0 0 MOV [20H], 1...

实验二算术逻辑运算及移位操作(精品)
实验二算术逻辑运算及移位操作(精品) 实验二 算术逻辑运算及移位操作 一(实验任务 1.实验程序段及结果表格如表: 标志位 CF ZF SF OF PF AF 程序段1: 0 0 0 0 0 0 MOV AX, 1018H 0 0 0 0 0 0 MOV SI, 230AH 0 0 0 0 0 0 ADD AX, SI 0 0 0 0 1 1 ADD AL, 30H 0 0 0 0 0 0 MOV DX, 3FFH 0 0 0 0 0 0 ADD AX,BX 0 0 0 0 0 0 MOV [20H], 1000H 0 0 0 0 0 0 ADD [20H], AX 0 0 0 0 0 0 PUSH AX 0 0 0 0 0 0 POP BX 0 0 0 0 0 0 程序段2: 0 0 0 0 0 0 MOV AX, 0A0AH 0 0 0 0 0 0 ADD AX, 0FFFFH 1 0 0 0 1 1 MOV CX, 0FF00H 1 0 0 0 1 1 ADC AX, CX 1 0 0 0 1 0 SUB AX, AX 0 1 0 0 1 0 INC AX 0 0 0 0 0 0 OR CX, 0FFH 0 0 1 0 1 0 AND CX, 0F0FH 0 0 0 0 1 0 MOV [10H], CX 0 0 0 0 1 0 程序段3: 0 0 0 0 0 0 MOV BL, 25H 0 0 0 0 0 0 MOV BYTE PTR[10H], 4 0 0 0 0 0 0 MOV AL, [10H] 0 0 0 0 0 0 MUL BL 0 0 0 0 0 0 00 0 0 0 0 0 程序段4: MOV WORD PTR[10H],80H 0 0 0 0 0 0 MOV BL, 4 0 0 0 0 0 0 MOV AX, [10H] 0 0 0 0 0 0 DIV BL 0 0 0 0 0 0 0 0 0 0 0 0 程序段5: MOV AX, 0 0 0 0 0 0 0 DEC AX 1 0 1 0 1 1 ADD AX, 3FFFH 0 0 0 0 0 1 ADD AX, AX 0 0 0 0 1 1 NOT AX 0 0 0 0 1 1 SUB AX, 3 0 0 0 1 0 1 OR AX, 0FBFDH 0 0 1 0 0 0 AND AX, 0AFCFH 0 0 1 0 0 0 SHL AX,1 1 0 0 1 1 0 RCL AX,1 0 0 0 1 1 0 分析: 程序段1: MOV AX, 1018H ;AX,1018H MOV SI, 230AH ; SI,230AH ADD AX, SI ;AX=3322H,低8位为 00100010B,1的个数 ;为偶数,PF=1,同时D3向D4有进位发生,AF=1 ADD AL, 30H ;AX=3352H,低8位1个个数为奇数,PF=0 MOV DX, 3FFH ;DX,3FFH ADD AX,BX ;AX=3352H, MOV [20H], 1000H ;[20H],1000H ADD [20H], AX ;[20H]=4352H PUSH AX ; POP BX ;BX=3352H 程序段2: MOV AX, 0A0AH ;AX,0A0AH ADD AX, 0FFFFH ;AX=0A09H,最高位进位CF=1,低8位1的 ;个数为偶数PF=1;D3向D4进位AF=1 MOV CX, 0FF00H ;CX,0FF00H ADC AX, CX ;AX=090AH,最高位进位CF=1,低8位1的个 ;数为偶数PF=1 SUB AX, AX ; AX=0,运算结果为零ZF=1 INC AX ;AX=1H OR CX, 0FFH ;CX=0FFFFH,最高位为1,ZF=1,低8位1的 ;个数为偶数PF=1 AND CX, 0F0FH ;CX=0F0FH,低8位1的个数为偶数PF=1 MOV [10H], CX ;[10H],0F0FH 程序段3: MOV BL, 25H ;BL,25H MOV BYTE PTR[10H], 4 ;[10H],04H MOV AL, [10H] ;AL,04H MUL BL ;AL=94H 程序段4: MOV WORD PTR[10H],80H ;[10H],0080H MOV BL, 4 ;BL,04H MOV AX, [10H] ;AX,0080H DIV BL ;AX=0020H 程序段5: MOV AX, 0 ;AX,0000H DEC AX ;AX=0FFFFH,最高位为1,SF=1,低8 ;位1的个数为偶数PF=1,最高位向前、 ;D3向D4有借位,CF=1,AF=1 ADD AX, 3FFFH ;AX=3FFEH,D3向D4有进位,AF=1 ADD AX, AX ;AX=7FFCH,低8位1的个数为偶数,PF=1 ;D3向D4有进位,AF=1 NOT AX ;AX=8003H SUB AX, 3 ;AX=8000H,低8位1的个数为偶数,PF=1 ;最高位为1,SF=1 OR AX, 0FBFDH ;AX=0FBFDH,最高位为1,SF=1 AND AX, 0AFCFH ;AX=0ABCDH,最高位为1,SF=1 SHL AX,1 ;AX=579AH,低8位1的个数为偶数,PF=1, ;算数结果溢出OF=1,最高位进位CF=1 RCL AX,1 ;AX=0AF35H,低8位1的个数为偶数, ;PF=1,算数结果溢出OF=1 2.用BX寄存器作为地址指针,从BX所指的内存单元(0010H)开始连续存入 三个无符号数(10H、04H、30H),接着计算内存单元中的这三个数之和,和放在 0013H单元中,再求出这三个数之积,积放0014单元中。写出完成此功能的程 序段并上机验证结果。 程序段: LEA BX,0010H MOV [BX],10H MOV [BX+1],04H MOV [BX+2],30H MOV AX,0000H ADD AL,[BX] ADD AL,[BX+1] ADD AL,[BX+2] MOV DS:[0013H],AL MOV AL,[BX] MUL [BX+1] MUL [BX+2] MOV DS:[0014],AX 上机验证: 3.写出完成下述功能的程序段。上机验证你写出的程序段,程序运行的最后 结果(AX),? (1) 传送15H到AL寄存器; (2) 再将AL的内容乘以2; (3) 接着传送15H到BL寄存器; (4) 最后把AL的内容乘以BL的内容。 程序段: MOV CL,02H MOV AL,15H MUL CL MOV BL,15H MUL BL 结果AX=0372H 4(写出完成下述功能的程序段。上机验证你写出的程序段,程序运行后的商,? (1) 传送数据2058H到DS:1000H单元中,数据12H到DS:1002H单元中; (2) 把DS:1000H单元中的数据传送到AX寄存器; (3) 把AX寄存器的内容算术右移二位; (4) 再把AX寄存器的内容除以DS:1002H字节单元中的数; (5) 最后把商存入字节单元DS:1003H中。 程序段: MOV DS:[1000H],2058H MOV DS:[1002H],12H MOV AX,DS:[1000H] SAR AX,2 MOV BL,DS:[1002H] DIV BL MOV DS:[1003H],AX 最后商为73H 5.下面的程序段用来清除数据段中从偏移地址0010H开始的12个字存储单元的内容(即将零送到这些存储单元中去)。 (1) 将第4条比较指令语句填写完整(划线处)。 MOV SI,0010H NEXT: MOV WORD PTR[SI],0 ADD SI,2 CMP SI, 001CH JNE NEXT HLT (2) 假定要按高地址到低地址的顺序进行清除操作(高地址从0020H开始), 则上述程序段应如何修改, MOV SI,0020H NEXT: MOV BYTE PTR[SI],0 SUB SI,1 CMP SI,0014H JNE NEXT HLT 6(输入并运行表1.3中的程序段,把结果填入表右边的空格中,并分析结果,说明本程序段的功能是什么。 程序段 字单元(1A00H)= 字单元(1A02H)= MOV [1A00H], 0AA55H AA55 0000 MOV [1A02H], 2AD5H AA55 2AD5 SHL WORD PTR[1A02H],1 AA55 55AA CMP [1A00H], 8000H AA55 55AA CMC AA55 55AA RCL WORD PTR[1A02H],1 AA55 AB55 RCL WORD PTR[1A00H],1 54AA AB55 说明: MOV [1A00H], 0AA55H ;[1A00H] , 0AA55H MOV [1A02H], 2AD5H ;[1A02H] , 2AD5H SHL WORD PTR[1A02H],1 ;[1A02H]=DATA*2 CMP [1A00H], 8000H ;[1A00H]—8000H,结果不送回[1A00H] CMC ;进位标志取反 RCL WORD PTR[1A02H],1 ;将[1A02H]带CF的循环左移一位 RCL WORD PTR[1A00H],1 ;将[1A00H]带CF的循环左移一位 二(简答 3.简要说明ADD,SUB,AND,OR对标志位的影响。 答:4条指令满足以下条件时会对个标志位产生影响: CF:当进行加减运算时若最高位向前有进位或借位,则CF=1,否则CF=0。 PF:当运算结果的低八位中1的个数为奇数时PF=1,否则PF=0。 AF:在加减法操作中,D3向D4有进位或借位时AF=1,否则AF=0。 ZF:当运算结果为零时ZF=1。 SF:当运算结果最高位为1时SF=1,否则SF=0。 OF:当运算结果溢出时OF=1。 4.简要说明一般移位指令与循环移位指令之间的区别 答:一般移位指令将最左(右)端移入CF,而另一端则会补0。循环移位指令同样将最左(右)端移入CF,但另一端会用CF或最左(右)端填充。
本文档为【实验二算术逻辑运算及移位操作(精品)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_477730
暂无简介~
格式:doc
大小:181KB
软件:Word
页数:9
分类:
上传时间:2017-10-26
浏览量:162