微原CH3指令系统和寻址方式范例.ppt

  1. 1、本文档共234页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例:内存数据段存放了100个带符号数,首地址为AREA1,要求将各数取绝对值后存入以AREA2为首地址的内存区。 程序如下: LEA SI, AREA1 LEA DI, AREA2 MOV CX, 100 CHECK: MOV AL, [SI] OR AL,AL JNS NEXT NEG AL NEXT:MOV [DI],AL INC SI INC DI DEC CX JNZ CHECK ……. 例:在内存数据段从BUFF开始的单元中分别存放了两个8位无符号数,试比较它们的大小,并将大者传送到MAX单元。 例3-21 编写程序段完成1234H+3099H的操作,程序段如下: MOV DX, 1234H MOV BX, 3099H MOV AL, BL ADD AL, DL DAA MOV CL, AL MOV AL, BH ADC AL, DH DAA MOV CH, AL 例 编写程序段完成压缩BCD码8576H-2695H的操作 例3-22 编写程序段完成压缩BCD码1234H-3099H的操作 例:从偏移地址为TABLE的内存区中,存放着100个字节的十六进制数,要求将这些数进行累加,并将和的低位存SUM单元,高位存SUM+1单元。 程序如下: 例:移位前(AX)=1234H,(CL)=3,CF=1,指令ROL AX,CL执行后,(AX)=?CF=? ……. MOV AX,1234H MOV CX, 16 AA1:SHL AX,1 RCR BX,1 LOOP AA1 例如:从2000H开始存放100个字节数,要求将这段数据移动到2030H开始的存储区域,设计程序片段。 例如:从2000H开始存放100个字数,要求将这段数据移动到10F0H开始的存储区域,设计程序片段。 例:将空格字符20H装入以AREA为首址的100个字节中。 LEA DI,AREA MOV AL,20H MOV CX,100 CLD REP STOSB 补充例1:比较两个字符串,找出其中第一个不相符的地址,如果两个字符串全部相同,则转到ALLMATCH进行处理。这两个字符串的长度均为20,首地址分别为STRING1和STRING2 LEA SI,STRING LEA DI,STRING2 MOV CX,20 CLD REPZ CMPSB JCXZ ALLMATCH DEC SI DEC DI JMP DONE ALLMATCH:MOV SI,0 MOV DI,0 。。。。。 DONE:。。。。。。 LEA SI,BLOCK1 LEA DI,BLOCK2 CLD NEXT:LODSB CMP AL,0DH

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档