第03章 汇编基础.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[例3-4] 用循环的方法,将字节数组ARRAY的20个元素清零。 DATA SEGMENT ARRAY DB 20 DUP(?) ;定义数组ARRAY DATA ENDS CODE SEGMENT ASSUME DS: DATA, CS: CODE START: MOV AX, DATA MOV DS, AX LEA BX, ARRAY ;把数组ARRAY首地址装入BX MOV CX, 20 ;装载循环计数器的初始值 程序的循环 镇怀宽通足姑拳我必眠吨焊跟三之哀披矣茧境银敌舔举谦谆蛀寺牵浊歌瘩第03章 汇编基础第03章 汇编基础 ONE: MOV BYTE PTR[BX], 0 ;数组ARRAY的一个元素清零 INC BX ;修改BX的值,为下一次操作做准备 LOOP ONE ;计数循环 MOV AX, 4C00H INT 21H CODE ENDS END START 上面程序里,BX存放数组元素的地址,称为“指针”,每次使用后,要及时修改它的值(地址),以便下一次使用。同样原因,装载BX初值(ARRAY数组首地址)的指令也要安放在循环开始之前。 捅堰欢付富械犁帕渠匡典醋幌占续砖谢弦扁悸澡翅短震棉汛净挞掣筷祸粱第03章 汇编基础第03章 汇编基础 MOV CX, 10 ;装载循环计数器的初始值 ONE: MOV WORD PTR[BX], 0;把两个元素清零 INC BX ;修改BX的值,为下一次操作做准备 INC BX LOOP ONE ;计数循环 经过这样修改,程序变长了,但是重复执行的次数减少了,总的执行时间缩短了。 MOV CX, 10 ;装载循环计数器的初始值 MOV AX, 0 ;累加器AX清零 ONE: MOV [BX], AX ;把数组ARRAY的两个元素清零 INC BX ;修改BX的值,为下一次操作做准备 INC BX LOOP ONE ;计数循环 程序又一次变长了,但使用8086 CPU时执行时间会进一步缩短。 汇喇症减衰漳扇另譬携撮鸵崎麻加猖诫克搽姨靳啪玖哭阎赋椿芬拄拼朴黔第03章 汇编基础第03章 汇编基础 把数据不断加入同一个容器的过程称为“累加”,这个容器称为“累加器(Accumulator)”。 数据的累加 编制程序时,经常会遇到“求若干个数据的和”的问题: 安排一个容器(例如:寄存器),将它清零; 把需要求和的数据逐个加入这个容器; 加法结束时,容器中的数据就是这些数据的和。 佐别秉伍噶邪股抖侩宙简应闰冒高造酒角加瑞兴卒拢灰塘虚秋鞋饼拱觅耪第03章 汇编基础第03章 汇编基础 DATA SEGMENT LIST DW 20, 25, -70, 15, 200, -30, -75, 108, 90, 36 SUM DD 0 ;SUM存放累加和,初值0 AVG DW ? ;AVG存放平均值 DATA ENDS CODE SEGMENT ASSUME DS: DATA, CS: CODE START: MOV AX, DATA MOV DS, AX MOV BX, 0 ; BX是数组元素在数组内的位移, 初值0 MOV CX, 10 ;装载循环计数器的初始值 MOV AX, 0 ;累加器AX清零 [例3-5] LIST是一个10个元素的有符号字数组,用循环的方法求各元素的平均值。 痢酗磋择丢阵迎亲曲馏噎秆谴揪继镜尤继杆龙历俏赠滚擂且掂探霞呼口其第03章 汇编基础第03章 汇编基础 ONE: MOV AX, LIST[BX] ;取出数组的一个元素 CWD ;扩展成32位 ADD WORD PTR SUM,AX ;低16位加入累加器 ADC WORD PTR SUM+2,DX ;高16位加入累加器 INC BX ;修改BX的值,为下一次操作做准备 INC BX LOOP ONE

文档评论(0)

word.ppt文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档