汇编语言:第7章 更灵活的定位内存地址的方法_第1页
汇编语言:第7章 更灵活的定位内存地址的方法_第2页
汇编语言:第7章 更灵活的定位内存地址的方法_第3页
汇编语言:第7章 更灵活的定位内存地址的方法_第4页
汇编语言:第7章 更灵活的定位内存地址的方法_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

第7章更灵活的定位内存地址的方法And和or指令大小写转换的问题[BX+idata]、si和di、[bx+si]和[bx+di]、[bx+si+idata]和[bx+di+idata]定位内存单元的用法二重循环的处理及其栈的应用一、and和or指令1、“与”运算指令AND格式:ANDOP1,OP2功能:对OP1、OP2按位相“与”说明:常用于使指定位数置0的操作中。举例:MOVAL,63H;输入01100011ANDAL,0FH;使AL高四位为0,低四位不变。将AL的最高位设为0:ANDAL,

7FH2、逻辑“或”指令OR格式:OROP1,OP2功能:对OP1、OP2按位相“或”。说明:通常用于使指定位数置1的操作。举例:使AL中的最低两位置1。

ORAL,03H;AL“或”00000011

二、ASCII码

在ASCII编码中,将常用的128个字符用八位二进制数(00000000—01111111)表示,其中最高一位为0。常用ASCII码符号十进制十六进制0~948~5730H~39HA~Z65~9041H~5AHa~z97~12261H~7AH三、以字符形式给出的数据用一对单引号‘….’括起的内容作为字符处理。例7-1Assume ds:datadata segmentdb ‘unIX’db ‘foRK’data endsCode segmentStart: moval,’a’ movbl,’b’ movax,4c00h int21hCode endsEnd startDb75h,6eh,49h,58hDb66h,6fh,52h,4bhMoval,61hMovbl,62h四、大小写转换的问题补全程序,将DATA中的第一个字符串转化为大写,将第二个字符串转化为小写。ASSUME CS:CODE,DS:DATADATA SEGMENT DB‘BaSiC’ DB‘iNfOrMaTiOn’DATA ENDSCODE SEGMENTSTART:CODE ENDSEND STARTStart:movax,data movds,ax movbx,0 movcx,5S1: moval,[bx] andal,0dfh mov[bx],al incbx loops1 movbx,5 movcx,11S2: moval,[bx] oral,20h mov[bx],al incbx loops2 movax,4c00h int21h大写十六进制二进制小写十六进制二进制A41h01000001a61h01100001B42h01000010b62h01100010C43h01000011c63h01100011D44h01000100d64h01100100Q51h01010001q71h01110001R52h01010010r72h01110010Z5Ah01011010z7Ah01111010五、[bx+idata]MOVAX,[BX]MOVAX,[BX+200]若DS=1000H,BX=2000H,则:PA=?PA=?六、用[bx+idata]的方式进行数组的处理补全程序,将DATA中的第一个字符串转化为大写,将第二个字符串转化为小写。ASSUME CS:CODE,DS:DATADATA SEGMENT DB‘BaSiC’ DB‘MinIX’DATA ENDSCODE SEGMENTSTART:CODE ENDSEND STARTStart:movax,data movds,ax movbx,0 movcx,5S1: moval,[bx] andal,0dfh mov[bx],al incbx loops1 movbx,5 movcx,5S2: moval,[bx] oral,20h mov[bx],al incbx loops2 movax,4c00h int21hStart:movax,data movds,ax movbx,0 movcx,5S1: moval,[bx] andal,0dfh mov[bx],al moval,[bx+5] oral,20h mov[bx+5],al incbx loops1 movax,4c00h int21hmoval,5[bx]mov[bx]5,al七、SI和DISI源变址寄存器DI目的变址寄存器

SI和DI只能用作16位寄存器,常用于对内存单元的寻址,功能与BX寄存器相近。MOVBX,0MOVAX,[BX]MOVSI,0MOVAX,[SI]MOVDI,0MOVAX,[DI]MOVBX,0MOVAX,[BX+10]MOVSI,0MOVAX,[SI+10]MOVDI,0MOVAX,[DI+10]例:用寄存器SI和DI实现字符串‘welcometomasm!’复制到它后面的数据区。assume cs:code,ds:datadata segment db‘welcometomasm!’ db‘…………….’data endscode segmentstart:code endsend startStart:movax,data movds,ax movsi,0 movdi,16 movcx,8S: movax,[si] mov[di],ax addsi,2 adddi,2 loops movax,4c00h int21h八、[bx+si]和[bx+di]MOVAX,[BX+SI]MOVAX,[BX][DI]若DS=1000H,BX=2000H,SI=3000H,DI=4000H则:PA=?九、[bx+si+idata]和[bx+di+idata]MOVAX,[BX+SI+100]MOVAX,[BX][DI].100MOVAX,[BX].100[SI]MOVAX,[BX+100][DI]十、不同的寻址方式的灵活应用[idata]

用一个常量来表示地址,可用于直接定位一个内存单元。例:[1000h][bx]用一个变量来表示内存地址,可用于间接定位一个内存单元。[bx+idata]用一个变量和常量表示地址,可在一个起始地址的基础上用变量间接定位一个内存单元。[bx+si]用两个变量表示地址。[bx+si+idata]用两个变量和一个常量表示地址。例:7-6编程,将data段中每个单词的头一个字母改为大写字母。

assume cs:code,ds:data data segment db ‘1.file’ db ‘2.edit’ db ‘3.search’ db ‘4.view’ db ‘5.options’ db ‘6.help’ data ends code segment start:0123456789ABCDEF00001.file00102.edit00203.search00304.view00405.options00506.help例:7-7编程,将data段中每个单词改为大写字母。

assume cs:code,ds:data data segment db ‘ibm ’ db ‘dec ’ db ‘dos ’ db ‘vax ’ data ends code segment start:0123456789abcdef0000ibm0010dec0020dos0030vax0040start:movax,data movds,ax movbx,0 movcx,4s1: movsi,0 movcx,3s2: moval,[bx+si] addal,0dfh mov[bx+si],al incsi loops2 addbx,16 loops1start:movax,data movds,ax movbx,0 movcx,4s1: movdx,cx movsi,0 movcx,3s2: moval,[bx+si] andal,0dfh mov[bx+si],al incsi loops2 addbx,16

movcx,dx loops1例:7-9编程,将data段中每个单词的前四个字母改为大写字母。

assume cs:code,ds:data,ss:stack stack segment dw 0,0,0,0,0,0,0,0 stack ends data segment db ‘1.display ’

温馨提示

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

最新文档

评论

0/150

提交评论