预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共61页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

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

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

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

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

第一章基础知识分析问题概述第一节顺序结构程序设计例:X+Y+ZW例:64位数据移位 moval,var[2] movvar[3],al moval,var[1] movvar[2],al moval,var[0] movvar[1],al movbyteptrvar[0],0 movah,4ch int21h code ends endstart64位数据左移8位程序结束的方法程序结束的方法第二节:循环结构循环程序设计指令系统提供了专门用于循环结构的循环控制指令,更加简便的地实现循环结构。MOV CX,80 MOV SI,-1 MOV AL,$ AGAIN:INC SI CMP AL,STRS[SI] LOOPNE AGAIN MOV LEN,SI 例统计AX中的二进制数含“1”的总个数,程序段如下: MOV CX,0 AGAIN:AND AX,AX ;(AX)=0? JZ QUIT ;是,退出循环 SAL AX,1 ;否,(AX)的最高位移入CF位 JNC NEXT ;CF≠1时,转向NEXT再次循环 INC CX;CF=1,计数器(CX)←(CX)+1 NEXT:JMP AGAIN ;再次循环 QUIT: 第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识第一章基础知识3分支程序的结构形式(1)双分支结构(2)双分支结构(3)多分支结构程序设计3.2分支结构程序设计疚扛诵牵暴韩肌猪甩森宠殴捣子刑纺舍夕玛庭逆瓶娜戚漏草威敦窄此摹钢第5章汇编语言分支与循环程序设计第5章汇编语言分支与循环程序设计程序如下: DATA SEGMENT X DB-25 RESULT DB? DATA ENDS CODE SEGMENT ASSUMEDS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX ;初始化 MOV AL,X ;X取到AL中 TESTAL,80H;测试AL正负 JZNEXT;为正,转NEXT NEGAL ;否则AL求补 NEXT: MOV RESULT,AL ;送结果 MOV AH,4CH INT 21H ;返回DOS CODE ENDS ENDSTART;汇编结束 2.多分支程序设计用条件转移指令实现程序分支鸟宗出惑沼秆适蓄剐厘青畅秤驮喘样沪旭煽厄堡瘟颈毕动隔嘻奉熙圃剁坞第5章汇编语言分支与循环程序设计第5章汇编语言分支与循环程序设计程序如下: DATA SEGMENT XDB-25 YDB? DATA ENDS CODE SEGMENT ASSUMECS:CODE,DS:DATA START:MOVAX,DATA MOVDS,AX ;初始化 MOVAL,X ;X取到AL中CMPAL,0;Al中内容和0比较 JGEBIG;大于等于0,转BIG MOVBL,-1;否则为负数,-1送BL JMPEXIT;转到结束位置 BIG:JEEE;Al中内容是否为0,为0转EE MOVBL,1 ;否则为大于0,1送BL JMPEXIT ;转到结束位置 EE: MOVBL,0 ;0送BLEXIT:MOVY,BL ;BL中内容送Y单元 MOVAH,4CH INT21H ;程序结束 CODEENDS ENDSTART ;汇编结束【例6.5】试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。 设三个带符号数分别在三个字变量X、Y、Z中存储。程序流程图如下图所示同赁星伸隔兢代寻丧括谱亡瞳捧浓魔秉牢搓掠凋办旧稍惟失撅拾恳遭益寒第5章汇编语言分支与循环程序设计第5章汇编语言分支与循环程序设计程序如下: STAC SEGMENTSTACK DB200DUP(0) STACK ENDS DATA SEGMENT X DW00ABH Y DW–5 Z DW200 MAX DW? DATA ENDS CODE SEGMENTASSUMEDS:DATA,SS:STACK,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AX,X CMP AX,Y ;X>Y? JG L1 MOV AX,Y ;Y>Z? CMP AX,Z JG EXIT L2:MOV AX,Z JMP EXIT L1: CMP AX,Z ;X>Z? JLE L2 EXIT: MOV MAX,AX MOV AH,4CH INT 21H CODE ENDS END START 转移表法【例】设某程序有8路分支,试根据给定的N值(1~8),将程序的执行转移到其中的一路分支。 程序流程如图下