资源描述
微机原理与接口技术,*,微机原理与接口技术,第,4,章 汇编语言程序设计,主要内容,4.1,分支程序结构,4.2,循环程序结构,4.3,子程序结构,4.4,与,C,混合编程,微机原理与接口技术,3,分析问题,确定,算法,根据算法,画出,程序流程图,参照流程图,编写,源程序,汇编,连接,生成可执行程序,程序调试,汇编语言源程序的设计方法,4.1,分支程序结构,微机原理与接口技术,4,汇编语言源程序的基本结构,顺序结构,分支结构,子程序结构,循环结构,4.1,分支程序结构,微机原理与接口技术,5,4.1,分支程序结构,高级语言采用,IF,等语句表达条件,并根据条件是否成立转向不同的程序分支,汇编语言需要,首先利用比较,CMP,、测试,TEST,、,加减运算,、,逻辑运算,等影响,状态标志,的指令,形成条件,然后利用,条件转移指令,判断由标志表达的条件,并根据,标志状态控制程序,转移到不同的程序段,4.1,分支程序结构,微机原理与接口技术,6,4.1.1,无条件转移指令,程序代码地址,CS,:,EIP,程序顺序执行,处理器自动增量,EIP,;程序控制转移,,EIP,随之改变;程序转移到另外的代码段,,EIP,和,CS,都改变,控制转移类指令,改变,EIP,(有些也改变,CS,),即改变程序执行顺序(实现程序控制转移)的指令,4.1,分支程序结构,微机原理与接口技术,7,1.,转移范围,段内转移(近转移),在当前代码段范围内的程序转移,不更改,CS,,只改变,EIP,短转移(,Short,):转移范围在,127,-128,字节,段间转移(远转移),从当前代码段跳转到另一个代码段,需要更改,CS,和,EIP,48,位远转移,FAR32,,,32,位远转移,FAR16,4.1,分支程序结构,微机原理与接口技术,8,2.,指令寻址方式,相对寻址方式,目标地址(转移后的,EIP,)当前,EIP,位移量,直接寻址方式,目标地址(转移后的,CS,和,EIP,)指令操作数,间接寻址方式,寄存器间接寻址:用,寄存器,保存目标地址,存储器间接寻址:用,存储单元,保存目标地址,4.1,分支程序结构,微机原理与接口技术,9,3.,无条件转移指令,JMP,无条件改变程序执行顺序,相当于,goto,语句,指令格式,JMP label,;,程序转向,label,标号指定的地址,;,段内相对寻址,段间直接寻址,JMP reg32/reg16,;,程序转向寄存器指定的地址,;,寄存器间接寻址,JMP mem32/mem16,;,程序转向存储单元指定的地址,;,存储器间接寻址,4.1,分支程序结构,微机原理与接口技术,10,JMP,指令的,4,种类型,段内转移、相对寻址,标号指明目标地址,指令代码包含位移量,段内转移、间接寻址,通用寄存器或主存单元包含目标指令偏移地址,段间转移、直接寻址,标号包含目标指令的段地址和偏移地址,段间转移、间接寻址,32,位段用,3,字存储单元包含目标地址,16,位段用双字存储单元包含目标地址,4.1,分支程序结构,微机原理与接口技术,11,例,4.1,无条件转移程序,.data,nvar,dword,?,.code,start:,jmp,labl1,nop,labl1:,jmp,near ptr,labl2,nop,labl2:,mov,eax,offset,labl3,jmp,eax,nop,labl3:,mov,eax,offset,labl4,mov,nvar,eax,jmp,nvar,nop,labl4:,exit 0,end,start,4.1,分支程序结构,微机原理与接口技术,12,4.1.2,条件转移指令,指令格式,JCC LABEL,LABEL,表示目标地址,采用段内相对寻址,32,位,IA-32,处理器:达到,32,位的全偏移量,16,位,80 x86,处理器:,-128,+127,间的短转移,条件转移指令不影响标志,但要利用标志,CC,表示判断条件,,16,种、两类,单个标志状态作为条件,两数大小关系作为条件,4.1,分支程序结构,微机原理与接口技术,13,1.,单个标志状态作为条件的条件转移指令,JZ(JE),和,JNZ(JNE),:利用零位标志,ZF,判断结果是零(相等)还是非零(不等),JS,和,JNS,:利用符号标志,SF,判断结果是负还是正,JO,和,JNO,:利用溢出标志,OF,判断结果是溢出还是没有溢出,JP(JPE),和,JNP(JPO),:利用奇偶标志,PF,判断结果低字节“,1”,的个数是偶数还是奇数,JC,和,JNC,:利用进位标志,CF,判断结果是有进位(为,1,)还是无进位(为,0,),4.1,分支程序结构,例,4-2,个数折半程序,14,.code,mov,eax,885 ;,假设一个数据,shr,eax,1,;,数据右移进行折半,jnc,goeven,;,余数为,0,,即,CF,0,条件成立,转移,add,eax,1,;,余数,为,1,,即,CF,1,,,进行加,1,操作,goeven,:,call,dispuid,;,显示结果,4.1,分支程序结构,微机原理与接口技术,15,例,4-3,位测试程序,;,数据段,no_msg,byte,Not Ready!,0,yes_msg,byte,Ready to Go!,0,;,代码段,mov,eax,56h;,假设一个数据,test,eax,02h;,测试,D1,位,(D1,1,,其他位为,0),jz,nom ;D1,0,条件成立,转移,mov,eax,offset yes_msg,;D1,1,,显示准备好,jmp,done;,跳转过另一个分支体!,nom:,mov,eax,offset no_msg;,显示没有准备好,done:,call dispmsg,4.1,分支程序结构,微机原理与接口技术,16,例,4-4,奇偶校验程序,call,readc;,键盘输入,,AL,返回值,call,dispcrlf;,回车换行(用于分隔),call,dispbb;,以二进制形式显示数据,call,dispcrlf;,回车换行(用于分隔),and,al,7fh,;,最高位置“,0”,、其他位不变,;,同时标志,PF,反映“,1”,的个数,jnp,next ;,个数为奇数,不需处理,转移,or,al,80h,;,个数为偶数,最高位置“,1”,、其他位不变,next:,call,dispbb ;,显示含校验位的数据,4.1,分支程序结构,微机原理与接口技术,17,2.,两数大小关系作为条件的条件转移指令,无符号数用高(,Above,)、低(,Below,),低于(不高于等于):,JB,(,JNAE,),不低于(高于等于):,JNB,(,JAE,),低于等于(不高于):,JBE,(,JNA,),不低于等于(高于):,JNBE,(,JA,),有符号数用大(,Greater,)、小(,Less,),小于(不大于等于):,JL,(,JNGE,),不小于(大于等于):,JNL,(,JGE,),小于等于(不大于):,JLE,(,JNG,),不小于等于(大于):,JNLE,(,JG,),4.1,分支程序结构,微机原理与接口技术,18,例,4-5,数据比较程序,4.1,分支程序结构,微机原理与接口技术,19,4.1,分支程序结构,微机原理与接口技术,20,4.1,分支程序结构,微机原理与接口技术,21,4.1.3,单分支结构,只有一个分支的程序,类似高级语言的,IF-THEN,语句结构,注意采用正确的条件转移指令,当条件满足(成立),发生转移,跳过分支体,条件不满足,顺序向下执行分支体,条件转移指令与高级语言的,IF,语句正好相反,IF,语句是条件成立,执行分支体,4.1,分支程序结构,微机原理与接口技术,22,单,分支结构的流程图,4.1,分支程序结构,微机原理与接口技术,23,例,4-6,求绝对值程序,;,代码段,call,readsid,;,输入一个有符号数,从,EAX,返回值,cmp,eax,0;,比较,EAX,与,0,jge,nonneg,;,条件满足:,EAX0,,转移,neg,eax,;,条件不满足:,EAX,0,,为负数,;,需求补得正值,nonneg:,call,dispuid;,分支结束,显示结果,4.1,分支程序结构,微机原理与接口技术,24,例,4-7,字母判断程序,call,readc,;,输入一个字符,从,AL,返回值,cmp,al,A;,与大写字母,A,比较,jb,done,;,比大写字母,A,小,不是大写字母,转移,cmp,al,Z;,与大写字母,Z,比较,ja,done,;,比大写字母,Z,大,不是大写字母,转移,or,al,20h;,转换为小写,call,dispcrlf;,回车换行,call,dispc;,显示小写字母,done:,4.1,分支程序结构,4.1.4,双分支结构,微机原理与接口技术,25,程序结构有两个分支,条件为真执行一个分支;条件为假,执行另一个分支,相当于高级语言的,IF-THEN-ELSE,语句,顺序执行的分支体,1,最后一定要有一条,JMP,指令跳过分支体,2,JMP,指令必不可少,实现结束前一个分支回到共同的出口作用,双分支结构有时可以改变为单分支结构,事先执行其中一个分支,(,选择出现概率较高的分支,),4.1,分支程序结构,微机原理与接口技术,26,双分支,结构的流程图,4.1,分支程序结构,微机原理与接口技术,27,例,4-8,显示数据最高位程序,;,数据段,dvar,dword,0bd630422h;,假设一个数据,;,代码段,mov,ebx,dvar,shl,ebx,1 ;EBX,最高位移入,CF,标志,jc,one ;CF,1,,即最高位为,1,,转移,mov,al,0 ;CF,0,,即最高位为,0,:,AL0,jmp,two ;,一定要跳过另一个分支,one:,mov,al,1 ;AL1,two:,call,dispc ;,显示,4.1,分支程序结构,微机原理与接口技术,28,例,4-9,有符号数运算溢出程序,;,数据段,dvar1,dword,1234567890,;,假设两个数据,dvar2,dword,-999999999,dvar3,dword,?,okmsg,byte,Correct!,0,;,正确信息,errmsg,byte,ERROR!Overflow!,0,;,错误信息,;,代码段,mov,eax,dvar1,sub,eax,dvar2,;,求差,jo,error,;,有溢出,转移,mov,dvar3,eax,;,无溢出,保存差值,mov,eax,offset okmsg,;,显示正确,jmp,disp,error:,mov,eax,offset errmsg,;,显示错误,disp:,call,dispmsg,4.1,分支程序结构,主要内容,4.1,分支程序结构,4.2,循环程序结构,4.3,子程序结构,4.4,与,C,混合编程,微机原理与接口技术,30,三个部分组成:,循环初始,为开始循环准备必要的条件,如,循环次数,、循环体需要的,初始值,等;,循环体,重复执行的程序代码,,其中包括对循环条件的修改等;,循环控制,判断循环条件是否成立,,决定是否继续循环,“先判断、后循环”的循环程序结构,对应高级语言的,WHILE,语句,“先循环、后判断”的循环程序结构,对应高级语言的,DO,语句,4.2,循环程序结构,微机原理与接口技术,31,循环,程序结构的流程图,4.2,循环程序结构,先,循环后判断,先判断后,循环,微机原理与接口技术,32,4.2.1,循环指令,LOOP label,;ECXECX,1,;若,ECX0,,循环到,LABEL,;,否则,顺序执行,JECXZ label,;ECX,0,,转移;否则顺序执行,目标地址采用,相对短转移,实地址存储模型使用,CX,作为计数器,DEC ECX,JNZ label,CMP ECX,0,JZ label,4.2,循环程序结构,微机原理与接口技术,33,4.2.2,计数控制循环,通过,次数,控制循环,LOOP,、,LECXZ,指令属于计数控制,常见是“先循环、后判断”循环结构,计数可以减量进行,即减到,0,结束,计数可以增量进行,即达到规定值结束,循环程序结构的关键是如何控制循环,4.2,循环程序结构,微机原理与接口技术,34,例,4-10,数组求和程序,mov,ecx,lengthof array,;ECX,数组元素个数,xor,eax,eax;,求和初值为,0,mov,ebx,eax;,数组指针为,0,again,:,add,eax,arrayebx*(type array),;,求和,inc,ebx;,指向下一个数组元素,loop,again,mov,sum,eax;,保存结果,call,dispsid,;,显示结果,4.2,循环程序结构,微机原理与接口技术,35,例,4-11,简单加密解密程序,4.2,循环程序结构,微机原理与接口技术,36,4.2,循环程序结构,微机原理与接口技术,37,4.2,循环程序结构,解密程序,:,微机原理与接口技术,38,4.2.3,条件控制循环,根据,条件,决定是否进行循环,需要使用,有条件转移指令,实现,多见“先判断、后循环”结构,先判断的条件控制循环程序,类似双分支结构,主要分支需要重复执行多次,(,JMP,的目标位置是循环开始),另一个分支用于跳出这个循环,先循环的条件控制循环程序,类似单分支结构,循环体就是分支体,顺序执行就跳出循环,4.2,循环程序结构,微机原理与接口技术,39,例,4-12,字符个数统计程序,4.2,循环程序结构,微机原理与接口技术,40,例,4-13,字符剔除程序,4.2,循环程序结构,微机原理与接口技术,41,4.2,循环程序结构,微机原理与接口技术,42,作 业,从键盘输入一个字符串“,ABCdefgh”,,如果是小写字母转换为大写,是大写字母不做处理,分别显示转换前后的字符串,编写程序,把变量,VAR1,和,VAR2,中较大者存入,VAR3;,若两者相等,则把其中之一存入,VAR3,中。假设变量存放的是,8,位有符号数,设变量,VARX,为有符号,16,位数,将它的符号状态保存在,signX,中,即如果变量大于等于,0,,保存,0,;如果小于,0,,保存,1,VARX,VARY,和,VARZ,是,3,个有符号,16,进制数,编写一个比较相等关系的程序:,(,1,)如果,3,个数都不相等,则显示,0,(,2,)如果,3,个数中有两个相等,则显示,1,(,3,)如果,3,个数都相等,则显示,2,求存储单元,00405000,开始的一个,64K,存储区域中共有多少个空格,主要内容,4.1,分支程序结构,4.2,循环程序结构,4.3,子程序结构,4.4,与,C,混合编程,微机原理与接口技术,44,经常用到的应用问题编写成一个,通用子程序,大型处理过程分解成能够解决的,模块,使用子程序可以,使程序的结构更为清楚,程序的维护更为方便,有利于大程序开发时的多个程序员分工合作,子程序(,Subroutine,),函数(,Function,),过程(,Procedure,),4.3,子程序结构,微机原理与接口技术,45,4.3.1,子程序指令,例,4-14,子程序调用程序,;,代码段,主程序,mov,eax,1,mov,ebp,5,call,subp,retp1:,mov,ecx,3,retp2:,mov,edx,4,call,disprd,4.3,子程序结构,微机原理与接口技术,46,;,子程序,subp,proc,;,过程定义,,,过程名为,subp,push,ebp,mov,ebp,esp,mov,esi,ebp+4,;ESI,CALL,下条指令,(,标号,RETP1),偏移地址,mov,edi,offset retp2,;EDI,标号,RETP2,的偏移地址,mov,ebx,2,pop,ebp,;,弹出堆栈,,,保持堆栈平衡,ret,;,子程序返回,subp,endp,;,过程结束,4.3,子程序结构,微机原理与接口技术,47,子程序调用指令,CALL,CALL,label,;EIP=label,指定的子程序,;ESP=ESP-4(2),;ESP=REPT1,子程序返回指令,RET,RET,;EIP=REPT1,;ESP=ESP+4(2),子程序定义伪指令对,PROC,ENDP,4.3,子程序结构,微机原理与接口技术,48,CALL,label,主程序,RET,子程序,回到,CALL,指令后第一条指令处,4.3,子程序结构,微机原理与接口技术,49,4.3.2,子程序设计,子程序的编写方法与主程序一样,子程序编写需要注意的问题:,利用,过程定义,,获得子程序名和调用属性,RET,指令返回主程序,,CALL,指令调用子程序,压入和弹出操作要,成对使用,,,保持堆栈平衡,开始保护寄存器,,,返回前相应恢复,安排在代码段的,主程序之外,子程序允许嵌套和递归,最好有完整的注释,难点是参数传递,4.3,子程序结构,微机原理与接口技术,50,例,4-15,十六进制显示程序,EAX=1234ABCDH,4.3,子程序结构,微机原理与接口技术,51,4.3,子程序结构,微机原理与接口技术,52,十六进制转换为,ASCII,码的另一种方法:,4.3,子程序结构,53,4.3.3,参数传递,主程序与子程序间通过参数传递建立联系,入口参数,(,输入参数,),:主程序,子程序,出口参数,(,输出参数,),:子程序,主程序,参数的具体内容,数据本身(传递数值),数据的存储地址(传递地址,传递引用),参数传递方法,寄存器,变量,堆栈,微机原理与接口技术,4.3,子程序结构,微机原理与接口技术,54,1.,寄存器传递参数,最简单和常用的参数传递方法,把参数存于约定的,寄存器,少量数据直接传递数值,大量数据只能传递地址,带有,出口参数,的寄存器,不能保护和恢复,带有,入口参数,的寄存器可以保护、也可以不保护,但最好能够保持一致,4.3,子程序结构,微机原理与接口技术,55,例,4-16,有符号十进制数显示程序,数据,0,?,显示“,0,”,数据,0,?,显示“,-,”,求数据绝对值,数据除以,16,,余数加,30h,保存,商,0,?,从高位依次显示各位数字,结束,Y,Y,Y,N,N,N,微机原理与接口技术,56,4.3,子程序结构,微机原理与接口技术,57,4.3,子程序结构,微机原理与接口技术,58,4.3,子程序结构,微机原理与接口技术,59,4.3,子程序结构,微机原理与接口技术,60,2.,共享变量传递参数,子程序和主程序使用,同一个变量名存取数据,如果变量定义和使用不在同一个程序模块中,需要利用,PUBLIC,、,EXTREN,声明,共享变量传递参数,子程序的通用性较差,适合在多个程序段间、尤其在不同的程序模块间传递数据,4.3,子程序结构,微机原理与接口技术,61,例,4-17,有符号十进制数输入程序,4.3,子程序结构,微机原理与接口技术,62,4.3,子程序结构,微机原理与接口技术,63,4.3,子程序结构,微机原理与接口技术,64,4.3,子程序结构,微机原理与接口技术,65,4.3,子程序结构,微机原理与接口技术,66,4.3,子程序结构,微机原理与接口技术,67,3.,堆栈传递参数,主程序将,入口参数压入堆栈,,子程序从,堆栈中取出参数,出口参数通常,不使用堆栈传递,高级语言进行函数调用时提供的参数,实质也利用堆栈传递,采用堆栈传递参数是,程式化的,,它是编译程序,处理参数传递,、以及,汇编语言与高级语言混合编程,时的,常规方法,4.3,子程序结构,微机原理与接口技术,68,例,4-18,计算有符号数平均值程序,4.3,子程序结构,微机原理与接口技术,69,4.3,子程序结构,微机原理与接口技术,70,4.3,子程序结构,微机原理与接口技术,71,利用堆栈传递参数,4.3,子程序结构,微机原理与接口技术,72,4.3.4,程序模块,程序分段、子程序等是进行程序模块化,开发大型程序时采用的方法,子程序模块,子程序库,库文件包含,宏汇编,源文件包含,4.3,子程序结构,微机原理与接口技术,73,1.,子程序模块,子程序,单独编写,,汇编形成目标模块,OBJ,文件,连接时输入子程序模块文件名,用共用伪指令,PUBLIC,和外部伪指令,EXTERN,声明,PUBLIC,标识符,标识符,;,定义标识符的模块使用,EXTERN,标识符,:,类型,标识符,:,类型,;,调用标识符的模块使用,子程序在代码段,与主程序文件采用相同的存储模型,没有开始执行和结束执行点,处理好子程序与主程序之间的参数传问题,4.3,子程序结构,微机原理与接口技术,74,例,4-19,数据输入输出程序,4.3,子程序结构,微机原理与接口技术,75,4.3,子程序结构,微机原理与接口技术,76,4.3,子程序结构,微机原理与接口技术,77,4.3,子程序结构,微机原理与接口技术,78,2.,子程序库,子程序库:统一管理子程序模块,遵循更加严格的子程序模块要求,子程序文件编写完成、汇编形成,目标模块,利用库管理工具程序,LIB.EXE,把子程序模块逐个加入到子程序库(,.LIB,),使用子程序库:在连接主程序模块时提供子程序库文件名,4.3,子程序结构,LIB,库文件名,+,子程序目标文件名,微机原理与接口技术,79,4.3,子程序结构,微机原理与接口技术,80,微机原理与接口技术,81,微机原理与接口技术,82,3.,库文件包含,直接在主程序源文件中用库文件包含伪指令,INCLUDELIB,说明,不用在连接时输入库文件名,INCLUDELIB,文件名,子程序库文件名要符合操作系统规范,必要时含有路径,用于指明文件的存储位置,如果没有路径名,汇编程序将在默认目录、当前目录和指定目录下寻找,4.3,子程序结构,微机原理与接口技术,83,4.,宏汇编,宏(,Macro,):具有宏名的一段汇编语句序列,宏需要先定义,宏名,MACRO,形参表,;,宏定义体,ENDM,然后程序中进行宏调用,宏名 实体参数,在汇编时,宏指令被汇编程序用宏定义的代码序列替代,实现宏展开,4.3,子程序结构,微机原理与接口技术,84,宏定义,WriteStringmacro msg,push eax,lea eax,msg,call dispmsg,pop eax,endm,宏展开,push eax,lea eax,msg,call dispmsg,pop eax,宏调用,WriteString msg,宏汇编示例,4.3,子程序结构,微机原理与接口技术,85,5.,源文件包含,INCLUDE,文件名,将,INCLUDE,伪指令指定的文本文件内容插入源程序,可以包含任何文本文件,一些常用的或有价值的宏定义存放在,.MAC,宏定义文件,各种常量定义、声明语句等组织在,.INC,包含文件,常用的子程序形成,.ASM,汇编语言源文件,利用,INCLUDE,伪指令包含其他文件,其实质仍然是一个源程序,只不过是分在了几个文件书写,组合两种文件包含、以及宏汇编等方法,可以精简程序框架、简化程序设计,4.3,子程序结构,微机原理与接口技术,86,IO32.INC,4.3,子程序结构,主要内容,4.1,分支程序结构,4.2,循环程序结构,4.3,子程序结构,4.4,与,C,混合编程,微机原理与接口技术,88,软件开发通常采用高级语言,以提高开发效率,某些部分需要利用汇编语言,以提高程序的运行效率,汇编语言的优点:开发的程序占用存储空间小、运行速度快等,汇编语言的缺点:与机器密切相关、移植性差,编程烦琐、对汇编语言程序员要求较高,混合编程:汇编语言与高级语言、或高级语言间,通过相互调用、参数传递、共享数据结构和数据信息而形成程序的过程,汇编语言与,C,和,C+,语言的混合编程,嵌入汇编,模块连接,MASM 6.15,和,Visual C+6.0,4.4,与,C+,混合编程,微机原理与接口技术,89,4.5.1,嵌入汇编,嵌入汇编,内嵌汇编内联汇编行内(,in-line,)汇编,直接在,C,和,C+,语言的源程序中插入汇编语言指令,使用“,_ _asm”,关键字指示嵌入汇编,Visual C+6.0,支持,通用整数和浮点指令集,以及,MMX,指令集的嵌入汇编,提供,_emit,伪指令扩展不能支持的指令,可以使用,C+,的数据类型和数据对象,可以使用,MASM,的表达式和,MASM,的注释风格,不可以使用,MASM,的绝大多数伪指令和宏汇编方法,需要注意有些具体规定,4.4,与,C+,混合编程,微机原理与接口技术,90,例,4-23,嵌入汇编计算数组平均值函数,4.4,与,C+,混合编程,微机原理与接口技术,91,4.4,与,C+,混合编程,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,嵌入汇编,微机原理与接口技术,104,4.4.2,模块连接,各种语言的程序分别编写,利用各自的开发环境编译形成,OBJ,模块文件,将它们连接在一起,生成可执行文件,为了保证正确连接,采用一致的调用规范,声明共用函数和变量,正确传递入口参数和返回参数,使用,MASM,的扩展过程定义,4.4,与,C+,混合编程,微机原理与接口技术,105,例,4-24,模块连接计算数组平均值函数,#include,#define COUNT 10,extern C long mean(long d,long num);,int main(),long arrayCOUNT=675,354,-34,198,267,0,9,2371,-67,4257;,coutThe mean is t,mean(array,COUNT),endl;,return 0;,4.4,与,C+,混合编程,微机原理与接口技术,106,4.4,与,C+,混合编程,模块连接汇编模块,微机原理与接口技术,107,模块连接创建项目,微机原理与接口技术,108,模块连接编辑主程序,微机原理与接口技术,109,模块连接加入项目,微机原理与接口技术,110,模块连接创建可执行文件,微机原理与接口技术,111,模块连接生成可执行文件,微机原理与接口技术,112,模块连接执行结果,微机原理与接口技术,113,微机原理与接口技术,114,第,4,章 总结,理解,目标地址的转移范围和寻址方式,掌握,控制转移指令,处理器指令:,JMP,,,Jcc,,,LOOP,,,JECXZ,,,CALL,,,RET,伪指令:,PROC/ENDP,,,MACRO/ENDM,,,INCLUDE,,,INCLUDELIB,掌握,各种程序结构及其编程方法,单分支、双分支,计数控制循环、条件控制循环,子程序、子程序模块和子程序库,熟悉,嵌入汇编和模块连接的混合编程方法,熟悉,常见编程问题,数组运算,大小写转换,奇偶校验,字符或数据个数统计,求最小值、最大值,字符删除,二进制、十进制、十六进制数据相互转换,二进制、十进制、十六进制数据的键盘输入和显示输出,
展开阅读全文