汇编上机实验报告心得体会.docx
《汇编上机实验报告心得体会.docx》由会员分享,可在线阅读,更多相关《汇编上机实验报告心得体会.docx(29页珍藏版)》请在三一办公上搜索。
1、汇编上机实验报告心得体会汇编语言程序设计 第一次上机作业 1.从键盘上接受一个字符,找出他的前导字符和后继字符,按顺序显示这三个字符。 寄存器分配: AL:存输入值x DL:输出显示 流程图:如右图所示 DATA SEGMENT A DB 0 DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE S: MOV AX,DATA MOV DS,AX MOV AH,1 INT 21H INC AL MOV DL,AL MOV AH,2 INT 21H DE
2、C AL MOV DL,AL MOV AH,2 INT 21H DEC AL MOV DL,AL MOV AH,2 INT 21H CODE ENDS END S 开始 输入 AX (AL)+1AL ALDL显示 -1AL ALDL显示 -1AL ALDL显示 结束 2.从键盘上输入一个数字字符,如不是,显示not odd,否则显示odd。 寄存器分配: AL:存输入值x DL:输出显示 流程图:如右图所示 程序代码如下: DATA SEGMENT A DB 0 BUF DB,NOT ODD$ EA DB,ODD$ DATA ENDS STACK SEGMENT STACK DB 200 DU
3、P(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE S: MOV AX,DATA MOV DS,AX MOV AH,1 INT 21H CMP AL,0 JNGE B CMP AL,9 JGE B LEA DX,EA MOV AH,9 INT 21H JMP C B: LEA DX,BUF MOV AH,9 INT 21H C: MOV AH,4CH INT 21H CODE ENDS END S 开始 输入AL Y AL9 显示 not odd Y 显示 odd 结束 第二次上机作业 1.将以H为首地址的字节存储区中的技能
4、被3整除又能被13整除的无符号整数的个数显示出来;同时对应的显示它们分别对应的地址偏移量。 DATA SEGMENT 寄存器分配:SI:存H的偏移地址 H DW 1,3,5,39,13,117,15,17,$ CX:计数 N =$-H DX:存余数 B DW 3 BX:循环计数 开始 C DW 13 D DW 0 DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA BEGIN: MOV AX,DATA MOV DS,AX MOV CX,0 MOV
5、BX,N LEA SI,H LOPA: MOV AX,SI DIV B MOV D,DX JNZ NEXT DIV C MOV D,DX JNZ NEXT MOV DL,SI MOV AH,2 INT 21H INC CX INC SI DEC DX JNZ LOPA NEXT: INC SI DEC DX JNZ LOPA EXIT: MOV DL,CL MOV AH,2 INT 21H MOV AH,4CH INT 21H H偏移SI NBX 0CX AX N (AX)mod3=0Y N (AX)mod13=0 Y SIDL显示 +1 CX+1 N DX-1=0 Y CX显示 结束 COD
6、E ENDS END BEGIN 2.在以TAB为首地址的字存储区中存放有n个无符号数,统计低三位全为一的数的个数。 寄存器分配:SI:TAB的偏移地址 AX:存SI DX:计个数 CX:循环计数 STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT TAB DW 1,9,10,20,30,40 N =($-TAB)/2 DATA ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA BEGIN: MOV AX,DATA MOV DS,AX MOV DX,0 MOV CX,N MOV B
7、X,7H LEA SI,TAB LOPA: MOV AX,SI AND AX,BX CMP AX,BX JNE EXIT INC DX INC SI DEC CX JNZ LOPA NEXT: INC SI DEC CX JNZ LOPA EXIT: MOV DL,DL MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS EMD BEGIN 开始 TAB首地址SI 7HBX;0DL NCX (SI)AX (AX)AND(BX)AX N AX=BX Y +1 DL+1DL (SI)+1SI (CX)-1CX CX=0 N 显示 DL 结束 3键盘接受一串字
8、符到BUF为首地址的字节单元中,要求用下列方法分别编程,将它们以相反的次序显示在屏幕的下一行中: (1).按地址从尾向前依次显示。 STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT BUF DB 20 DB ? DB 20 DUP(0) BUF1 DB 20 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN:MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,10 INT 21H MOV CL,BUF+1 MOV C
9、H,0 LEA DI,BUF1 P1: LEA SI,BUF+2 ADD SI,CX DEC SI MOV AL,SI MOV BYTE PTR DI,AL INC DI MOV DL,AL MOV AH,2 INT 21H LOOP P1 NEXT: MOV AH,4CH INT 21H CODE ENDS END BEGIN (2).利用堆栈反向显示。 STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT BUF DB 20 DB ? DB 20 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:C
10、ODE,DS:DATA,SS:STACK BEGIN:MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,10 INT 21H MOV CL,BUF+1 MOV CH,0 LEA SI,BUF+2 P1: MOV AL,SI MOV AH,0 PUSH AX INC SI LOOP P1 P2: POP BX MOV DL,BL MOV AH,2 INT 21H MOV CL,BUF+1 MOV CH,0 LOOP P2 NEXT: MOV AH,4CH INT 21H CODE ENDS END BEGIN (3).利用交换的方法反序后, 然后显示:即aiaj S
11、TACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT BUF DB asfdcvb N=$-BUF B DW ? A DB 2 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN:MOV AX,DATA MOV DS,AX LEA SI,BUF LEA DI,BUF MOV CX,N DEC CX MOV B,CX INC CX ADD DI,B MOV AX,CX DIV A LOAP: MOV BL,DI MOV DL,SI XCHG BL,DL MOV SI,
12、DL MOV DI,BL INC SI DEC DI DEC AL JNZ LOAP P2:LEA SI,BUF MOV DH,SI MOV DL,DH MOV AH,2 INT 21H INC SI LOOP P2 NEXT: MOV AH,4CH INT 21H CODE ENDS END BEGIN 第三次上机作业 1.在以BUF1和BUF2为首地址的两个字存储区中,分别存放有10个不相等的无符号数。依次找出同时在这两个存储区中出现的数,将他们放在以BUF3为首地址的存储区中。 寄存器分配:SI:BUF1偏移地址 DI:BUF2偏移地址 BP:BUF3偏移地址 CX,DX:循环计数 ST
13、ACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT BUF1 DW 1,3,7,15,20,18,14,17,19,21 BUF2 DW 4,6,8,17,20,25,27,18,3,16 BUF3 DW 10 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA BEGIN: MOV AX,DATA MOV DS,AX LEA SI,BUFI LEA DI,BUF2 LEA BP,BUF3 MOV CX,10 MOV DX,10 LOPA: MOV AX,SI M
14、OV BX,DI CMP AX,BX JE B DEC DX JZ C ADD DI,2 JMP LOPA B: MOV (BP),AX ADD BP,2 DEC DX JZ C ADD DI JMP LOPA C: LEA DI,BUF2 INC SI MOV DX,10 DEC CX JZ D JMP LOPA D: MOV AH,4CH INT 21H DATA ENDS END BEGIN 开始 BUF1 EASI BUF2 EADI BUF2 EABP 10CX; 10BX (SI)AX (DI)BX Y AX=BX N DX-1 DX=0 Y N (DI)+2 AX (BP)+2
15、JZ DX-1 JNZ (DI)+2 BUF2 EA DI (SI)+1; 10DX JNZ CX-1 JZ 结束 2.键盘接受一串字符到以TAB为首地址的字节存储区中,利用向前移动的方法,删除数字字符,然后在屏幕的下一行,显示删除后的字符串。 寄存器分配:CX:计数控制循环 SI:TAB首地址 AL:存 开始 STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT TAB DB 100 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE;SS:STACK;DS:DATA BEGIN: LEA S
16、I,TAB MOV CX,10 LOPA1: MOV AH,1 INT 21H MOV SI,AL MOV DL,AL MOV AH,2 INT 21H DEC CX JNZ LOPA1 MOV DL,0AH MOV AH,2 INT 21H MOV SI,0 MOV CX,10 LOPA2: MOV AL,SI CMP AL,0 JL A CMP AL,9 JG A MOV BL,SI LOPA3: INC SI MOV SI,SI+1 DEC CX JNZ LOPA3 MOV SI,BL JMP LOPA2 A: MOV DL,AL MOV AH,2 INT 21H DEC CX JNZ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 上机 实验 报告 心得体会
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3613093.html