计算机原理MCS习题答案剖析.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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精品文档

相关文档