版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、五、程序控制指令n转移指令转移指令n循环控制循环控制1. 转移指令转移指令n无条件转移指令无条件转移指令n 无条件转移到目的地址,执行新的指令无条件转移到目的地址,执行新的指令n有条件转移指令有条件转移指令n 在具备一定条件的情况下转移到目的地址在具备一定条件的情况下转移到目的地址转移指令的转移原理n经过修正代码段存放器经过修正代码段存放器CS及指令指针及指令指针IP的内容,使程序改动顺序执行的方式,转的内容,使程序改动顺序执行的方式,转到新的目的地址执行。到新的目的地址执行。无条件转移指令n指令格式:指令格式:n JMP OPRDn无条件转移的目的地址可以是在当前代码段,无条件转移的目的地址
2、可以是在当前代码段,也可在另一代码段也可在另一代码段无条件转移指令n段内转移段内转移目的地址与目的地址与JMP指令在同一代码指令在同一代码段段n转移方式:转移方式:n 直接转移直接转移指令中直接给出转移的目的指令中直接给出转移的目的地址地址n 间接转移间接转移由指令中的存放器或存储器由指令中的存放器或存储器间接给出转移间接给出转移n 目的地址目的地址无条件段内转移n直接转移:直接转移:n JMP Lablen转移目的地址:转移目的地址:n 段基地址不变;段基地址不变;n 偏移地址偏移地址=当前当前IP+位移量位移量JMPLabel代代码码段段位移量位移量近地址标号近地址标号无条件段内转移n间接
3、转移:间接转移:n JMP BXn JMP WORD PTRBXJMP代代码码段段数数据据段段BX=1200XXHXXHIP指令码指令码无条件段间转移n直接转移:直接转移:n JMP FAR Lable远地址标号远地址标号JMPLabel代代码码段段1代代码码段段2XXHXXHXXHXXHIPCS无条件段间转移n间接转移:间接转移:n JMP DWORD PTRBXXXHXXHXXHXXHBXIPCSJMP指令码指令码代代码码段段1代代码码段段2数数据据段段条件转移指令n在满足一定的条件下,程序转移到目的地址继在满足一定的条件下,程序转移到目的地址继续执行;续执行;n在条件转移指令之前,应有一
4、条为条件转移指在条件转移指令之前,应有一条为条件转移指令的执行构成条件的指令如对标志位产生影令的执行构成条件的指令如对标志位产生影响的指令;响的指令;n条件转移指令均为段内短转移,即转移范围为:条件转移指令均为段内短转移,即转移范围为:n -128-+127p206条件转移指令举例n例例1:在内存的数据段中存放了:在内存的数据段中存放了100个个8位带符位带符号数号数,其首地址为其首地址为TABLE,试统计其中正数、负试统计其中正数、负数和零的个数,并分别将个数存如数和零的个数,并分别将个数存如PLUS、MINUS和和ZERO三个单元中。三个单元中。条件转移指令举例n例例2:在以:在以DATA
5、为首地址的内存数据段中,为首地址的内存数据段中,存放有存放有200个个16位带符号数,试找出其中最大位带符号数,试找出其中最大和最小的符号数,并分别放在和最小的符号数,并分别放在MAX和和MIN为为首的内存单元中。首的内存单元中。2. 循环控制指令循环控制指令n控制程序在以当前控制程序在以当前IP为中心的为中心的-128+127范围范围内循环执行;内循环执行;n循环次数由循环次数由CX存放器指定。存放器指定。 循环指令循环指令无条件循环指令无条件循环指令LOOP 条件循环指令条件循环指令LOOPZE LOOPNZE对标志位不产生影响对标志位不产生影响无条件循环指令n格式:格式:n LOOP L
6、ablen循环条件:循环条件:n CX 0nLOOP指令的操作相当于:指令的操作相当于: n DEC CXn JNZ Lable条件循环指令n格式:格式:n LOOPZ Lablen LOOPE Lablen循环条件:循环条件:n CX 0 ZF=1n格式:格式:n LOOPNZ Lablen LOOPNE Lablen循环条件:循环条件:n CX 0 ZF=05.4 5.4 汇编言语源程序汇编言语源程序掌握:掌握:汇编言语与汇编程序的概念;汇编言语与汇编程序的概念;汇编言语程序设计过程;汇编言语程序设计过程;汇编言语源程序的构造框架;汇编言语源程序的构造框架;常用伪指令及根本常用伪指令及根本
7、DOS功能模块的运用。功能模块的运用。一、汇编言语及汇编程序n计算机言语:计算机言语:机器言语机器言语汇编言语汇编言语高级言语高级言语面向机器面向机器 的言语的言语机器言语机器言语汇编言语汇编言语高级言语高级言语汇编言语及汇编程序n汇编言语源程序汇编言语源程序 用助记符编写的程序用助记符编写的程序源程序的编译程序源程序的编译程序汇编程序汇编程序汇编言语汇编言语源程序源程序机器言语机器言语目的程序目的程序汇编言语程序设计与执行过程n输入汇编言语源程序输入汇编言语源程序 源文件源文件 .ASMn汇编编译汇编编译 目的文件目的文件 .OBJn链接链接 可执行文件可执行文件 .EXEn调试调试 最终程
8、序最终程序汇编言语的语句格式n指令性语句指令性语句 由由CPU执行的指令执行的指令n语句格式:语句格式:n标号:标号: 前缀前缀 助记符助记符 操作数操作数,操作数操作数 ;注释注释指令的符号地址,指令的符号地址,标号后要有冒号标号后要有冒号操作码操作码注释前加分号注释前加分号汇编言语的语句格式n指示性语句指示性语句 :n CPU不执行的指令,不生成目的代码;不执行的指令,不生成目的代码;n 由汇编程序执行,用于分配内存空间、定义由汇编程序执行,用于分配内存空间、定义变量、指示程序开场和终了等。变量、指示程序开场和终了等。n指令格式:指令格式:名字名字 伪指令助记符伪指令助记符 操作数操作数
9、,操作数,操作数, ;注释;注释变量的符号地址变量的符号地址其后不加冒号其后不加冒号指示性语句中至少有一个操作数指示性语句中至少有一个操作数操作数n常量常量 数值或字符、字符串数值或字符、字符串n存放器存放器n存储器单元存储器单元n变量或标号变量或标号n表达式表达式 可包括各种运算符可包括各种运算符变量n代表内存中的数据区,程序中视为存储器代表内存中的数据区,程序中视为存储器操作数操作数n变量的属性:变量的属性:n 段段 值值 变量所在段的段地址变量所在段的段地址n 偏移量偏移量 变量单元地址与段首地址变量单元地址与段首地址之之n 间的位移量。间的位移量。n 类类 型型 字节型、字型和双字型字
10、节型、字型和双字型二、根本伪指令n数据定义伪指令数据定义伪指令n符号定义伪指令符号定义伪指令n段定义伪指令段定义伪指令n设定段存放器伪指令设定段存放器伪指令n终了伪指令终了伪指令数据定义伪指令n用于定义数据区中变量的类型用于定义数据区中变量的类型n格式:格式:n 变量名变量名 伪指令助记符伪指令助记符 操作数,操作数, ;注释注释数据定义伪指令伪指令助记符伪指令助记符DB 定义的变量为字节型定义的变量为字节型DW 定义的变量为字类型双字节定义的变量为字类型双字节DD 定义的变量为双字型定义的变量为双字型4字节字节DQ 定义的变量为定义的变量为4字型字型8字节字节DT 定义的变量为定义的变量为1
11、0字节型字节型数据定义伪指令nDATA1 DB 11H,22H,33H,44HnDATA2 DW 11H,22H,3344HnDATA3 DD 11H*2,22H,33445566H思索以上变量在内思索以上变量在内存中的存放方式存中的存放方式数据定义伪指令n伪指令的性质决议所定义变量的属性;伪指令的性质决议所定义变量的属性;n定义字符串必需用定义字符串必需用DB伪指令伪指令n例:例:n DATA1 DB ABCD,66HABCD41H42H43H44H66H反复操作符n为一个数据区的各单元设置一样的初值为一个数据区的各单元设置一样的初值n格式:格式:n 变量名变量名 伪指令助记符伪指令助记符
12、n DUP初初值,值,n例:例:n BW 20 DUP0n DB 3 DUP22H,11H,?,?随机数随机数符号定义伪指令n格式:格式:n 符号名符号名 EQU表达式表达式n操作:操作:n 用符号名取代后边的表达式,不可重新定义用符号名取代后边的表达式,不可重新定义n例:例:n CONSTANTEQU 100n VAR EQU 30H+99HEQU阐明的表达式不占用内存空间阐明的表达式不占用内存空间段定义伪指令n阐明逻辑段的起始和终了;阐明逻辑段的起始和终了;n阐明不同程序模块中同类逻辑段之间的阐明不同程序模块中同类逻辑段之间的联络形状联络形状段定义伪指令段名段名 SEGMENT 定位类型定
13、位类型 组合类型组合类型 类别类别 段名段名 ENDS阐明逻辑阐明逻辑段的起点段的起点阐明不同模块阐明不同模块中同名段的组中同名段的组和衔接方式和衔接方式段定义伪指令例DATA SEGMENT MEM1 DB 11H,22HMEM2 DW 1234HDATA ENDS设定段存放器伪指令n阐明所定义逻辑段的性质阐明所定义逻辑段的性质n格式格式n ASSUME 段存放器名:段名段存放器名:段名n ,段存放器名:段名,段存放器名:段名,终了伪指令n表示源程序终了表示源程序终了n格式:格式:n END 标号标号一个完好源程序构造例DSEG SEGMENTDATA1 DB 1,2,DATA2 DW 12
14、34HDSEG ENDSESEG SEGMENT DB 20 DUP?ESEG ENDSSSEG SEGMENT DB 200 DUP?SSEG ENDS一个完好源程序构造例CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG, ES:ESEG,SS:SSEG START:MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX MOV AX,SSEG MOV SS,AX CSEG ENDS END START源程序源程序 代码代码四、DOS功能模块n用用 INT 21H 软中断指令,可调用包含多软中断指令,可调用包含多个子功能的功能包;个子功能
15、的功能包;n各子功能采用功能号来区分;各子功能采用功能号来区分;n功能包括:设备管理、目录管理、文件管功能包括:设备管理、目录管理、文件管n 理等。理等。DOS功能模块调用格式功能模块调用格式n调用格式:调用格式:n MOV AH,功能号,功能号n n INT 21H常用子功能n从键盘输入单字符并显示;从键盘输入单字符并显示;n从键盘输入字符串并显示;从键盘输入字符串并显示;n在屏幕上显示单字符;在屏幕上显示单字符;n在屏幕上显示字符串。在屏幕上显示字符串。从键盘输入单字符并显示n调用方法:调用方法:n MOV AH,01n INT 21Hn输入的字符在输入的字符在AL中中单字符输入例GET_
16、KEY: MOVAH,1 INT21H CMPAL,Y JZ YES CMPAL,N JZ NO JNZGET_KEY YES: NO: 交互式应交互式应 答程序答程序单字符显示输出nAH 功能号功能号O2HnDL 待输出字符待输出字符nINT 21H单字符显示输出例nMOVAH,02nMOVDL,41HnINT21Hn 执行结果:屏幕显示字符执行结果:屏幕显示字符 A字符串输出显示nAH 功能号功能号O9HnDS:DX 待输出字符串的偏移地址待输出字符串的偏移地址nINT 21H字符串输出显例如DATA SEGMENTMESS1 DB Input String: 0DH,0AH,$DATA
17、ENDSCODE SEGMENT MOV AH,09MOV DX,OFFSET MESS1INT21H 被显示的被显示的字符串必字符串必需以需以$终终了了汇编言语的一个实例汇编言语的一个实例DATA SEGMENTBLOCKDB43H,0ABH,PDATADB20DUP(?)NDATADB20DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA JMP AGAINMINUS: XCHGBX,DI STOSB XCHGBX,DIAGAIN: LOOPGOONCODE ENDS END STARTSTART: MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,BLOCK LEA DI,PDATA LEA BX,NDATA CLD MOV CX,20 GOON: LODSB ;(AL) SI TEST AL,80H JNZ MINUS STOSB ;DI (AL) ;DI (DI)+1 (下接右边下接右边)终
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 活动大棚使用免责协议书
- Unit3 Section A 教案 人教版(2024)七年级英语下册
- 2026年降低企业成本政策知识竞赛题库
- 2026年职场沟通技巧及模拟试题
- 2026年高三地理考点总结及应试技巧
- 2026年城市生命线供水供电运行气象风险预警指标测试
- 2026年办公室主任创新管理能力题
- 2026年合规部负责人面试-ESG-合规环境社会治理趋势与应对策略前瞻
- 2026年自动气象站维护管理知识试题
- 2026年传统云锦织造技艺传承师认证考试模拟题集及解析
- 大学生防诈骗安全教育宣讲
- 2024-2025年上海中考英语真题及答案解析
- 举一反三奥数解题技巧大全100讲
- 高中化学化学能与电能课件人教版必修二
- 产品合格证标准模板
- 足球-脚内侧接踢地滚球 课件
- 用excel绘制热网水压图
- 山西省建设工程计价依据
- 制药空调净化系统基础培训
- GB/T 42001-2022高压输变电工程外绝缘放电电压海拔校正方法
- GB/T 3478.1-2008圆柱直齿渐开线花键(米制模数齿侧配合)第1部分:总论
评论
0/150
提交评论