您所在位置: 网站首页 / 微机原理例题.pptx / 文档详情
微机原理例题.pptx 立即下载
2024-08-16
约5.1千字
约41页
0
272KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

微机原理例题.pptx

微机原理例题.pptx

预览

免费试读已结束,剩余 36 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

例:有数组x(x1,x2,……,x10)和y(y1,y2,……,y10),
编程计算z(z1,z2,……,z10)

z1=x1+y1
z2=x2+y2
z3=x3-y3
z4=x4-y4
z5=x5-y5
z6=x6+y6
z7=x7-y7
z8=x8-y8
z9=x9+y9
z10=x10+y10xdwx1,x2,x3,x4,x5,x6,x7,x8,x9,x10
ydwy1,y2,y3,y4,y5,y6,y7,y8,y9,y10
zdwz1,z2,z3,z4,z5,z6,z7,z8,z9,z10
logic_ruledw00dch;0000,0000,1101,1100
……
movbx,0
movcx,10
movdx,logic_rule
next:movax,x[bx]
shrdx,1
jcsubtract
addax,y[bx]
jmpshortresult;向前引用
subtract:
subax,y[bx]
result:movz[bx],ax
addbx,2
loopnext
……;查表法,实现一位16进制数转换为ASCII码显示
datasegment
ASCIIdb30h,31h,32h,33h,34h,35h
	db36h,37h,38h,39h	;0~9的ASCII码
	db41h,42h,43h,44h,45h,46h;A~F的ASCII码
hex	db0bh;任意设定一个待转换的一位16进制数
dataends
codesegment
mainprocfar
assumecs:code,ds:data
start:
	pushds
	xorax,ax
	pushax
	movax,data
	movds,ax
				;-------------
	movbx,offsetASCII	;BX指向ASCII码表
	moval,hex	;AL取得一位16进制数,正是ASCII码表中位移	例:将正数n插入一个已整序的正数字数组。该数组的
首地址和末地址分别为ARRAY_HEAD,ARRAY_END。●由于数组已经排好序,因此可以将正数n依次和数组中的数进行比较,比较有个方向问题,这里假设数组在存储单元中按地址递增的方向从小到大依次存放。不妨从大数开始进行比较,当遇到第一个比n小的数,记下该位置,该位置就是要插入n的位置。
●找到出入位置后,如何在不破坏原来数据顺序基础上插入n呢?打个比方:9个同学按高矮依次做在1~10号椅子上,现在第10个同学按照高矮要做在第5号椅子上,那么如何空出第5号椅子呢,但仍然保持高矮次序?只要9号同学移到10号,910,89,78,67,56就可以了。同样,我们可以如法炮制,数组中将要插入数n位置前的数依次前移一个位置(两个字节),空出要插入位置,将n放入即可。
●在插入数时,可能遇到特殊情况,即数n比数组中所有的数都要大,或者小。若比所有的数都大,就不需要移动原数组中的数,直接插入即可;若比所有的数都小,就将数n放在数组的首位置。很显然,查找位置和空出位置的过程就是循环比较的过程,因此采用循环结构来实现,那么,循环条件如何确定呢?其中一种比较容易想到循环条件就是:数组长度(或数组首地址)及K<=n,其中K为依次从数组中取出的一个数。
另外,可以充分利用题目中的已知条件即数组中的数均为正数,所以我们可以在数组的开始的前一个位置存放一个负数,不妨存放数-1,这样,在循环控制时就不需要用数组长度来进行控制,可以进一步简化程序的设计。而且需要注意的是,有可能一次都不需要移动数组中的数。因此,应选择DO—WHILE结构形式。合肥学院计算机科学与技术系何立新《汇编语言程序设计》xdw?
array_headdw3,5,15,23,37,49,52,65,78,99
array_enddw105
ndw32例:把BX中的二进制数以十六进制的形式显示在屏幕上分析:(1)程序结构的确定
由题意应该把BX的内容从左到右每4位为一组在屏幕上显示出来,显然这可以用循环结构来完成,每次显示一个十六进制数位,因而循环次数是已知的,计数值为4。……
movch,4;初始化
rotate:movcl,4
rolbx,cl
moval,bl
andal,0fh
addal,30h;’0’~’9’ASCII30H~39H
cmpal,3ah
jlprintit
addal,7h;’A’~’F’ASCII41H~46H
printit:movdl,al
movah,2
int21h
decch
jnzrotate
…………
movcx,4;初始化
rotate:pushcx
movcl,4
rolbx,cl
moval,bl
andal,0fh
addal,30h;’0’~’9’ASCII30H~39
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

微机原理例题

文档大小:272KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用