微机原理与接口例题与答案

微机原理与接口例题与答案

ID:1044957

大小:440.50 KB

页数:30页

时间:2017-11-07

微机原理与接口例题与答案_第1页
微机原理与接口例题与答案_第2页
微机原理与接口例题与答案_第3页
微机原理与接口例题与答案_第4页
微机原理与接口例题与答案_第5页
资源描述:

《微机原理与接口例题与答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1、例编写程序,计算75÷6=l2……3解:该除法运算过程表示如下:(注:75以BCD码的形式存放)第一个商为1→12←第二个商为26/75-6-----------------第一个余数为1→15-12-----------------3←第二个余数为3程序如下:FIRSTDB06H;除数6SECONDDB75H;被除数75HTHIRDDB2DUP(0);存商FOURDB?;存余数………MOVAH,00H;第一个被除数高位AH清0MOVAL,SECOND;ALç被除数75ANDAL,0F0H;截

2、取高4位MOVCL,04HROLAL,CL;移至低4位DIVFIRST;AX/06,即0007/06;;得结果:ALç商为1,AH余数ç1MOVTHIRD+1,AL;结果单元ç第一个商1MOVAL,SECOND;ALç被除数75ANDAL,0FH;ALç截低4位,故AX=0105HAAD;将AX中内容0105H调整为0FHDIVFIRST;0FH/6,结果:ALç商为2,AHç余数3MOVTHIRD,AL;THIRD单元ç第二个商2MOVFOUR,AH;FOUR单元ç第二个余数32、例设AL寄存器

3、中存有报警标志。若D7=1,表示温度报警,程序要转到温度报警处理程序T_ALARM;D6=1,则转压力报警程序P_ALARM。用TEST指令来实现这种功能。解:TESTAL,80H;查AL的D7=1?JNZT_ALARM;是1(非零),则转温度报警程序TESTAL,40H;D7=0,D6=1?JNZP_ALARM;是1,转压力报警(其中:JNZ为条件转移指令,表示结果非0(ZF=1)则转移)3、例要求把数据段中以SRC_MESS为偏移地址的一串字符“HELLO!”,传送到附加段中以NEW_LOC开

4、始的单元中。解:DATASEGMENT;数据段SRC_MESSDB‘HELLO!’;源串DATAENDS;EXTRASEGMENT;附加段NEW_LOCDB6DUP(?);存放目的串EXTRAENDS;CODESEGMENTASSUMECS:CD,DS:DATA,ES:EXTRASTART:MOVAX,DATAMOVDS,AX;DS=数据段段址MOVAX,EXTRAMOVES,AX;ES=附加段段址LEASI,SRC_MESS;SI指向源串偏移地址LEADI,NEW_LOC;DI指向目的串偏移地址

5、MOVCX,6;CX作串长度计数器CLD;清方向标志,地址增量REPMOVSB;重复传送串中各字节,直到CX=0其中“REPMOVSB”指令可用以下几条指令代替:AGAIN:MOVSNEW_LOC,SRC_MESSDECCXJNZAGAIN 4、例比较两个字符串,一个是程序中设定的口令串PASSWORD,另一个是从键盘输入的字符串IN_WORD,若输入串与口令串相同,程序将开始执行。否则,程序驱动PC机的扬声器发声,警告用户口令不符,拒绝往下执行。解:这可以用CMPS指令来实现,有关程序段如下:D

6、ATASEGMENT;数据段PASSWORDDB‘750424LI’;口令串IN_WORDDB‘750424LE’;从键盘输入的串COUNTEQU8;串长度DATAENDS……CODESEGMENT;代码段……LEASI,PASSWORD;源串指针LEADI,IN_WORD;目的串指针MOVCX,COUNT;串长度CLD;地址增量REPZCMPSB;CX≠0且串相等时重复比较JNESOUND;若不相等,转发声程序OK:……;比完且相等,往下执行……SOUND:……;使PC机扬声器发声……;并退出C

7、ODEENDS5、例在某一字符串中搜寻是否有字符A,若有,则把搜索次数记下来,送到BX寄存器中,若没有查到,则将BX寄存器清0。设字符串起始地址STRING的偏移地址为0,字符串长度为CX。解:MOVDI,OFFSETSTRING;DI=字符串偏移地址MOVCX,COUNT;CX=字符串长度MOVAL,‘A’;AL=关键字A的A5CII码CLD;清标志方向REPNESCASB;CX≠0(没查完)和ZF=0(不相等)时重复JZFIND;若ZF=1,表示已搜到,转出MOVDI,0;若ZF=0,表示没搜

8、到,DIç0FIND:MOVBX,DI;BXç搜索次数HLT说明:DI初值存起始地址偏移量0,搜索一次后,DI自动加1,使DI的值等于1;每执行一次搜索操作,DI自动增1;因此可用DI的值表示搜索次数。6、例若在数据段中有一个数据块,起始地址为BLOCK,数据块中的数为8位带符号数,要求将其中所含的正、负数分开,然后把正数送到附加段中始址为PLUS_DATA的缓冲区,负数则送到附加段中始址为MINUS_DATA的缓冲区。分析:把数据块作为数据串处理:用SI作源串指针;DI和BX分别

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

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

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