微机原理课件(西电版)ppt33-3.ppt

微机原理课件(西电版)ppt33-3.ppt

ID:51594936

大小:48.00 KB

页数:10页

时间:2020-03-25

微机原理课件(西电版)ppt33-3.ppt_第1页
微机原理课件(西电版)ppt33-3.ppt_第2页
微机原理课件(西电版)ppt33-3.ppt_第3页
微机原理课件(西电版)ppt33-3.ppt_第4页
微机原理课件(西电版)ppt33-3.ppt_第5页
资源描述:

《微机原理课件(西电版)ppt33-3.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3章16位和32位微处理器的指令系统第三节指令I2程序一:将内存3500H单元开始的0-10H共16个数据传送到3600H单元开始的数据区中。3STACKSEGMENTSTACK;8088宏汇编DW64DUP(?) STACKENDS CODESEGMENT;定义代码段ASSUMECS:CODE START:MOVSI,3500H;主程序开始,建立源地址指针MOVDI,3600H;建立目标地址指针MOVCX,0008H;字送入CX寄存器A1:MOVAX,[SI];取源数据一个字节送入AX中MOV[DI],AX;将源数据送入目标地址单元中INCSI;修

2、正指针INCSI INCDI INCDI DECCX;判断数据是否传送完毕JNZA1;CX-1为0则转移,否则循环CODEENDS ENDSTART4程序二:从3500H内存单元开始建立0-15共16个数据。5STACKSEGMENTSTACK;8088宏汇编DW64DUP(?);定义堆栈段STACKENDS CODESEGMENT;定义代码段ASSUMECS:CODE START:MOVDI,3500H;程序开始设数据区首址MOVCX,0010H;字节数送入CX中MOVAX,0000H SAHF A1:MOV[DI],AL;写入一字节INCDI;修改

3、地址指针INCAX;修改数据DAA;十进制调整LOOPA1;未填完转移CODEENDS;代码段结束ENDSTART;程序结束6程序三:计算X+Y=Z,将结果Z存入某存储单元。双精度(2个16位,既32位)运算,利用累加器AX,先求低16位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需要用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。7STACKSEGMENTSTACK DW64DUP(?) STACKENDS DATASEGMENT XLDW?;请在此处给X低位

4、赋值XHDW?;请在此处给X高位赋值YLDW?;请在此处给Y低位赋值YHDW?;请在此处给Y高位赋值ZLDW?ZHDW?DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATA START:MOVAX,DATA MOVDS,AX MOVAX,XL;X的值送AX ADDAX,YL;X低位加Y低位MOVZL,AX;存低位和MOVAX,XH;X高位送AX ADCAX,YH;X高位加Y高位MOVZH,AX;存高位和CODEENDS ENDSTART8程序四:计算X-Y=Z,其中X,Y,Z为BCD码。9STACKSEGMENTSTAC

5、K DW64DUP(?) STACKENDS DATASEGMENT XDW?;请在此处给X赋值YDW?;请在此处给Y赋值ZDW? DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATA START:MOVAX,DATA MOVDS,AX MOVAH,00H SAHF MOVCX,0002H MOVSI,OFFSETX MOVDI,OFFSETZ A1:MOVAL,[SI] SBBAL,[SI+02H] DAS PUSHF ANDAL,0FH POPF MOV[DI],AL INCDI INCSI LOOPA1 A2:JM

6、PA2 CODEENDS ENDSTART程序流程图10

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

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

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