收藏 分享(赏)

汇编语言实例及习题.ppt

上传人:yjrm16270 文档编号:6840736 上传时间:2019-04-23 格式:PPT 页数:14 大小:109KB
下载 相关 举报
汇编语言实例及习题.ppt_第1页
第1页 / 共14页
汇编语言实例及习题.ppt_第2页
第2页 / 共14页
汇编语言实例及习题.ppt_第3页
第3页 / 共14页
汇编语言实例及习题.ppt_第4页
第4页 / 共14页
汇编语言实例及习题.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、汇编语言程序设计,上次课后作业,4.6 假设数据项定义如下: DATA1 DB HELLO!GOOD MORNING! DATA2 DB 20 DUP(?) 用串操作指令编写程序段,使其分别完成以下功能: (1)从左到右将DATA1中的字符串传送到DATA2中。 (2)传送完后,比较DATA1和DATA2中的内容是否相同。 (3)把DATA1中的第3和第4个字节装入AX。 (4)将AX的内容存入DATA2+5开始的字节单元中。,解:(1) MOV AX,SEG DATA1 MOV DS,AX MOV AX,SEG DATA2 MOV ES,AX LEA SI,DATA1 LEA DI,DATA

2、2 MOV CX,20 CLD REP MOVSB,(2) LEA SI,DATA1 LEA DI,DATA2 MOV CX,20 CLD REPE CMPSB 。,(3) LEA SI,DATA1 ADD SI,2 LODSW,(4)LEA DI,DATA2ADD DI,5STOSW,编写循环结构程序,进行下列计算,结果存入RESULT内存单元 1+2+3+4+5+6+ +100 1+3+5+7+9+11+ +99 2+4+6+8+10+ +100 1+4+7+10+13+ +100 11+22+33+44+ +99,(1) CODE SEGMENTASSUME CS: CODESTART:

3、 XOR AX, AXMOV CX, 100AGAIN: ADD AX, CXLOOP AGAINMOV RESULT, AXMOV AX, 4C00HINT 21HCODE ENDSEND START,(2) CODE SEGMENTASSUME CS: CODESTART: XOR AX, AXMOV CX, 50MOV BX, 1AGAIN: ADD AX, BXADD BX, 2LOOP AGAINMOV RESULT, AXMOV AX, 4C00HINT 21HCODE ENDSEND START,(3) CODE SEGMENTASSUME CS: CODESTART: XOR

4、AX, AXMOV CX, 50MOV BX, 2AGAIN: ADD AX, BXADD BX, 2LOOP AGAINMOV RESULT, AXMOV AX, 4C00HINT 21HCODE ENDSEND START,(4) CODE SEGMENTASSUME CS: CODESTART: XOR AX, AXMOV CX, 34MOV BX, 1AGAIN: ADD AX, BXADD BX, 3LOOP AGAINMOV RESULT, AXMOV AX, 4C00HINT 21HCODE ENDSEND START,(5) CODE SEGMENTASSUME CS: COD

5、ESTART: XOR AX, AXMOV CX, 9MOV BX, 11AGAIN: ADD AX, BXADD BX, 11LOOP AGAINMOV RESULT, AXMOV AX, 4C00HINT 21HCODE ENDSEND START,4.17 数组SCORE中存有一个班级40名学生的英语课程成绩。按照059,6074,7584,85100统计各分数段人数,存入N0,N1, N2, N3变量内。DATA SEGEMNTSCORE DW 40 DUP(?) ;运行前置入具体数据N0 DW ?N1 DW ?N2 DW ?N3 DW ? DATA ENDS,CODE SEGMENT

6、ASSUME CS: CODE, DS: DATA START:MOV AX, DATA MOV DS, AXMOV N0, 0;各计数器清零MOV N1, 0MOV N2, 0MOV N3, 0LEA SI, SCOREMOV CX, 40 AGAIN:MOV AX, SICMP AX, 59;分段测试JA L1 L0: INC N0JMP NEXT L1: CMP AX, 74JA L2INC N1JMP NEXT,L2: CMP AX, 84JA L3INC N2JMP NEXT L3: CMP AX, 100JA NEXTINC N3 NEXT:ADD SI, 2LOOP AGAIN

7、EXIT:MOV AX, 4C00HINT 21HCODE ENDSEND START,数组ARRAY中存有10个无符号字整数(元素序号09),现在要删除其中的第5个元素。编写程序,把第69个元素移到第58个元素的位置上,并把第9个元素清零。 答: DATA SEGEMNTARRAY DW -386, 97, 213, 21, 77, -91, 56, 7, 123, 65DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATASTART: MOV AX, DATAMOV DS, AXMOV BX, 6*2 ;第六个元素在数组内的位移MOV CX, 4 ;循

8、环计数器置初值AGAIN: MOV AX, ARRAYBX ;取出一个元素MOV ARRAYBX-2, AX;向前移动一个位置ADD BX, 2 ;修改指针LOOP AGAIN ;循环4次MOV ARRAYBX, 0;最后一个元素清零MOV AX, 4C00HINT 21HCODE ENDSEND START,假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非法的?它们的错误是什么?(1)MOV BP,AL(2)MOV WORD_OPBX+4*3DI,SP(3)MOV WORD_OPl,WORD_OP2(4)MOV AX,WORD_OPlDX(5)MOV SP,SS:DATA_WORDBXSI(7)MOV BXSI,2(8)MOV AX,WORD_ OPl+WORD_OP2,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报