王爽汇编语言数据处理的两个基本PPT课件_第1页
王爽汇编语言数据处理的两个基本PPT课件_第2页
王爽汇编语言数据处理的两个基本PPT课件_第3页
王爽汇编语言数据处理的两个基本PPT课件_第4页
王爽汇编语言数据处理的两个基本PPT课件_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、bx、si、di、bp 在8086CPU中,只能使用这4个寄存器寻址内存单元。例:mov ax,bxmov ax,bx+simov ax,bx+dimov ax,bpmov ax,bp+simov ax,bp+di在 中,这4个寄存器可以单个出现,或只能以下列组合出现:bx和si、di ; bp和si、di ; 例: mov ax,bxmovax,simovax,dimovax,bp例: mov ax,bx+simovax,bx+dimovax,bx+si+idatamovax,bx+di+idata例: mov ax,bp+simovax,bp+dimovax,bp+si+idatamo

2、vax,bp+di+idata只要在 中使用寄存器bp,段地址就默认在ss中。例: mov ax,bp+simovax,bp+dimovax,bp+si+idatamovax,bp+di+idata第1页/共12页二、机器指令处理的数据所在位置 数据处理的方式: 数据类型: 数据所在位置:读、写、运算指令、数值CPU内部、内存、端口 例: mov bx,1234h mov bx,ax mov bx,1第2页/共12页三、汇编语言中(存取)数据位置的表达 立即数要处理的数据直接包含在指令中 寄存器要处理的数据在指令中的寄存器中 段地址(SA):偏移地址(EA)要处理的数据在内存中例:mov ax

3、,0mov ax,datamov ds,axpush bxmov ax,bxmov bx+10,axadd ax,bxmov bp,axadd ax,bx+si+8注:只有内存单元才有注:只有内存单元才有地址:地址:SASA、EAEA和和PAPA第3页/共12页四、寻址方式:确定内存单元偏移地址的方式。 注:下表中注:下表中reg 指指bx,si,di寻址方式寻址方式表达形式表达形式PA举例举例应用应用直接寻址直接寻址idata ds:idata mov ax,1234H用于定位某个用于定位某个内存单元内存单元寄存器寄存器间接寻址间接寻址regbp ds:(reg) ss:(bp) mov a

4、x,bx mov ax,bp 寄存器寄存器相对寻址相对寻址reg+idatabp+idatads:(reg+idata) ss:(bp+idata)mov ax,si+4mov bp+8, ax用于结构体:用于结构体:bx.idata用于数组:用于数组:idatasi,idatadi用于二维数组:用于二维数组:bxidata,bxsi基址变址基址变址寻址寻址bx+si (di)bp+si (di)ds:(bx+si (di)ss:(bp+si (di)mov ax,bx+simov ax,bp+di基址变址基址变址相对寻址相对寻址bx+si (di)+idatabp+si (di)+idata

5、ds:(bx+si (di)+idata)ss:(bp+si (di)+idata)mov ax,bx+di+8mov ax,bp+di+1用于表格(结构)用于表格(结构)中的数组项:中的数组项:bx.idatasi用于二维数组:用于二维数组: idatabxsi 立即寻址例:mov ax,1234h 寄存器寻址例:mov ds,ax第4页/共12页五、指令要处理的数据长度8086CPU可以处理的数据长度: 8位byte字节型数据 16位word字数据汇编语言中的处理方法:通过寄存器指明要处理的数据长度例:mov ax,1mov bx,ds:0mov ds,axmov ds:0,axinc a

6、xadd ax,100例:mov al,1mov al,ds:0mov al,blmov ds:0,alinc aladd al,100在没有寄存器的情况下用 指明数据长度 word ptr byte ptrmov word ptr ds:0,1Inc word ptr bxInc word ptr ds:0add word ptr bx,2Mov byte ptr ds:0,1Inc byte ptr bxInc byte ptr ds:0Add byte ptr bx,2其他方法(默认长度)例: push 1000h第5页/共12页六、寻址方式的综合应用DEC公司(1982年)记录:公司名

7、称:DEC总裁姓名:Ken olsen排 名:137收 入:40著名产品:PDPDatasegment db .,.,.,.,.,.,D,E,C,K,e,n, ,o,l,s,e,n,137,40,PDPDataendsCodesegmentDEC公司(1988年)记录:公司名称:DEC总裁姓名:Ken olsen排 名:38收 入:40+70著名产品:VAX第6页/共12页七、div除法指令格式: div op(内存单元、寄存器)说明:被除数16位放在AX32位: DX放高16位, AX放低16位除数8位16位放在OP 中结果8位除数:商存放在AL中,余数放在AH 16位除数:商存放在AX,余

8、数放在DX例:利用除法指令计算100001/100。被除数长度必须是除数长度的两倍!第7页/共12页八、伪指令ddDatasegment db 1 dw 1 dd 1Dataends用div指令计算data段中第一个数据除以第二个数据后的结果,商存放在第3个数据的存储单元中。data segment dd 100001 dw 100 dw 0data ends第8页/共12页九、 定义重复变量伪指令dup和db、dw、dd等数据定义伪指令配合使用,用来进行数据的重复。格式:例 DATA1DB10 DUP (0) ;定义DATA1为10个“0”组成的字节变量DATA2DW2 DUP (?) ;定

9、义DATA2为2个不确定数值的字变量DATA3DB4 DUP (1,2 DUP(50H) ;定义DATA3为(1,50H,50H)重复4次共12个字节的字节变量 DBDWDDn DUP (重复的数据)第9页/共12页年份(年份(4db)空空格格收入(收入(4db)空空格格雇员数雇员数(2db)空空格格人均收入人均收入(2db)空空格格行内地址行内地址0123456789ABCDEFTable:01 9 7 5163?Table:10H1 9 7 6227?Table:20H1 9 7 73829?Table:30H1 9 7 8135613?Table:40H1 9 7 9239028?Tab

10、le:50H1 9 8 0800038?Table:60H1 9 8 116000130?Table:70H1 9 8 224486220?Table:80H1 9 8 350065476?Table:90H1 9 8 497479778?Table:A0H1 9 8 51404171001?Table:B0H1 9 8 61975141442?Table:C0H1 9 8 73459802258?|Table:130H1 9 9 4464900015257?Table:140H1 9 9 5593700017800?第10页/共12页0123456789ABCDEFData:01975197619771978:10H1979198019811982:20H1983198419851986:30H1987198819891990:40H1991199219931994:50H19951622382:60H13562390800016000:70H244865006597479140417:80H197514345980590827803530:90H1183000174300027590003753000:A0H464900059370003791

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论