- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“广泛流传”的版本 code segment assume cs:code start: mov ax,0100100110101001B xor bx,bx mov cx,16 circle: rol ax,1 怎么会有两个loop circle? jc BitSet inc bh loop circle jmp countover BitSet: inc bl loop circle 其实16位可以一块送 countover: mov ch,bh mov cl,bl mov ax,4c00h int 21h code ends end 完善流程图 流程图本身不是目的,而是将想法表达为算法,为编写程序代码做准备。 在流程图阶段,应当检查有没有原则性错误。 好的流程图不应当出现交叉的程序结构,更不应存在逻辑错误。 优化流程图,可以提高代码效率。 修改后的程序 code segment assume cs:code start: mov ax,0100100110101001B xor bx,bx mov cx,16 circle: rol ax,1 分支在循环结构里面 jc BitSet inc bh jmp countover BitSet: inc bl countover: loop circle 现在程序简洁了 mov cx,bx mov ax,4c00h int 21h code ends end 调试程序 1.不要急于输入输出,在DEBUG中也可以查看程序的执行结果,而且更全面。 2.记录程序运行的中间结果,分析其是否正确。如果不正确,要找出问题所在。 3.尽量列表格说明程序执行情况,用直观的手段说明你的观点。 例 说明刚才程序的执行结果:至少要列举3种情况 串操作指令 串是由字节、字、或双字组成的字符或数据序列,存放在存储器中。 基本指令集处理的串长度不超过64K。 串操作常用于数据块的快速移动、比较、搜索和存取,执行一次操作串中一个元 素,配上重复前缀可按条件完成对整个串的操作。 重复前缀 重复前缀指令的名称、汇编格式、重复条件、后续的串指令及操作见下表。 重复前缀也是一条指令,但不能单独使用,需加在串操作指令之前,使 串操作指令重复或条件重复执行,相当于运行一个循环程序; 取串指令LODS一般不加重复前缀,因为重复取出串中的元素送到累加 器Acc无意义(后面取出的数冲掉前面取出的数)。 串指令使用的一般方法 [3.3.5] 1.串传送指令 MOVSB / MOVSW [3.3.5] 1.串传送指令 MOVSB / MOVSW (move) [3.3.5] 2.串比较指令 CMPSB / CMPSW (compare) [3.3.5] 3.串搜索(扫描)指令 SCASB / SCASW [3.3.5] 4.串装入指令 LODSB /LODSW (load) 从内存串数据逐个装入到CPU的AL里来,使用重复前缀没有意义 [3.3.5] 5.串存储指令 STOSB / STOSW (store) ;习题 求100个8位补码数平均值及小于平均值的数的个数.MODEL SMALL ;小模式.DATA ;数据段 BM DB 34,-38,43,-51, 96 DUP(?) N EQU 4 PJ DB ? XG DB ?.STACK 200 ;堆栈段,预留200字节.CODE ;代码段START:MOV AX,@DATA ;数据段赋值 MOV DS,AX MOV SI,OFFSET BM ;SI指向数组首地址 MOV BX,0 ;累加寄存器清0 MOV CX,N ;对N个数累加LB1: MOV AL,[SI] ;取当前单字节补码数到AL CBW ;扩展为字在AX ADD BX,AX ;加到BX中 INC SI ;SI指向下一个数 LOOP LB1 ;循环 MOV AX,BX ;累加和送AX MOV CL,N ;置除数N IDIV CL ;除以+100得平均值于AL CBW ;扩展为字在AX MOV PJ,AL ;存平均值 MOV BL,0 ;计个数寄存器清0 MOV SI,OFFSET BM ;SI重新指向数组首地址 MOV CX,N ;对100个数统计LB2: CMP AL,[SI] ;平均值与当前补码数比较 JLE LB3 ;≤:不
您可能关注的文档
最近下载
- HERO9Black狗9中文说明书.pdf VIP
- 中医养生馆策划方案.pptx
- 山东省济南育英教育集团2024-2025学年下学期七年级期中数学试题[含答案].pdf VIP
- ISO 898-2-2022-中文紧固件—碳钢和合金钢制紧固件的机械.pdf
- 高速铁路概论:高速铁路通信系统PPT教学课件.pptx VIP
- 自动化立体仓库堆垛机控制系统的设计稿毕业设计稿.doc VIP
- 浅谈高速铁路通信系统与其它专业接口管理工作.pdf VIP
- 放射科图像质量控制标准(5篇).docx VIP
- 银行重要信息系统投产及变更管理办法模版.docx VIP
- NB∕T 32043-2018 光伏发电工程可行性研究报告编制规程.pdf VIP
文档评论(0)