习题解答汇编程序部分.doc

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

《16/32位微机原理、汇编语言及接口技术》习题解答 第2章 微处理器指令系统(习题2) 2.20 按照下列要求,编写相应的程序段: ⑴ 起始地址为string的主存单元中存放有一个字符串(长度大于6),把该字符串中的第1个和第6个字符(字节量)传送给DX寄存器。 mov dl,string[1] mov dh,string[6] ⑵ 有两个32位数值,按“小端方式”存放在两个缓冲区buffer1和buffer2中,编写程序段完成DX.AX←buffer1-buffer2功能。 mov ax, word ptr buffer1 sub ax, word ptr buffer2 ;先减低16位 mov dx, word ptr buffer1+2 sbb dx, word ptr buffer2+2 ;后减高16位,需减低16位的借位 ⑶ 编写一个程序段,在DX高4位全为0时,使AX=0;否则使AX=-1。 test dx,0f000h jz next mov ax,-1 jmp done next: mov ax,0 done: … ⑷ 把DX.AX中的双字右移4位 答: mov cx,4 again: shr dx,1 ;右移一位,移出的低位进入CF标志 rcr ax,1 ;将CF移进AX高位,同时实现AX右移 loop again ;循环4次,实现4位右移 ⑸ 有一个100个字节元素的数组,其首地址为array,将每个元素减1(不考虑溢出或借位)存于原处。 mov cx,100 mov bx,0 again: sub array[bx],1 inc bx loop again 2.21 AAD指令是用于除法指令之前,进行非压缩BCD码调整的。实际上,处理器的调整过程是:AL←AH×10+AL,AH←0。如果指令系统没有AAD指令,请用一个子程序完成这个调整工作。 aadp proc push bx shl ah,1 mov bl,ah shl ah,1 shl ah,1 add bl,ah add al,bl mov ah,0 pop bx ret aadp endp 2.23 答: htoasc proc push dx and al,0fh aad al,90h daa adc al,40h daa mov dl,al mov ah,2 int 21h ;显示个位数 pop dx ret htoasc endp 2.24 答: dispasc proc push dx xor ah,ah aam add ax,3030h push ax mov dl,ah mov ah,2 int 21h ;显示十位数 pop ax mov dl,al mov ah,2 int 21h ;显示个位数 pop dx ret dispasc endp 2.25 编写一个程序段:先提示输入数字“Input Number:0 ~ 9”,然后在下一行显示输入的数字,结束;如果不是键入了0 ~ 9数字,就提示错误“Error!”,继续等待输入数字。 答: ;数据段 inmsg db ‘Input Number:0 ~ 9’,0dh,0ah,’$’ ermsg db ‘Error!’,’$’ ;代码段 mov dx,offset inmsg mov ah,9 int 21h ;显示输入数字0~9 again: mov ah,1 int 21h ;接受一个字符 cmp al,’0’ ;判断是否输入的是数字0~9 jb erdisp cmp al,’9’ ja erdisp mov dl,al mov ah,2 int 21h ;显示输入的数字 jmp done ;结束 erdisp: mov dx,offset ermsg mov ah,9 int 21h ;显示输入错误 jmp again ;继续输入 done: … 第3章 汇编语言程序设计(习题3) 3.16 解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 3.17 解: mov bx,offset LEDtable mov al,lednum xlat 3.18 解: mov ax, bufX cmp ax, bufY jae done mov ax, bufY done: mov bufZ, ax 3.19 解: .model

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档