备课笔记10b(4章)

备课笔记10b(4章)

ID:1334810

大小:1.10 MB

页数:43页

时间:2017-11-10

备课笔记10b(4章)_第1页
备课笔记10b(4章)_第2页
备课笔记10b(4章)_第3页
备课笔记10b(4章)_第4页
备课笔记10b(4章)_第5页
资源描述:

《备课笔记10b(4章)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、4-2汇编语言基本语法4-2-1汇编语言源程序实例——zlgc2,exmp1例1:把内存中从STRING开始的字符串传送到BLOCK开始的内存区域去.DAT1SEGMENTSTRINGDB'ABCD1234'NUMEQU$-STRINGDAT1ENDS伪指令语句DAT2SEGMENTBLOCKDB50DUP(?)DAT2ENDSCODSEGMENTASSUMECS:COD,DS:DAT1,ES:DAT2START:MOVAX,DAT1MOVDS,AX指令语句MOVAX,SEGBLOCKMOVES,AXMOVCX,NUMLEASI,STRINGMOVDI

2、,OFFSETBLOCKLP:MOVAL,[SI]MOVES:[DI],AL指令语句INCSIINCDILOOPLPMOVAH,4CHINT21H伪指令语句CODENDSENDSTART43/43汇编语言语句种类——指令语句、伪指令语句、宏指令语句1)指令语句——由指令系统中有的指令构成。它指示CPU执行某种操作。该指令语句汇编后将产生目标代码。2)伪指令语句——属于说明性语句。仅在汇编过程中起汇编管理和说明的作用,不产生目标代码。实验二指令观察1、算术运算指令观察——zlgc1,zlgc22、逻辑运算指令观察——zlgc33、条件转移指令观察----

3、--zlgc44-2-2伪指令语句格式:名字伪操作指令[参数表][;注释]1、段定义伪指令1)段定义伪指令格式:段名SEGMENT……段名ENDS用于定义源程序的各个逻辑段。如:代码段、数据段、堆栈段等。SEGMENT/ENDS必须成对出现,并且段名不能省略。43/432)ASSUME假设伪指令格式:ASSUME段寄存器名:段名[;段寄存器名:段名];假设,用XX段寄存器指示XX逻辑段(段名)。用于汇编程序计算标号和变量的段内地址和物理地址。但是并没有实际装填相应段寄存器。段寄存器的内容还需要执行指令装填。2、数据定义伪指令——(weizlgc.asm

4、)BYT1DB12H,12,34H,34,56H,,,BYT2DB'ABCD1234?+-*/$$'WRDDW'AB','12',34H,1234HSDREDB8DUP(20H)DWRDDD12H,1234H,12345678H,0QNUMDQ123H,456HTNUMDT1234H,5678H数据定义伪指令用来定义内存操作数(变量)。伪指令语句的名字称为变量名,它代表其右第1个内存变量。变量名有三个属性:段地址、偏移地址、数据类型。段地址——SEGMENTBASE段内偏移量——OFFSET类型——TYPE数据类型指该变量所占字节数。如上:BYT1的类

5、型值为1,WRD的类型值为2,DWRD的类型值为4,QNUM的类型值为8,TNUM的类型值为10等。43/433、符号定义伪指令——EQU,weizlgc名字EQU表达式;把表达式的值赋给名字LENEQU$-DWRDNUMEQU3+5$-DWRD和3+5称为表达式。表达式中的各个元素必须有具体值定义,也就是说,在源程序中就能计算出表达式的具体数值。$——程序汇编计数器。用来统计汇编过程中已分配的内存单元字节数。1、类型定义伪指令——LABEL给变量或标号定义类型,如变量名LABELBYTE/WORD/DWORD标号名LABELFAR/NEAR2、END

6、结束汇编伪指令结束汇编命令。汇编程序遇见此伪指令就结束汇编过程。因此,END应该是源程序的最后一条指令。其后的所有信息都将被汇编程序忽略。格式:END标号此处的“标号”应该指向程序运行的第一条指令,即表示第一条指令所在地址。操作系统OS会自动将该“标号”的逻辑地址装入CS:IP中。5、过程定义伪指令格式:过程名PROCFAR/NEAR;。。指令序列43/43。过程名ENDP过程,即子程序,分为外部过程和内部过程。外部过程——主程序和过程不在同一源程序文件中。其属性为FAR;内部过程——主程序和过程同在一个源程序文件中。又分为段间FAR过程和段内NEAR

7、过程。4-2-3指令语句1、指令语句格式[标号:][前缀]指令助记符[操作数表][;注释]2、标号标号的作用——标号代表“:”后面指令所在内存地址,供程序控制类指令作为转移目标用。标号的属性:标号有三个属性:段地址——SEGMENTBASE段内偏移量——OFFSET类型——TYPE远FAR——供段间转移近NEAR——供段内转移标号的组成——字母数字组成,以字母开头,最多8个字符。不可使用8086/8保留字,如指令和伪指令助记符、寄存器名、运算操作符等。标号的定义例如:NEXT:ADDAX,BX;定义NEXT为近标号43/43ABCLABELFAR;定义

8、ABC为与远标号MOVDX,BXF2PROCFAR;定义F2为远过程名,也可作标号用标号的使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。