汇编语言实例及习题

上传人:wm****3 文档编号:56959476 上传时间:2018-10-17 格式:PPT 页数:14 大小:109KB
返回 下载 相关 举报
汇编语言实例及习题_第1页
第1页 / 共14页
汇编语言实例及习题_第2页
第2页 / 共14页
汇编语言实例及习题_第3页
第3页 / 共14页
汇编语言实例及习题_第4页
第4页 / 共14页
汇编语言实例及习题_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《汇编语言实例及习题》由会员分享,可在线阅读,更多相关《汇编语言实例及习题(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,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号