汇编上机实验报告心得体会

上传人:工**** 文档编号:504350800 上传时间:2023-05-06 格式:DOC 页数:27 大小:920.50KB
返回 下载 相关 举报
汇编上机实验报告心得体会_第1页
第1页 / 共27页
汇编上机实验报告心得体会_第2页
第2页 / 共27页
汇编上机实验报告心得体会_第3页
第3页 / 共27页
汇编上机实验报告心得体会_第4页
第4页 / 共27页
汇编上机实验报告心得体会_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《汇编上机实验报告心得体会》由会员分享,可在线阅读,更多相关《汇编上机实验报告心得体会(27页珍藏版)》请在金锄头文库上搜索。

1、汇编语言程序设计第一次上机作业1.从键盘上接受一个字符,找出他的前导字符和后继字符,按顺序显示这三个字符。寄存器分配:AL :存输入值xDL :输出显示流程图:如右图所示DA TA SEGMENTA DB 0DA TA ENDSSTACK SEGMENT STACK DB 200 DUP(0)STACK ENDS CODE SEGMENTASSUME DS:DA TA,SS:STACK,CS:CODES: MOV AX,DA TA MOV DS,AX MOV AH,1 INT 21HINC AL MOV DL,AL MOV AH,2 INT 21H DEC AL MOV DL,AL MOV A

2、H,2 INT 21H DEC ALMOVDL,ALMOVAH,2INT21HCODE ENDSEND S开始输入 AX(AL)+1 ALAL DL 显示( AL )-1 ALAL DL 显示( AL ) -1ALAL DL 显示结束2.从键盘上输入一个数字字符,如不是,显示寄存器分配:AL :存输入值xDL :输出显示流程图:如右图所示程序代码如下:DA TA SEGMENTADB0BUF DB,NOT ODD$EADB,ODD$DA TA ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DATA,SS:

3、STACK,CS:CODES: MOV AX,DA TA MOV DS,AX MOV AH,1 INT 21H CMP AL,0JNGE B CMP AL,9JGE BLEA DX,EA MOV AH,9 INT 21H JMP CB: LEA DX,BUF MOV AH,9 INT 21HC: MOV AH,4CH INT 21HCODE ENDSEND Snot odd,否则显示odd。开始输入 ALYAL9显示Ynot odd显示odd结束第二次上机作业1.将以 H 为首地址的字节存储区中的技能被3 整除又能被13 整除的无符号整数的个数(假定=9 )显示出来;同时对应的显示它们分别对应

4、的地址偏移量。(利用多种寻址方式做)DA TA SEGMENT寄存器分配: SI:存 H 的偏移地址HDW1,3,5,39,13,117,15,17,$CX: 计数N =$-HDX :存余数BDW 3BX: 循环计数CDW13D DW 0 DA TA ENDSSTACK SEGMENT STACK DB 200 DUP(0)STACK ENDS CODE SEGMENTASSUME CS:CODE,SS:STACK,DS:DATABEGIN: MOVAX,DA TANMOVDS,AXMOVCX,0MOVBX,NLEASI,HNLOPA:MOVAX,SIDIVBMOVD,DXJNZNEXTDIV

5、CMOVD,DXJNZNEXTMOVDL,SIMOVAH,2INT21HINCCXINCSIDECDXJNZLOPANEXT:INCSIDECDXJNZLOPAEXIT:MOVDL,CLMOVAH,2INT21HMOVAH,4CHINT21H开始H 偏移 SIN BX0CX( SI) AX(AX)mod3=0Y(AX)mod13=0YSI DL 显示( SI)+1 CX+1NDX-1=0YCX 显示结束CODE ENDSEND BEGIN2.在以 TAB 为首地址的字存储区中存放有n 个无符号数,统计低三位全为一的数的个数。寄存器分配: SI: TAB 的偏移地址AX: 存 SIDX: 计个数

6、开始CX :循环计数STACK SEGMENT STACKDB 200 DUP(0)STACK ENDSTAB 首地址 SIDA TA SEGMENT7H BX;0 DLTAB DW 1,9,10,20,30,40 N CXN =($-TAB)/2DA TA ENDSCODE SEGMENTASSUME CS:CODE,SS:STACK,DS:DATA(SI) AXBEGIN:MOVAX,DA TAMOVDS,AXMOVDX,0MOVCX,NMOVBX,7HLEASI,TABLOPA:MOVAX,SIANDAX,BXCMPAX,BXJNEEXITINCDXINCSIDECCXJNZLOPANE

7、XT:INCSIDECCXJNZLOPAEXIT:MOVDL,DLMOVAH,2INT21HMOVAH,4CHINT21H(AX)AND(BX) AXNAX=BXY( SI)+1DL+1 DL(SI)+1 SI(CX)-1 CXCODE ENDSEMD BEGINCX=0N显示DL结束3键盘接受一串字符到 BUF 为首地址的字节单元中, 要求用下列方法分别编程, 将它们以相反的次序显示在屏幕的下一行中:(1).按地址从尾向前依次显示。STACK SEGMENT STACKDB 200 DUP(0)STACK ENDSDA TASEGMENTBUFDB 20DB ?DB 20 DUP(0)BUF

8、1DB 20 DUP(0)DA TAENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKBEGIN:MOV AX,DATAMOV DS,AXLEA DX,BUFMOV AH,10INT 21HMOV CL,BUF+1MOV CH,0LEA DI,BUF1P1: LEA SI,BUF+2ADD SI,CXDEC SIMOV AL,SIMOV BYTE PTR DI,ALINC DIMOV DL,ALMOV AH,2INT 21HLOOP P1NEXT: MOV AH,4CHINT 21HCODEENDSEND BEGIN(2). 利用堆栈反向显示。STAC

9、K SEGMENT STACKDB 200 DUP(0)STACK ENDSDA TASEGMENTBUFDB 20DB ?DB 20 DUP(0)DA TAENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKBEGIN:MOV AX,DATAMOV DS,AXLEA DX,BUFMOV AH,10INT 21HMOV CL,BUF+1MOV CH,0LEA SI,BUF+2P1: MOV AL,SIMOV AH,0PUSH AXINC SILOOP P1P2: POP BXMOV DL,BLMOV AH,2INT 21HMOV CL,BUF+1MOV

10、CH,0LOOP P2NEXT: MOV AH,4CHINT 21HCODEENDSEND BEGIN(3).利用交换的方法反序后,然后显示:即aiajSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDSDA TASEGMENTBUFDB asfdcvbN=$-BUFBDW ?A DB 2DA TA ENDS CODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACK BEGIN:MOV AX,DATAMOV DS,AX LEA SI,BUF LEA DI,BUF MOV CX,N DEC CXMOV B,CXINC CXADD DI,BMOV AX,CXDIV ALOAP: MOV BL,DIMOV DL,SIXCHG BL,DLMOV SI,DLMOV DI,BLINC SIDEC DIDEC ALJNZ LOAPP2:LEA SI,BUFMOV DH,SI

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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