计算机原理MCS习题答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MCS_8086习题: 0dh, 0ah, ‘Please input(a-z): $’ str2 db 0dh, 0ah, ‘The input is error!$’ str3 db 0dh, 0ah, ‘The result is: $’ data ends ss_seg segment stack dw 100 dup(0) ss_seg ends code segment para assume cs:code, ss:ss_seg, ds:data main proc far mov ax, data mov ds, ax main1: lea dx, str1 ;显示提示信息 mov ah, 9 int 21h mov ah, 1 ;输入小写字母 int 21h cmp al, ‘A’ ;判断输入字符是否为’a’~’z’ jb error cmp al, ‘Z’ ja error jmp next error: lea dx, str2 ;显示错误提示信息 mov ah, 9 int 21h jmp main1 ;跳转,重新输入 next: sub al, 20h push ax lea dx, str3 ;显示输出提示信息 mov ah, 9 int 21h pop ax mov dl, al ;显示转换后的大写字母 mov ah, 2 int 21h mov ax, 4c00h ;返回操作系统 int 21h main endp code ends end main 编写一子程序asc2bin,将ASCII转换为二进制数 要求: 输入参数:AL中存放需要转换的ASCII 输出参数:AL中存放转换后的二进制数并返回 ;功能:将ASCII转换为二进制数 ;输入参数:AL中存放需要转换的ASCII ;输出参数:AL中存放转换后得到的二进制数 asc2bin proc sub al, 30h cmp al, 9 jbe asc2bin_1 sub al, 7 asc2bin_1: ret asc2bin endp 内存中存放8个16位有符号数,求8个数值之和,并将结果存放在内存变量SUM中 注:程序中应用到字扩展为双字的指令CWD data segment para buf dw -1, 30000, 35000, 36000, 37000, 20000, 10000, -2 sum dd 0 data ends ss_seg segment stack dw 100 dup(0) ss_seg ends code segment para assume cs:code, ds:data, ss:ss_seg main proc far mov ax, data mov ds, ax lea bx, buf ;bx指向buf首地址 mov cx, 8 main1: mov ax, [bx] cwd ;有符号数字扩展为双字 add word ptr sum, ax ;32位数相加 adc word ptr sum + 2, dx inc bx inc bx loop main1 ;循环8次 mov ax, 4c00h int 21h main endp code ends end main 内存中存放8个8位有符号数,请按从大到小顺序排列 data segment para buf db -1, 30, 35, 36, 37, 20, 100, -2 data ends ss_seg segment stack dw 100 dup(0) ss_seg ends code segment para assume cs:code, ds:data, ss:ss_seg main proc far mov ax, data mov ds, ax mov cx, 8 main1: mov bx, 0 ;外循环 mov di, 0 push cx main2: mov al, buf[bx] ;内循环 cmp al, buf[bx+1] jge next xchg al, buf[bx+1] ;不符合规则, 则交换数据 mov buf[bx], al mov di, 1 next: inc bx loop main2 p

文档评论(0)

糖糖 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档