微机原理、汇编与接口技术习题答案 第6章习题答案.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:20 大小:13.2MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理、汇编与接口技术习题答案 第6章习题答案.doc

微机原理、汇编与接口技术习题答案第6章习题答案.doc

预览

免费试读已结束,剩余 10 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微机原理、汇编与接口技术第六章习题答案6.16.26.36.4stacksegmentstackstackdw32dup(0)stackendscodesegmentstartprocfarassumess:stack,cs:codepushdssubax,axpushaxCALLI6116;调用写入6116子程序MOVAH,2;回车换行MOVDL,0DHINT21HMOVDL,0AHINT21HCALLO6116;调用读出6116子程序retstartendp;写入6116:将键入字符的ASCII码写入6116I6116PROCMOVBL,0;定义页地址码(16个地址为一页)MOVCX,128;定义页数LOP1:PUSHCXMOVDX,380H;将页地址从74LS273输出MOVAL,BLOUTDX,ALMOVCX,16;定义页内单元数MOVDX,390H;将键入数写入16个单元LOP2:MOVAH,1INT21HOUTDX,ALINCDXLOOPLOP2INCBL;换页POPCXLOOPLOP1;页数未满换页重新写入16个单元RETI6116ENDP;读出6116:将写入6116的数据读出送显示O6116PROCMOVBL,0MOVCX,128LOP3PUSHCXMOVDX,390HMOVAL,BLOUTDX,ALMOVCX,16MOVDX380H;将16个单元的数据送显示LOP4:INAL,DXPUSHDXMOVDL,AL;将6116中读出的ASCII码送DLMOVAH,2;2号功能调用显示DL中的字符INT21HPOPDXINCDXLOOPLOP4INCBLPOPCXLOOPLOP3RETO6116ENDPcodeendsendstart6.5stacksegmentstackstackdw32dup(0)stackendscodesegmentstartprocfarassumess:stack,cs:codepushdssubax,axpushaxMOVAH,2;用2号功能调用输出字符,调用号送AHMOVCX,100;字符个数送计数器MOVDX,380HWAIT0:INAL,DX;从244读入TESTAL,80H;测试状态位是否为0JNZWAIT0;不为0,等待继续测试状态WAIT1:INAL,DX;状态为0,继续读入TESTAL,80H;测试状态是否为1JZWAIT1;不为1,等待继续测试状态INAL,DX;状态为1,读入数据即ASCII码ANDAL,7FH;去掉状态位MOVDL,AL;ASCII码送DL,输出字符INT21HLOOPWAIT03;跳到给DX赋值380H的MOV指令,该指令为3字节retstartendpcodeendsendstart6.6stacksegmentstackstackdw32dup(0)stackendsdatasegmentOBUFDB4DUP(0)dataendscodesegmentbeginprocfarassumess:stack,cs:code,ds:datapushdssubax,axpushaxmovax,datamovds,axMOVBX,0FFSETOBUF+3;建立指针MOVBYTEPTR[BX],$;存字符串结束符$MOVDX,380H;读入二进制数INAL,DXMOVCH,10AG:MOVAH,0;无符号数扩展为16位DIVCHADDAH,30H;转换为ASCII码DECBXMOV[BX],AH;存入输出数据区中ORAL,ALJNZAGMOVDX,BXMOVAH,9