微型计算机键盘ins代表,微型计算机技术69124.ppt

本文介绍了汇编语言中循环程序设计的基础,包括初始化、循环体、修改和控制四个部分,并提供了两个实例,分别展示了如何将二进制数转换为十六进制显示以及统计二进制位值为1的个数。此外,还探讨了多重循环程序的设计,强调了外层循环与内层循环的控制和初始条件的设置,并以数组排序为例阐述了起泡排序的实现。
摘要由CSDN通过智能技术生成

微型计算机技术69124

第四章 汇编语言程序设计基础 4.1循环程序设计 在程序设计中,常常需要一段程序反复执行若干次,这通常用循环的方法来实现,借助几种循环控制指令和前缀可以方便地实现循环。 4.1.1基本结构的循环程序 (1)初始化部分:循环前的准备工作,包括建立指针、设置变量及循环初值等。 (2)循环体:这是循环程序的工作部分,完成循环的基本操作。 (3)修改部分:修改参数,包括操作数地址、循环计数值或其他控制变量。 (4)控制部分:根据对循环条件的判断结果,控制循环的执行或结束。 例:编制一个程序,将BX寄存器中的二进制数用十六进制数的形式显示出来。 (1) BX寄存器中的二进制数可用 4位十六进制数显示,故循环次数为 4,放入CH中。 (2) BX循环左移4次,最高位数字 移到最低位置; (3)0~9的数字与ASCII码差为30H; A~F(41H ~46H)与ASCII码差为 37H;故0~9的数字+30H,而A~F 应+37H。 PROGNAM SEGMENT MOV AH,4CH MAIN PROC FAR INT 21H ASSUME CS:PROGNAM MAIN ENDP START: MOV CH ,4 PROGNAM ENDS ROTATE: MOV CL ,4 ROL BX ,CL MOV AL , BL AND AL ,0FH ADD AL ,30H CMP AL ,3AH JL PIRNTIT ADD AL ,07H PIRNTIT:MOV DL ,AL MOV AH ,4CH INT 21H DEC CH JNZ ROTATE 例:统计某字单元中二进制数位值为1的个数,统计结果存放在变量ONE中。 DATA SEGMENT NUM DW 1669H FINI: MOV AH,4CH ONE DB ? INT 21H DATA ENDS CODE ENDS CODE SEGMENT END START ASSNUM CS:CODE DS:DATA START:MOV AX ,DATA MOV DS,AX MOV AX,NUM COMP:CMP AX,0 JZ FINI SHL AX,1 JNC COMP INC ONE JMP COMP 4.1.2 多重循环程序 一个计算过程可能要依赖几个互相独立变化的参数,这就需要在一个循环过程中再包含一个循环过程,形成外层循环嵌套内层循环的结构形式,这种程序就称为多重循环程序。 多重循环程序设计的基本方法和单重循环程序设计是一致的,应分别考虑各层循环的控制条件及其程序实现,相互之间不能混淆。另外要注意在每次通过外层循环再次进入内层循环时,初始条件必须重新设置。 例:有一个首地址为A的N字数组,请编制程序使该数组中的数按照从小到大 的次序排列(整序)。 采用起泡排序算法实现整序:从第一个数开始依次对相邻两个数Ki和Ki十l进行比较,若Ki ≤ Ki十l , Ki的位置不动, Ki十l继续和Ki十2比较;若Ki > Ki十1,则两者交换位置。 Ki十1(交换前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值