计算机组成原理与汇编语言程序设计第5章.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:86 大小:1.5MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机组成原理与汇编语言程序设计第5章.ppt

计算机组成原理与汇编语言程序设计第5章.ppt

预览

免费试读已结束,剩余 76 页请下载文档后查看

15 金币

下载此文档

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

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

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

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

计算机组成原理与汇编语言程序设计(第2版)第5章汇编语言层第1节概述3.汇编程序第2节汇编语言语句格式2.语句格式3.标识符第3节80x86宏汇编语言数据、表达式和运算符5.3.2变量变量的3个属性变量的初值字符串表达式“?”表达式:33338:33338:引用变量名(2)在数据定义语句中引用变量名5.3.3标号(2)偏移地址属性(OFFSET)(2)用LABEL伪指令设置标号类型LABEL语句与数据定义语句配合使用表达式包括:+(加)、–(减)、(乘)、/(除)、MOD(模除)、SHL(左移)、SHR(右移)AND、OR、XOR、NOTDA1DB3LT8DA2DB10NE0AHMOVAL,10EQ0AHMOVBX,DA2GEDA1格式:<数值返回运算符><地址表达式>(4)LENGTH运算符为已分配的存储单元临时设定类型属性6、运算符的优先级第4节80x86宏汇编语言伪指令2、等号语句=5.4.3段结构伪指令(3)组合类型DS_DATASEGMENTVAR1DB12HDS_DATAENDSES_DATASEGMENTVAR2DB34HES_DATAENDSCODESEGMENTVAR3DB56HASSUMECS:CODE,DS:DS_DATA,ES:ES_DATASTART:……┇INCVAR1INCVAR2INCVAR3┇CODEENDSENDSTART3、段寄存器的装载(3)CS的装载5.4.5内存模式和简化段定义伪指令例:3、预定义符号3、对准伪指令(EVEN)5.4.8包含伪指令INCLUDE第5节宏指令(2)宏调用(2)表达式操作符%只能用于宏定义中,宏体第一条语句;第6节汇编语言程序设计基本技术例:试编制程序,计算下列公式的值,并将结果存放在FUN存储单元中。F其中X,Y,Z的值分别存放在VARX、VARY、VARZ三个字存储单元中,且计算过程的中间值和最后结果仍在16位二进制数的范围内。编制源程序如下:CODESEGMENT;设置代码段ASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATA;置段基值于DSMOVDS,AXMOVAX,VARX;取变量XADDAX,VARY;AX(X+Y)MOVBX,AX;BX(X+Y)SALAX,1;AX2*(X+Y)SALAX,1;AX4*(X+Y)ADDAX,BX;AX5*(X+Y)SALAX,1;AX10*(X+Y)MOVBX,VARZ;取变量ZDECBX;BX(Z1)MOVCX,BX;CX(Z1)SALBX,1;BX2*(Z1)ADDBX,CX;BX3*(Z1)SUBAX,BX;AX10*(X+Y)3*(Z1)SARAX,1;AX{10*(X+Y)3*(Z1)}/2MOVFUN,AX;存放计算结果MOVAH,4CH;终止用户程序,返回DOSINT21HCODEENDSENDSTART例:用查表方法将一位十六进制数(0~9,A~F)转换成它对应的ASCII码。.STACK100H;设置堆栈段.CODE;设置代码段START:MOVAX,@DATAMOVDS,AXLEABX,TABLE;取表首址XORAH,AH;AH清零MOVAL,HEX;取一位十六进制数ADDBX,AX;确定查表位置MOVAL,[BX];查表MOVASCI,AL;存结果MOVAH,4CH;终止程序,返回DOSINT21HENDSTART5.6.3分支程序设计(1)无条件转移指令b.间接寻址:a.单条件转移指令b.无符号数条件转移指令2、分支程序设计例:编程序段,把DA1字节数据变为偶数。如两个数均是偶数,两个数加1后分别送入DA1、DA2字节单元中;根据分析,画出流程图如下:(2)用跳转表形成多路分支结构数据段如下:例:由转移指令构成跳转表的多路分支程序设计。5.6.4循环程序设计产生数列的程序段如下:(2)LOOPE/LOOPZ指令MOVCX,COUNTMOVBX,-1NEXT:INCBXCMPSTRING[BX],20HLOOPENEXTJNEOKMOVBL,0FEH;未找到OK:INCBXMOVINDEX,BL;存结果(3)LOOP