微机原理与接口技术编程指令分析(较详细).docx

微机原理与接口技术编程指令分析(较详细).docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编程指令分析 MOV SUB JCBB : MOVOUT HLTAA MOV SUB JC BB : MOV OUT HLT AA : SUB MOV CX , AX AX ,BX AA DX , 2000H DX , AX ;储存 AX ; AX-BX AX 变了 BX , CX AX ,BX ; CF=1, 最高位有借位, AXBX, 跳转 ; 外部地址 ; ;CPU 进入暂停状态; ;BX=( BX-CX(AX) ) JMP BB 3、如在某数据段 2000H 开头的 48 个单元中, 存放着某班 48 个同学的数学课考试成果; 试编写程序找出该班的最高分,将其置于 BL 中 MOV MOV MOV BB : INC MOV SUB JC MOV AA : LOOP HLT CX , 2FH SI, 2000H BL , [SI] SI AL ,[SI] AL ,BL AA BL , [SI] BB ;有借位, ALBL ;AL=BL , BL=AL 4、编程序将内存从 4000:0000H 到 4000: 00FFH 的每个单元中均写入 55H MOV MOV MOV MOV MOV CLD REP HLT AX , 4000H ES, AX CX , 100H DI , 0H AL , 55H ;段地址赋初值 ; 00FFH=100D ; STOSB ; (如改为字节操作, 就“ 100H”→128D ;“ AL ,55H ”→ AX ,5555H ;STOSB→ STOSW ) 5、从外设 500H 单元中读取一个字节 M ,判定其值是否在 70H 和 80H 之间,即 70H ≤ M <80H ;假如 M ≥ 80H ,就送 0FFH 给外设端口 502H;假如 M < 70H ,就送 00H 给外设端 口 502H;假如 70H ≤M < 80H ,就送 88H 给外设端口 502H |精. |品. |可. |编. |学. |学. |习. |料. |料. * | | * *| * | |* | |欢. |欢. |迎. |下. |载. START: MOV DX , 500H ;端口地址 IN AL , DX ;从外部端口输入内容到 AL CLC ;清零借位标志 CF |精. |品. |可. |编. |辑. |学. |习. |资. |料. * | * | * | * | |欢. |迎. |下. |载. CMP AL , 70H ; AL-70H JC LP1 ;CF=1 有借位, AL70H ,转 LP1 CMP AL , 80H ;AL=70H , AL-80H JC LP2 ; 70HAL80H ,转 LP2 MOV AL ,0FFH ; AL=80H , AL=0FFH (第一个 16 进制数 为字母的, 前面加 0,以区分程序中的变量) LP3: MOV DX , 502H ;输出端口地址赋到 DX 中 OUT DX ,AL ;将结果传送到外部端口 HLT LP1: MOV AL , 00H JMP LP3 LP2: MOV AL , 88H JMP LP3 JGE L1 ;X=Y ,转 L1 MOV AX ,Y ;X=Y ,大数 Y 赋到 AX 中 L1: CMP JGE AX , Z L2 ; AX-Z , ; AX=Z ,转 L2 MOV AX , Z ;AXZ ,大数 Z 赋到 AX 中 MOV AL ,[3000H] ;低地址单元内容 AL ←( DS× 16+3000) CMP AL , [3001H] ;两内容相比较 JAE L ;( above and equal) AL= 高 XCHG AL , [3001H] ; AL 高的,交换 L: MOV [3002H] ,AL 6、设 X 、Y 6、设 X 、Y 、Z 是三个 16 位有符号数,存放在 @DATA 的数据段,查找最大数,存到 MAX 单元 START: MOV MOV MOV CMP AX , @DA TA DS, AX AX , X AX , Y ; DS 段初始化 L2: MOV MAX , AX ;最大数赋到 MAX 储备单元 7、如在 3000:3000H 和 3000:3001H 单元有两个无符号数, 编一个程序比较它们的大 小,把大的数放在 3000: 3002H 单元 START: MOV MOV AX , 3000H DS, AX ;段地址赋初值 HLT 8、设 X 、Y 、Z、 W 均为存放 16 位带符号数单元的地址;编写程序段完成以下操作 Z← W+( Z-X ) SUB AX , X ; AX ← Z-X MOV DX , W ADD DX , AX ;DX ← DX+AX MOV Z, DX

文档评论(0)

橙老师资料铺 + 关注
实名认证
内容提供者

精选资料欢迎下载

1亿VIP精品文档

相关文档