微型计算机原理及应用第三版 (6).ppt

微型计算机原理及应用第三版 (6).ppt

ID:51497014

大小:122.00 KB

页数:29页

时间:2020-03-25

微型计算机原理及应用第三版 (6).ppt_第1页
微型计算机原理及应用第三版 (6).ppt_第2页
微型计算机原理及应用第三版 (6).ppt_第3页
微型计算机原理及应用第三版 (6).ppt_第4页
微型计算机原理及应用第三版 (6).ppt_第5页
资源描述:

《微型计算机原理及应用第三版 (6).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、例题一:用数据运算指令,对两个16位数做加法运算。这两个数从地址0050H开始连续存放,低位在小地址一端,结果放在这两个数之后。(1)分析题目:它是一个16位数相加的问题。可以直接用字的加法运算(2)内存空间分配:ORG伪指令指定内存中的偏移。(3)运算时应注意:双存储器不能直接相加,应有一个加数在寄存器DATASEGMENTORG50HVARDW11FFHDW1DW0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX6.2顺序(查表)程序设计MOVAX,VARADDAX,VAR+2MOVVAR+4,

2、AXMOVAH,4CHINT21HCODEENDSENDSTART例题二:将内存(0050)单元的内容拆成两段.每段4位,并将它们分别存入内存(0051)和(0052)单元。即(10050)单元中的低4位放入(0051)的低4位,(0050)单元中的高4位放入(0052)的低4位,而(0051)和(0052)的高4位均为零。(1)先取出该数用逻辑指令与上—个0FH,得到低4位,存入内存。(2)再取出该数用移位指令逻辑右移SHR四次,取得高4位。(3)做掩码操作时注意不要破坏原始数据DATASEGMENTORG50HVARDB3DUP(?)DATAENDSCODESEGMENTA

3、SSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,VARANDAL,0FHMOVVAR+1,ALMOVAL,VARMOVCL,4SHRAL,CLMOVVAR+2,ALMOVAH,4CHINT21HCODEENDSENDSTART在实际问题中常会遇到以下问题1、代码转换2、求一些需要复杂运算才能求得的函数值例题三:从键盘上输入一个0~F之中的数,在屏幕上显示出其对应的LED码值。leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71hmovah,1i

4、nt21hsubal,30hcmpal,0ahjbnextsubal,7hnext:leabx,ledxlatCALLCRLFmovbh,almovcl,4shral,claddal,30hcmpal,3ahjbnext1addal,7next1:CALLDISPLAYmoval,bhandal,0fhaddal,30hcmpal,3ahjbnext2addal,7next2:CALLDISPLAY例题四:从键盘任意输入一个1~9之中的整数。在屏幕上显示它对应的对数值(小数点后四位精度)。输入的字符如果不在1~9之间则显示inputerrorinputagaindatasegm

5、entmessdb'inputerror',0dh,0ah,'inputagain',0dh,0ah,'&'tabdw'00000',0dh,0ah,‘$','03010',0dh,0ah,‘$','04771',0dh,0ah,‘$','06021',0dh,0ah,‘$','06990',0dh,0ah,‘$','07782',0dh,0ah,‘&','08451',0dh,0ah,‘$','09031',0dh,0ah,‘$','09542',0dh,0ah,‘$',dataendscodesegmentassumecs:code,ds:datastart:movax,d

6、atamovds,axagain:movah,1int21hsubal,30hcmpal,0jgenextcmpal,39hjlenext;确认是0-9之间的数leadx,messmovah,9int21hjmpagain;非0-9之间,则显示信息并重新输入next:subal,1movcl,3shlal,clleadx,tabaddbl,aladcbh,0;n乘8,找到对应串的起始点movah,9int21hjmpagain;重复查找,使用强制退出codeendsendstart在实际问题中,会有根据不同的情况进行不同的处理要求。这种思想体现在程序设计中,就是根据不同条件而跳

7、到不同的程序段去执行,这就构成了分支程序。在汇编语言程序设计中,跳跃是通过条件转移指令来实现的例题一:将BX寄存器加一并判断BX寄存器值是否为16D,如果是16D则调用子程序CRLF并将BX清零,如果不是则继续执行。:INCBXCMPBX,16JNZNEXTCALLCRLFXORBX,BXNEXT::6.3分支程序设计例题二:从键盘输入任意一个字符,如果ASCII码大于39H则显示字符C。如果ASCII码小于39H则显示字符N。:MOVAH,1INT21HCMPAL,39HJANEXTMOV

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

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

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