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

北工业大学汇编语言程序设计实验.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计实验 实验一 顺序与分支程序设计 一 、实验目的 1)掌握顺序程序设计方法。 2)掌握分支程序的结构及分支程序的设计,调试方法。 3) 学习数据传送及算术和逻辑运算指令的用法。 4) 熟悉在PC机上建立、汇编、连接、调试和运行汇编语言程序的过程。 二、实验内容 1)有一字变量BUF1是以原码表示的有符号数,要求将其转换为反码和补码,分别存入BUF2和BUF3单元,并在屏幕上显示出来。 DATA ??SEGMENT ;数据段 BUF1 ??DW ?7898H BUF2 ??DW ?4 ?DUP (0), 0AH, 0DH,$ BUF3?? DW ?4 ?DUP (0), $ DATA ??ENDS ;数据段结束 CODE ??SEGMENT ;代码段 ? ???ASSUME ?CS:CODE, DS:DATA ;段寄存器关联说明伪指令 BEGIN: ? MOV ?AX, DATA ???? MOV ?DS, AX ;将数据段的基地址装入数据段寄存器DS ???? MOV ?AX, BUF1 ;将字型变量BUF1的值装入AX寄存器 ???? ADD ?AX, 0 ;AX寄存器里的数据加0,以便进行转移测试 ?????? ??JS? NEXT ;判断(AX)的正负,若为负则转到NEXT,为正则往下顺序执行。 ????? ???MOV ?BUF2, AX ;为正,反码与原码一样 ????? ???MOV ?BUF3, AX ;为正,补码与原码一样 ????? ???JMP? ?EEE NEXT: AND ?AX, 7FFFH ;将符号位变为0 ?????? ??NOT ?AX ;求反码 ??? ?????MOV ?BUF2, AX ;将BUF1的反码装入BUF2 ?????? ??INC ??AX ;求补码 ?????? ??MOV ?BUF3, AX ;将补码装入BUF3 EEE: MOV ?CX, 0004H ;将0004H装入CX计数器寄存器中 ?????? MOV ?DI, OFFSET ?BUF2 ;将DI指向变量BUF2开始的存储单元 ?????? MOV ?DX,? [DI] ;将DI所指的数据装入DX寄存器中 ?????? ADD ?DI, 03 ;将DI指针下移三个字 BBB: MOV ?AX, DX ;将DX中的内容装入AX寄存器中 ?????? AND ?AX, 000FH ;即使BUF2的低四位不变,其余均变为0 ?????? CMP ?AL, 0AH ;比较[AL]与0AH的大小,以便能正确转换为0-9的ASCII值 ?????? JB? QQQ ;若[AL]0AH,则转到QQQ,否则,顺序执行 ?????? ADD ?AL, 07H ;因为[AL]0AH,所以[AL] +07H,使得AL能转换成相应数字的ASCII值 QQQ: ADD ?AL, 30H ;将[AL]转换成相应数字的ASCII值 ??? ?MOV ?[DI], AL ;将AL中的内容装入以DS中的内容为段基地址,以DI的内容为偏移地址的存储单元中 ?? ??DEC ?DI ;DI=DI-1,即将DI指向前一个存储单元 ??? ?PUSH ?CX ;保存CX寄存器的

文档评论(0)

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

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

1亿VIP精品文档

相关文档