- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 新外研版高中英语必修三Unit 3 The world of science Period 1 Starting out & Understanding ideas说课稿.doc
- 项目回款登记表.xlsx VIP
- 《药品记录与数据管理要求》解读.pptx
- 购物广场商场超市消防安全知识培训PPT.pptx VIP
- 油田运输有限公司HSE管理的体系程序文件.doc
- 人教版2022-2023学年二年级数学第一学期期中测试卷(含答案).docx
- 全科医师培训课件.pptx
- 汉字听写大会试题库(附答案).pdf VIP
- 专科医生如何带教全科医生课件.pptx
- 2024小学生汉字听写大会竞赛试题库(附答案).docx VIP
文档评论(0)