好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

新版汇编语言程序设计钱晓捷第4章习题答案Word版.pdf

22页
  • 卖家[上传人]:赵**
  • 文档编号:341167492
  • 上传时间:2022-12-06
  • 文档格式:PDF
  • 文档大小:798.06KB
  • 文本预览
  • 下载提示
  • 常见问题
    • 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!传播优秀 Word 版文档,希望对您有帮助,可双击去除!第 4 章 基本汇编语言程序设计 习题 4.1例题 4.2 如果要求算术右移 8 位,如何修改程序解答 思路:首先由最高位字节向次低位字节传送次低位字节向最低位字节传送(共 7 次);再判最高位字节符号位,如为 0,送 00h 到最高位字节;如为 1,送 ffh 到最高位字节传送可参考例题 4.2,不过应从第一号字节送第零号字节,最高位字节向次低位字节传送;也可以用循环来完成:.model small .stack 256 .data qvar dq 1234567887654321h .code .startup mov cx,7 mov si,1 again:mov al,byte ptr qvarsi mov byte ptr qvarsi-1,al inc si loop again test al,80h jz ezz mov bl,0ffh jmp done ezz:mov bl,0 done:mov byte ptr qvar7,bl .exit 0 end 习题 4.2例题 4.2 如果要求算术左移 7 位,如何用移位指令实现。

      解答 思路:可设计外循环体为 8 个字节左移一次,方法是:最低位字节算术左移一次,次低位字节至最高位字节依次带 CF 位循环左移一次(内循环共 8 次),外循环体控制执行 7 次即可model small .stack 256 .data qvar dq 1234567887654321h .code .startup mov dx,7 ;外循环次数 mov ax,byte ptr qvar0 ;最低位字节送 ax lpp:shl ax,1 ;最低位字节左移一次,其 d7 移入 CF 位 mov si,1欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!传播优秀 Word 版文档,希望对您有帮助,可双击去除!mov cx,7 ;内循环次数 again:rcl byte ptr qvarsi,1 ;高位字节依次左移 P50 inc si loop again dec dx jnz lpp .exit 0 .end 习题 4.3将 AX 寄存器中的 16 位数连续 4 位分成一组,共 4 组,然后把这 4 组数分别放在 AL、BL、CL 和 DL 寄存器中。

      解答 思路:设这四组从低位到高位分别放在 AL、BL、CL 和 DL 寄存器中仅列出代码段:mov bl,al ;将 al 中的两组分开 and al,0fh ;屏蔽高四位后送 al mov cl,4 ;原 al 中的数据逻辑右移 4 次送 bl shr bl,cl mov dl,ah ;将 ah 中的两组分开 and dl,0f0h ;屏蔽低高四位后送 dl mov cl,4 ;原 ah 中的数据逻辑右移 4 次送 dl shr dl,cl mov cl,ah ;屏蔽高四位后送 cl and cl,0fh 习题 4.4编写一个程序,把从键盘输入的一个小写字母用大写字母显示出来解答 getkey:mov ah,1 ;从键盘输入,出口:al 存键值 int 21h cmp al,a ;判键值是小写字母?jb getkay cmp al,z ja getkay sub al,20h ;是小写字母转换为大写字母 mov dl,al mov ah,02h ;显示 int 21h 习题 4.5已知用于 LED 数码管显示的代码表为:LEDtable DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h DB 80h,90h,88h,83h,0c6h,0c1h,86h,8eh 它依次表示 0 9、A F 这 16 个数码的显示代码。

      现编写一个程序实现将 lednum 中的一个数字(0 9、A F)转换成对应的 LED 显示代码解答 .model small欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!传播优秀 Word 版文档,希望对您有帮助,可双击去除!.stack 256 .data LEDtable DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h DB 80h,90h,88h,83h,0c6h,0clh、86h,8eh lednum DB?.code .startup mov bx,offset LEDtable mov al,lednum xlat ;al 中存有对应的 LED 显示代码 .exit 0 end 习题 4.6 请问第 2 章例题 2.39/2.41/2.43/2.46 的分支是单分支、双分支或多分支结构?解答 例题 2.43/2.452.47 为单分支结构;2.50 为多分支结构习题 4.7分析第 2 章例题 2.40 的分支结构,画出流程图解答 习题 4.8如果在例题 4.4 的 table 中依次填入 msg1 msg8,程序应该怎样修改?解答(1)将 jmp tablebx指令改为:mov dx,tablebx (2)去掉源程序中:.exit 0-end 之间的语句 习题 4.9编制一个程序,把变量 bufX 和 bufY 中较大者存入 bufZ;若两者相等,则把其中之一存入 bufZ 中。

      假设变量存放的是 8 位无符号数解答 .model small .stack 256欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!传播优秀 Word 版文档,希望对您有帮助,可双击去除!.data bufx db?bufY db?bufz db?.code .startup mov al,bufX mov bl,bufY cmp al,bl ja next mov bufZ,bl jmp done next:mov bufZ,al done:.exit 0 end 习题 4.10设变量 bufX 为有符号 16 位数,请将它的符号状态保存在 signX,即:如果 X大于等于 0,保存 0;如果 X 小于 0,保存-1(ffh)编写该程序解答 .model small .stack .data bufX dw-7 signX db?.code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next:mov signX,-1 done:.exit 0 end 习题 4.11bufX、bufY 和 bufZ 是 3 个有符号 16 进制数,编写一个比较相等关系的程序:(1)如果这 3 个数都不相等,则显示 0;(2)如果这 3 个数中有两个数相等,则显示 1;(3)如果这 3 个数都相等,则显示 2。

      解答 .model small .stack 256 .data bufx dw?欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!传播优秀 Word 版文档,希望对您有帮助,可双击去除!bufY dw?bufz dw?.code .startup mov ax,bufX mov bx,bufY mov cx,bufZ mov dl,0 cmp ax,bx jnz next1 inc dl next1:cmp ax,cx jnz next2 inc dl next2:cmp bx,cx jnz next3 inc dl next3:cmp dl,3 jb next4 mov dl,2 next4:mov ah,02h ;显示 int 21h .exit 0 end 习题 4.12分析第 2 章例题 2.42、2.52、2.53 的结构,分别画出它们的流程图解答 2.42 2.52欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!传播优秀 Word 版文档,希望对您有帮助,可双击去除!2.53 习题 4.13例题 4.8 内外循环次数共是多少?如果要求按从大到小排序,程序如何修改?解答 外循环次数是:count-1 次(19 次)内循环次数是:(count-1)!次 (19!次)内外循环次数共是 count-1+(count-1)!次,即 19+19!次 习题 4.14串操作指令常要利用循环结构,现在不用串操作指令实现字符串 string1 内容传送到字符串 string2,字符长度为 count。

      欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!传播优秀 Word 版文档,希望对您有帮助,可双击去除!解答 .model small .stack 256 .data string1 db good morning!len =$-string1 string2 db len dup(?).code .startup mov cx,len ;字符数 mov si,offset string1 ;源指针 mov di,offset string2 ;目标指针 again:mov al,si ;送一个字符 mov di,al inc si ;修改指针 inc di ;修改指针 loop again ;cx=cx-1,cx=0 时退出循环 .exit 0 end 习题 4.15 不用串操作指令求主存 0040h:0 开始的一个 64KB 物理段中共有多少个空格?解答 这里仅列出主程序段:mov ax,0040h ;送段地址 mov ds,ax xor si,si ;偏移量地址 xor cx,cx ;计数(循环次数)xor dx,dx ;空格计数器清零 again:cmp si,20h ;与空格的 ASCII 码比较 jne next ;不是空格,转 inc dx ;是空格,空格数加 1 next:inc si ;修改地址指针 loop again ;cx=cx-1,如 cx=0 退出循环 .exit 0 end 习题 4.16 编程实现把键入的一个字符,用二进制形式(0/1)显示出它的 ASCII 代码值。

      解答.model small .stack 256 .data stri1 db please input,0dh,0ah,$欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!传播优秀 Word 版文档,希望对您有帮助,可双击去除!.code .startup mov dx,offset stri1 mov ah,09h int 21h mov ah,01h int 21h mov cx,8 again:xor dl,dl shl al,1 adc dl,0 mov ah,02h int 21h loop again .exit 0 end 习题 4.17编写程序,要求从键盘接收一个数 bellN(0 9),然后响铃 bellN 次解答.model small .stack .data stri1 db please input number:1-9,0dh,0ah,$.code .startup again:mov dx,offset stri1 ;显示 stri1,提示输入 mov ah,09h int 21h mov ah,01h ;调用输入一个字符 int 21h ;输入一个字符存在 al 中 cmp al,1 ;判该字符,如不在1-9 jb again ;重新输入 cmp al,9 ja again and al,0fh ;在1-9,屏蔽高 4 位 mov cl,al ;振铃次数送 cx xor ch,ch abc:mov dl,07h ;调用一次振铃 mov ah,02h int 2。

      点击阅读更多内容
      相关文档
      2022 年注册测绘师考试《测绘综合能力》真题及详解【完整版】.docx 最新补考2022年广西专业技术人员继续教育公需科目题库及答案.docx 最新补考2023年广西专业技术人员继续教育公需科目题库及答案.docx 职业道德理论考试题库1[200道]含参考答案.docx 中级消防设施操作员理论考试试题[200道]含参考答案.docx 职业道德理论考试题库[200道]含参考答案.docx 中式烹调师[技师]理论知识考试题库[350道]含参考答案.docx 中级消防设施操作员理论考试题库[200道]含参考答案.docx 中式烹调师[技师]理论知识考试题库[300道]含参考答案.docx 注册健康管理师基础知识考试试题[200道]含参考答案.docx 云南省低压电工作业证复审考试题库[300道]含参考答案.docx 注册健康管理师基础知识考试题库1[100道]含参考答案.docx 中级消防设施操作员理论考试题库(200题)含参考答案.docx 中式烹调师[技师]理论知识考试题库[200道]含参考答案.docx 注册健康管理师基础知识考试试题[300道]含参考答案.docx 中级消防设施操作员理论考试题库(300题)含参考答案.docx 云南省低压电工作业证复审考试题库[400道]含参考答案.docx 注册健康管理师基础知识考试题库[300道]含参考答案.docx 中级消防设施操作员理论考试试题[300道]含参考答案.docx 育婴员专业技能证书考试题库题库[300道]含参考答案.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.