网站大量收购独家精品文档,联系QQ:2885784924

指令系统程序设计举例课件.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指令系统程序设计举例课件

指令系统程序设计举例; 如果数据串定义在ES段中 TABLE DW 10,20,30,40,50 ENTRY DW 3 . MOV BX,OFFSET TABLE ;取数据串偏移地址 ADD BX, ES ENTRY ;BX=BX+3 MOV AX, [BX] ;物理地址=ES×16+(BX) 答案: (AX)=40;例2:在使用中容易出错的指令用法 指出下列指令的错误: MOV AH,BX ; 源、目的字长不一致 (2)MOV [SI],[BX] ;源、目的不能同时为存贮器寻址方式 (3)MOV AX,[SI][DI] ;基址变址方式不能有 SI和DI的组合 (4)MOV AX,[BX][BP] ; 基址变址方式不能有 BX和BP的组合 (5)MOV[BX],ES:AX ;AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式 (6)MOV BYTE PTR[BX],1000 ;1000超出一个字节的表数范围 (7)MOV AX,OFFSET [SI] ; OFFSET只用于标号 (8)MOV CS,AX ;CS不能作为目的寄存器 (9)MOV DS,BP ;段地址不能直接送入数据段寄存器;例3: 推断指令的执行结果 DATA SEGMENT TABA DW 1234H DATA ENDS . MOV BX, TABA LEA BX, TABA 请写出上述两条指令执行后, BX寄存器中的内容。 答案: MOV BX,TABA ; 执行后(BX)=1234H ,内存中的数据 LEA BX,TABA ; 执行后(BX)=OFFSET TABA,偏移地址;例4 多字节加法的程序设计 变量DATAX和DATAY定义如下: DATAX DW 0148H DW 2316H DATAY DW 0237H DW 4052H 按下述要求写出指令序列: DATAX和DATAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。 实现的运算为:2316 0148H+4052 0237H=? MOV AX, DATAX ;取第一个要加数的低字 ADD AX, DATAY ;与第二个数低字相加,结果在AX中 MOV BX, DATAX+2 ;取第一个数要加的数的高字 ADC BX, DATAY+2 ;与第二个数高字相加,结果在BX中 MOV DATAY, AX MOV DATAY+2, BX ;保存和,注意地址为2个字节 在编程时要考虑到低字相加后产生的进位;例5:乘法指令应用(无符号) 两个16变量DATAY和DATAX定义如下: DATAY DW 0148H ;A DW 2316H ;B DATAX DW 0237H ;C DW 4052H ;D RESULT DW 12DUP(0) 按下述要求写出指令序列:DATAY和DATAX两个字相乘(用MUL)。 ; A B C D E F G H × H G F E D C B A N N N N N N N N N M M M M M M M M M A A A A A A A A A B B B B B B B B B C C C C C C C C C D D D D D D D D D E E E E E E E E E F F F F F F F F F X X X X X X X X X X X X X X X X X ; A B C D E F G H × H G F E D C B A N N N N N M M M M M A A A A A B B B B B

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档