实验三 汇编命令(伪指令)

实验三 汇编命令(伪指令)

ID:33205875

大小:399.00 KB

页数:13页

时间:2019-02-22

实验三 汇编命令(伪指令)_第1页
实验三 汇编命令(伪指令)_第2页
实验三 汇编命令(伪指令)_第3页
实验三 汇编命令(伪指令)_第4页
实验三 汇编命令(伪指令)_第5页
资源描述:

《实验三 汇编命令(伪指令)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验三汇编命令(伪指令)[实验目的]1.进一步熟悉汇编语言的汇编、连接、运行的全过程;2.熟悉汇编语言中的加减法处理指令、BCD码的调整指令和乘除法指令和符号位扩展指令;3.熟悉逻辑运算、移位操作及数码转换编程实验;4.熟悉汇编语言中数据定义伪指令的书写形式。[实验内容]1.二进制加、减法编程实验DATASEGMENTDATA1DW5311H,8A13H;表示数据8A135311HDATA2DW4783H,9526H;表示数据95264783HRESULT1DW2DUP(?);存放多字节加法的结果DATAENDSCODESEGMENTASSUMECS:CODE,DS:D

2、ATASTART:MOVAX,DATAMOVDS,AXMOVAX,DATA1MOVDX,DATA1+2ADDAX,DATA2;低字部分相加ADCDX,DATA2+2;高字部分带进位相加MOVRESULT1,AX;存放低字部分相加结果MOVRESULT1+2,DX;存放高字部分相加结果CODEENDSENDSTART实验拓展:(1)编写程序,实现长度为2字的两个多精度数相减。(2)编写程序,实现一个长度为3字的多精度数和一个长度为2字的多精度数相加减。1.十进制数的BCD加、减法编程实验DATASEGMENTBCD1DB34H,18H;压缩的BCD码表示十进制数1834B

3、CD2DB89H,27H;压缩的BCD码表示十进制数2789RESULT1DB2DUP(?);存放压缩的BCD码相加的结果BCD3DB05H,02H;非压缩的BCD码表示十进制数25BCD4DB08H,03H;非压缩的BCD码表示十进制数38RESULT2DB2DUP(?);存放非压缩的BCD码相加的结果DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;压缩的BCD码相加计算MOVAL,BCD1ADDAL,BCD2DAAMOVRESULT1,ALMOVAL,BCD1+1ADCAL,BCD2+

4、1DAAMOVRESULT1+1,AL;非压缩的BCD码相加计算MOVAL,BCD1ADDAL,BCD2AAAMOVRESULT2,ALMOVAL,BCD1+1ADCAL,BCD2+1AAAMOVRESULT2+1,ALCODEENDSENDSTART实验拓展:(1)编写程序,实现长度为2字节的缩与非压缩的BCD码相减。(2)编写程序,实现一个长度为3字节2字节的压缩与非压缩的BCD码相减。1.二进制乘、除法编程实验DATASEGMENTDIVIDENDDB53H,11H,8AH;表示数据8A1153HDIVISORDB47HQUOTIENTDB3DUP(0);存放除法

5、结果的商REMAINDERDB0;存放除法结果的余数DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,DIVIDEND+2MOVAH,0DIVDIVISORMOVQUOTIENT+2,ALMOVAL,DIVIDEND+1DIVDIVISORMOVQUOTIENT+1,ALMOVAL,DIVIDENDDIVDIVISORMOVQUOTIENT,ALMOVREMAINDER,AHCODEENDSENDSTART实验拓展:(1)被除数是一个3字长的有符号数,除数是一个1字长的有符号数,求

6、两个数相除的商和余数。(2)求两个2字长的无符号数相乘的结果,并将结果保存在存储空间中。1.逻辑运算编程实验(验证性实验)(1)用A命令编写程序片段,实现逻辑非,逻辑与,逻辑或,逻辑异或,逻辑测试运算;(2)得到实际的结果,用T或P命令查看结果正确性。(3)实验例子,逻辑非:NOT14H逻辑与:32HAND0FH逻辑或:32HOR0FH逻辑异或:32HXOR0FH(4)进行逻辑测试运算中,注意状态和标志位的变化,并记录。实验拓展:(1)对寄存器清0,有几种方式?怎样用逻辑运算命令来实现?(2)逻辑测试命令前后,状态和标志有什么变化?为什么?(3)检测一操作数与另一确定的

7、操作数是否相等,用逻辑指令如何实现?1.移位操作编程实验(设计性实验)(1)用A命令写程序片段,在寄存器AX中存入一个数,要求对其用移位命令进行乘8,除4的操作。(2)编写程序片段,实现如下的计算A=10*B,要求用到移位命令,不用乘法计算。(3)编写指令序列把由DX和AX组成的32位二进制数进行算术左移。(DX,AX)算术左移1位指令序列(DX,AX)循环左移1位指令序列SHL AX,1RCL DX,1SHLD DX,AX,1RCL  AX,1实验拓展:(1)移位指令如何影响标志位CF、OF?2.ASCII码表示的十进制数、二进制数和B

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。