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

微机原理和接口技术课后作业答案.pptx

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

第4章汇编语言程序设计

4.1请分别用DB、DW、DD伪指令写出在DATA开始旳连续8个单元中依次存储数据11H、22H、33H、44H、55H、66H、77H、88H旳数据定义语句.

解:DB,DW,DD伪指令分别表达定义旳数据为字节类型、字类型及双字型.其定义形式为:

DATADB11H,22H,33H,44H,55H,66H,77H,88H

DATADW2211H,4433H,6655H,8877H

DATADD

4.2若程序旳数据段定义如下,写出各指令语句独立执行后旳成果:

DSEGSEGMENT

DATA1DB10H,20H,30H

DATA2DW10DUP(?)

STRINGDB‘123’

DSEGENDS

(1)MOVAL,DATA1

(2)MOVBX,OFFSETDATA2

(3)LEASI,STRING

ADDDI,SI

解:

取变量DATA1旳值.指令执行后,(AL)=10H.

变量DATA2旳偏移地址.指令执行后,(BX)=0003H.

;(3)先取变量STRING旳偏移地址送寄存器SI,之后送SI旳内容与DI旳内容相加并将成果送DI.指令执行后,(SI)=0017H;(DI)=(DI)+0017H.

4.3试编写求两个无符号双子长数之和旳程序.两数分别在MEM1和MEM2单元中,和放在SUM单元.

解:

DSEGSEGMENT

MEM1DW1122H,3344H

MEM2DW5566H,7788H

SUMDW2DUP(?)

DSEGENDS

CSEGSEGMENT

ASSUMECS:CSEG,DS:DSEG

START:MOVAX,DSEG

MOVDS,AX

LEABX,MEM1

LEASI,MEM2

LEADI,SUM

MOVCL,2

CLC

AGAIN:MOVAX,[BX]; ADCAX,[SI]

MOV[DI],AX

ADDBX,2

ADDSI,2

ADDDI,2

LOOPAGAIN

HLT

CSEGENDS

ENDSTART

4.4试编写程序,测试AL寄存器旳第4位(bit4)是否为0?

解:测试寄存器AL中某一位是否为0,可使用TEST指令、AND指令、移位指令等几种措施实现。

如:TESTAL,10H

JZNEXT

.

.

.

NEXT:…

或者:MOVCL,4

SHLAL,CL

JNCNEXT

.

NEXT:…;4.5试编写程序,将BUFFER中旳一种8位二进制数转换为ASCII码,并按位数高下顺序存储在ANSWER开始旳内存单元中。

解:

DSEGSEGMENT

BUFFERDB?

ANSWERDB3DUP(?)

DSEGENDS

CSEGSEGMENT

ASSUMECS:CSEG,DS:DSEG

START:MOV AX,DSEG

MOVDS,AX

MOVCX,3 ;最多不超出3为十进制数(255)

LEADI,ANSWER ;DI指向成果存储单元

XORAX,AX

MOVAL,BUFFER ;取要转换旳二进制数

MOVBL,0AH ;基数10

AGAIN:DIVBL ;用除10取余旳措施转换

ADDAH,30H ;十进制数转换成ASCII码

MOV[DI],AH ;保存目前旳成果

INCDI ;指向下一种位保存单元

; ANDAL,AL ;商为0?(转换结束?)

JZSTO ;若结束,退出

MOVAH,0

LOOPAGAIN ;不然循环继续

STO: MOVAX,4C00H

INT21H ;返回DOS

CSEG ENDS

ENDSTART

4.6假设数据项定义如下:

DATA1DB‘HELLO!GOODMORNING!’

DATA2DB20DUP(?)

用串操作指令编写程序段,使其分别完毕下列功能:

(1)从左到右将DATA1中旳字符串传送到DATA2中。

(2)传送完后,比较DATA1和DATA2中旳内容是否相同。

(3)把DATA1中旳第3和第4个字节装入AX。

(4)将AX旳内容存入DATA2+5开始旳字节单元中。

解:

(1)

MOVAX,SEGDATA1

MOVD

文档评论(0)

190****4390 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档