- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序用大写字母显示这三个字符。
【解】:MAIN PROC FARstart:push dssub ax,axpush axinput:mov ah,7Hint 21Hcmpe:cmp al,20HJE exitcmp al,61HJL inputcmp al,7AHJG inputprint:sub al,01Hmov dl,almov ah,02Hint 21Hadd al,01Hmov dl,almov ah,02Hint 21Hadd al,01Hmov dl,almov ah,02Hint 21H;输出换行回车mov dl,0AHmov ah,02Hint 21Hjmp inputexit :retMAIN ENDPEND start
5.2??将AX寄存器中的16位数分成4组,每组4位,然后把这4组数分别放在AL、BL、CL和DL中。
【解】:DB?4?dup(?)?.stack?100H?.code?MAIN?PROC?FAR?start:?push?ds?and?ax,00H?push?ax?mov?ax,1234H?mov?cx,04H?mov?si,00H?lop:?push?cx?mov?cl,04H?rol?ax,cl?push?ax?and?al,0FH?mov?BYTE?PTR?x[si],al?pop?ax?pop?cx?add?si,2?Loop?lop?mov?al,[X]?mov?bl,[X+2]?mov?cl,[X+4]?mov?dl,[X+6]?print:?mov?ah,02H?int?21H?mov?dl,al?mov?ah,02H?int?21H?mov?dl,bl?mov?ah,02H?int?21H?mov?dl,cl?mov?ah,02H?int?21H?exit:?ret?MAIN?ENDP?END?start
5.3??试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示MATCH,若不相同则显示NO MATCH。
【解】:data?segment???string1?db??111111111,13,10,$??string2?db??222222222,13,10,$??inf1????db??match!,13,10,$??inf2????db??no?match!,13,10,$data?endscode?segmentmain?proc?far??assume?ds:data,cs:code,es:codestart:?push?ds???????mov??ax,0???????push?ax???????mov??ax,data???????mov??ds,ax???????mov??es,ax???????lea??si,string1???????lea??di,string2???????mov??cx,9???????repz?cmpsb???????jz???match???????lea??dx,inf2???????jmp??disp?match:lea??dx,inf1?disp?:mov??ah,09???????int??21h???????retmain?endpcode?endsend?start???????
5.4??试编写一程序,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07H)。
【解】:main?proc?far?start:?push?ds?sub?ax,ax?push?ax?input:?mov?ah,01H?int?21H?cmp?al,20H?je?exit?cmp?al,30H?jle?input?cmp?al,3AH?jge?input?sub?al,30H?mov?cx,ax?and?cx,0FFH?lop:?mov?dl,07H?mov?ah,2H?int?21H?loop?lop?jmp?input?exit?:?ret?main?endp?end?start
5.5??编写程序,将一个包含有20个数据的数组M分成两个数组:正数数组P和负数数组N,并分别把这两个数组中数据的个数显示出来。
【解】:??DATA SEGMENT ??? BUF DB -32, ? 25, ? 36, ?
您可能关注的文档
最近下载
- (安卓手机刷机包制作.doc VIP
- 学生如何预防颈椎疾病.pptx VIP
- 美学观点和历史观点的批评标准市公开课金奖市赛课一等奖课件.pptx
- T_CTSS 58-2022_茶叶感官风味轮.pdf
- 2025年北京市朝阳区高三二模物理试卷及答案.pdf
- 保险投诉培训课件.pptx VIP
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.4.84040.docx
- 第52次《中国互联网络发展状况统计报告》.docx
- 八年级下册-【知识速记】备战2023年中考地理核心知识背记(湘教版).docx VIP
- 七年级上册(考点梳理课件)-【知识速记】备战2023年中考地理核心知识背记(湘教版).pptx VIP
文档评论(0)