第三章 汇编语言程序设计习题选解(微机原理答案).docVIP

第三章 汇编语言程序设计习题选解(微机原理答案).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 汇编语言程序设计习题选解(微机原理答案)

3.1假设VAR1和VAR2为字变最,LAB为程序中的一个标号、试指出下列指令的错误 之处: (1)ADD VAR1,VAR2 (2)SUB AL,VAR1 (3)JNZ VAR1 (4)JMP LAB[SI] (5) JMP NEAR LAB 解:此题相关知识点是变量与标号的区别- (1)错误,不允许存储器变鸯间直接传数; (2)错误,源与目的操作数类型不一致; (3)错误,变量不能用作条件转移指令的操作数; (4)错误,标号不能用作变址寻址的位移世; (5)错误。缺PTR运算符。 3.2已知程序中有如下数据定义: DATX DB 10, ABCD’,-1 DW -3, 1 00H AB DD l 1223344H 试将经汇编后对应于DATX数据区的数码填人下表中: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 解:经汇编后表中数据如下: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0AH 41H 42H 43H 44H FFH FDH FEH 00H 01H 42H 41H 44H 33H 22H 11H / 3.3给定如下数据定义: A1 DW 1,2,3,AB’,’C’ A2 DB 6 DUP(?) A3 DB 0 R1 EQU A3-A1 (1)画出变量的内存分配图; (2)常最符号R1的值为多少: 解:内存分配图如图3.5所示。 R1的值=变最A3的偏移地址-变量A1的偏移地址 =数据区A1和A2所占的总字节数 =16 3.4从FIRST开始的1fH)个单元中存放着一个字符串.结束符为$。编写一个程序.统计该字符串中字母’A’的个数。 解:对固定长度的字符串扫描或比较,常用带重复前缀的申扫描或比较指令,而当字符串长度不确定时,则需对字符译进行逐个扫描或比较,并用字符串结束标志(判断条件)来控制扫描或比较结束、此越通过与结束符’$’比较来控制循环扫描结束.程序如下: DATA SEGMENT FIRST DB AGHI K…$’ ;定义字符串,结束符为$ NUMBER DB ? ;结果存放单元 DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX,DATA ;建立数据段的可寻址性 MOV DS, AX MOV BL,0 ;BL用作统计计数器 LEA DI,FIRST ;取字符串首址 NEXT: MOV AL, [ DI] ;取一个字符 INC DI ;指向下一个字符 CMP AL,’$’ ;与结束符’$’比较 JE EXIT ;等于,搜索完结束 CMP AL , A ;与字符‘A’比较 JNE NEXT ;不等于。不统计 INC BL ;找到,计数 IMP NEXT ;继续 EXIT: MOV NUMBER,BL MOV AH,4CH INT 21H CODE ENDS END START 3.5从BLOCK开始,存放着256个字节的带符号数,编写程序从这些数中找出绝对值最大的数,将其存人MAX单元。 解:此题是查找绝对值最大的数,因此,对数据块逐个扫描时要用数的绝对值进行比较,所以此题关键是要清楚绝对值的求法:正数的绝对值为其补码本身,负数的绝对值由其补码求补所得。用简化段定义,程序如下: . MODEL SMALL . STAGK;定义堆栈段 .DATA;定义数据段 BLOCK DB 10H,

文档评论(0)

seunk + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档