- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章作业习题课_xly.ppt
微机原理与接口技术 * * 第四章作业习题课 杭州电子科技大学自动化学院 P198 (1,3,19,22) 1. 下列变量各占多少字节? A1 DW 23H, 5876H (4) A2 DB 3 DUP(?), 0AH, 0DH, ‘$’ (6) A3 DD 5 DUP(1234H, 567890H) (40) A4 DB 4 DUP(3 DUP(1, 2, ‘ABC’)) (60) 3. 有符号定义语句如下: BUF DB 3, 4, 5, ‘123’ ABUF DB 0 L EQU ABUF-BUF 求L的值为多少? (6) P199 19. 在附加段中有一个数组,首地址为BUFF,数组中第一个字节存放了数组长度。编一个程序在数组中查找0,找到后把它从数组中删去,后续项向前压缩,其余部分补0。 P199 19.①注意是字节操作 ②应考虑数组中可能出现多个0的情况 程序如下: EDATA SEGMENT ;定义数据段 BUFF DB N, XXH, …… M EQU 0 EDATA ENDS ; STACK SEGMENT STACK ;定义堆栈段 DW 50H DUP(?) TOP LABEL WORD STACK ENDS ; CODE SEGMENT ;定义代码段 ASSUME CS:CODE, ES:EDATA, DS:EDATA, SS:STACK MAIN PROC FAR START: MOV AX, STACK ;初始化堆栈段 MOV SS, AX MOV SP, OFFSET TOP PUSH DS ;程序段前缀 MOV AX, 0 PUSH AX MOV AX, EDATA ;初始化ES,DS MOV ES, AX MOV DS, AX MOV AL, M ;关键字M存入AL MOV DI, OFFSET BUFF MOV CX, [DI] ;数组长度存入CX INC DI ;指向数组起始地址 CLD ;清方向标志 L1: REPNE SCASB ;重复搜索关键字 JNZ STOP ;未找到,转STOP结束 JCXZ STOP ;最后一个数是M,转STOP PUSH DI ;关键字下一单元地址和循 PUSH CX ;环次数入栈保护 DEC: MOV BL, [DI] ;前移,末尾补0 MOV [DI-1], BL INC DI LOOP DEC MOV [DI], 0 POP CX ;恢复CX,DI POP DI DEC DI ;由于REPNE SCASB已自动加1 JMP L1 STOP: RET MAIN ENDP CODE ENDS END START P200 22. 编程统计学生的数学成绩,分别归类90~99分, 80~89分, 70~79分, 60~69分,及60分以下,并将各段的人数送入内存单元中。 22.设学生人数为字节,成绩为BCD码(压缩),且都是合法的。 程序如下: EDATA SEGMENT ;定义数据段 BUFF DB XXH, …… ANUM EQU $-BUFF SNUM DB 5 DUP(0) ;存放各类成绩统计结果 BUFF1 DB ANUM DUP(0) ;存放60分以下成绩 BUFF2 DB ANUM DUP(0) ;存放60~69分成绩 BUFF3 DB ANUM DUP(0) ;存放70~79分成绩 BUFF4 DB ANUM DUP(0) ;存放80~89分成绩 BUFF5 DB ANUM DUP(0) ;存放90分以上成绩 EDATA END SSTACK SEGMENT STACK ;定义堆栈段 DW 50H DUP(?) TOP LABEL WORD STACK ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE, ES:EDATA, DS:EDATA, SS:STACK MAIN PROC FAR START: MOV AX, STACK ;初始化堆栈段 MOV SS, AX MOV SP, OFFSET TOP PUSH DS ;程序段前缀 MOV AX, 0 PUSH AX MOV AX, EDATA ;初始化ES,DS
文档评论(0)