河北工业大学汇编语言知识程序设计实验_第1页
河北工业大学汇编语言知识程序设计实验_第2页
河北工业大学汇编语言知识程序设计实验_第3页
河北工业大学汇编语言知识程序设计实验_第4页
河北工业大学汇编语言知识程序设计实验_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言程序设计实验网络* *实验一顺序与分支程序设计、实验目的1)掌握顺序程序设计方法。2)掌握分支程序的结构及分支程序的设计,调试方法。2)学习数据传送及算术和逻辑运算指令的用法。3)熟悉在pc机上建立、汇编、连接、调试和运行汇编语言程序的过程。、实验内容1.实验六y按下列公式从键盘上接收一位十进制数 x,计算y值,并以十六进制形式显示出来,计算。2_XX (X3)2_X2 X ( X 4)2X ( X 5)2X 2 / 2 ( X 6)2.实验七x和y,然后再输入一个a-d之间的一个实验内容:从键盘上接收两个一位十六进制数 字符,按下列要求计算。a) b) c) d)当输入字符为当输入字

2、符为当输入字符为当输入字符为a,b,c,d,则计算则计算则计算则计算x+y,并以十六进制形式显示出来|x-y| ,并以十六进制形式显示出来 x*y ,并以十六进制形式显示出来 x/y ,并以十六进制形式显示出来三、实验代码实验六DATE SEGMENTX DB ?DATE ENDSCODE SEGMENT;数据段;代码段;初始化ds寄存器;读文件到缓冲区;比较指令;A<B;逻辑与指令;al 给 x;执行L1命令;执行L4命令;执行L6命令;执行L7命令;al+x;移位指令;转移指令。小于或等于,或者不大于则转移;寄存器al加0x30ASSUME CS:CODE,DS:DATESTART:

3、MOV AX,DATEMOV DS,AXMOV AH,1INT 21HCMP AL,33HJB L0CMP AL,36HJA L0AND AL,0FHMOV X,ALMOV AL,XCMP AL,3HJE L1CMP AL,4HJE L4CMP AL,5HJE L6CMP AL,6HJE L7L1:MUL ALADD AL,XL5:MOV BL,ALMOV CL,4SHR AL,CLCMP AL,9JLE L2ADD AL,7L2:ADD AL,30HMOV DL,ALMOV AH,2;把2放入ah里INT 21HAND BL,0FH;逻辑与运算指令CMP BL,9JLE L3ADD BL,7

4、;相力口L3:ADD BL,30HMOV DL,BLMOV AH,2INT 21HJMP L0L4:MUL ALSUB AL,XSUB AL,XJMP L5L6:MUL ALJMP L5L7:MUL ALSHR AL,1JMP L5L0:MOV AH,4CHINT 21HCODE ENDSEND START实验七DATA SEGMENTX DB 01 DB 0W DB 0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR AX,AXMOV AH,1INT 21HCMP AL,39HJBE L1SUB

5、AL,07HL1:SUB AL,30HMOV X,ALMOV AH,1INT 21HCMP AL,39HJBE L2SUB AL,07HL2:SUB AL,30HMOV Y,ALMOV AH,1INT 21HA:CMP AL,41HJNE BXOR AL,ALMOV AL,XADD AL,YMOV W,ALJMP L3B:CMP AL,42H JNE CXOR AL,AL MOV AL,X SUB AL,Y MOV W,AL CMP AL,0 JG L3 NEG AL MOV W,AL JMP L3C:CMP AL,43H JNE DXOR AL,AL MOV AL,X MUL YMOV W,

6、AL JMP L3D:XOR AX,AX MOV AL,X DIV YMOV W,AL L3:MOV DL,ALMOV CL,4 SHR DL,CL CMP DL,9 JNA L4 ADD DL,07HL4:ADD DL,30H MOV AH,02H INT 21H MOV DL,W AND DL,0FH CMP DL,9 JNA L5 ADD DL,07HL5:ADD DL,30H MOV AH,02H INT 21HMOV AH,4CH INT 21H CODE ENDSEND START四、实验结果:实验六结果实验七结果五、实验心得:(1)通过实验使我知道了和熟悉了汇编程序设计的步骤2

7、.建立数学模型 遇到一个题目,首先要进行全面的分析,根据问题提出的条件,特 点,找出规律,找出问题的数学模型或者制定解决问题的规律。3 .绘制程序流程图流程图能够把比较抽象的问题变得而形象化,并且有助于理清楚思路,便于程序的编制,在程序的易读性和易维护性上有很大的帮助。4 .合理分配存储空间和寄存器汇编语言能够直接的调用存储器和寄存器。程序运行时,大两量的数据,中间结果或最后的结果都存放在存储器中,且运行的程序目标代码在存储器中,节约空间是一个好的程序应该注意的问题。5 .编制程序根据语法指令编制程序6 .人工检查 用人工的方式检查程序是否有错,并及时的改正。7 .上机调试 只有通过上机才能验

8、证程序是否正确,经过反复的运行调试,才能得到正 确的程序。(2)掌握了分支程序的结构及分支程序的设计,调试方法和数据传送及算术和逻辑运 算指令的用法。汇编语言程序设计实验网络* *实验二循环与子程序程序设计一、实验目的1)加深对循环结构的理解。2)掌握循环程序的设计方法。3)学习子程序的定义和调用方法。4)掌握子程序、子程序的嵌套、递归子程序的结构。5)掌握子程序设计、编制及调试。6)熟练掌握DEBUG的常用命令,学会用DEBUG调试程序二、实验内容1)编制在屏幕上显小九九乘法表的程序。2)编制在屏幕上显示用*组成的三角形的程序。三、实验代码实验一DATA SEGMENTS2 DB ?S1 D

9、B ?X DB 1Y DB 1S DB0AHFCH=2AHFDH=3DHFKG=20HFHH=0AHFHC=0DHDATA ENDSSTACK1 SEGMENT STACKDB 20H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV CL,9LL1:PUSH CXMOV CL,YLL2:CALL L1INC X将CLffi入堆栈段调用子程序L1LOOP LL2MOV X,1 INC Y MOV DL,FHHMOV AH,2 INT 21H MOV DL,FHCM

10、OV AH,2 INT 21H POP CX输出换行和回车从堆栈段中取出CLLOOP LL1 MOV AH,4CH INT 21HL1 PROC MOV DL,X ADD DL,30H MOV AH,2 INT 21H MOV DL,FCH MOV AH,2 INT 21H MOV DL,Y程序结束计算X*Y=Z并且输出X*Y=Z勺子程序ADD DL,30HMOV AH,2INT 21HMOV DL,FDHMOV AH,2INT 21HMOV AL,XMUL YDIV SMOV S1,AHADD AL,30HMOV DL,ALMOV AH,2INT 21HADD S1,30HMOV DL,S1

11、MOV AH,2INT 21HMOV DL,FKG ;输出空格MOV AH,2INT 21HRETL1 ENDP ;子程序结束CODE ENDSEND START实验二DATA SEGMENT N DB ?FCH=2AHFDH=3DHFKG=20HFHH=0AHFHC=0DHDATA ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASTART:MOV AX,DATAMOV DS,AXMOAH,1;输入一位16进制数确定输出行数 INT 21H CMPAL,39H JBE L1 SUBAL,07HL1:SUB AL,30H MOV N,AL XOR BX,BXMO

12、V DL,FCHMOV CL,NMOV DL,FHH ;输出换行和回车MOV AH,2INT 21HMOV DL,FHCMOV AH,2INT 21HLOP:PUSH CXINC BLMOV CL,BLMOV DL,FCHLOP2:MOV AH,02HINT 21HLOOP LOP2POP CXMOV DL,0AHMOV AH,02HINT 21HMOV DL,FHCMOV AH,02HINT 21HCMP BL,9JZ L2LOOP LOPL2:MOV AH,4CH ;程序结束INT 21HCODES ENDSEND START四、实验结果:实验一结果实验二结果五、实验心得五、循环程序由初始

13、化部分、循环部分、调整部分、控制部分组成1两种方式,一种是先判断在执行,另一种是先执行再判断。2两种控制循环的方式a计数控制循环般使用LOOP指令,要先将循环的次数放入CX中,在多重循环的计数控制中 要注保存和复原上一次循环的断点信息,在保留和复原时可以使用堆栈进行处理。自认为可以理解为一根盘绕了确定的圈数的绳子,又进入的头,又出去的尾。b条件控制循环一般使用JMP指令使程序跳到这一段的开头,用 CMP在循环中进行比较判断, 再根据程序要求,选择适当的转移条件,跳出循环。自认为可以理解为一圆形的导轨,并在导轨上设置一个初口,在符合条件时就在导轨 上脱离,否则,将会在导轨上一直的转下去。3再循环

14、中可以同时使用两者,当即已知循环的次数限制范围,但又要求在符合条件 时结束循环是,就要同时使用两者。六、子程序的使用大大的简化了程序设计的思路,在完成一个程序时,可以简单的把一个 程序划分为几个完整的几部分,使每一部分独立的完成特定的一部分和计算任务。子程序的使用还可以大大的减小程序的体积,在一程序中,如果需要多次反复的是用某一段代码的话,就可以将这段代码设定为子程序,以后想使用时,只要一 CALL再一 RET就OK啦。我认为使用子程序的关键在于明白子程序的机理,明白子程序是如何保存和恢复断点 的信息的,只有真正的理解了这一点才能更好地利用好子程序。子程序的参数传递的方式有很多种,但是在堆栈段

15、传递参数时,应该注意使用带立即数的返回的方式,在利用寄存器BP访问堆栈段来取得参数。汇编语言程序设计实验网络* *实验三算术运算与代码转换程序设计、实验目的1)掌握算术运算程序的设计方法。2)掌握代码转换程序的设计方法。3)进一步掌握各种程序结构。4)熟练掌握和使用用DEBUG调试程序二、实验内容1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在 屏幕上。2)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商, 并以十进制形式输出。3)编写程序把从键盘输入的以回车为结束符的字符串中的空格去掉并按相 反的顺序输出。三实验代码、 实验1DATA SEGMENTNUM1

16、DB 22H,33H,44H,55H,66H,77HNUM1LDB6HNUM2 DB 22H,22H,22H,22HNUM2L DB4HOUTCOME1 DB 10H DUP(0)OUTCOME2 DB 10H DUP(0) N DB 0H DATA ENDSSTACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV CH,0MOV SI,OFFSET NUM1MOV DI,OFFSET NUM2M

17、OV AH,NUM1LMOV AL,NUM2L CMP AH,AL JAE CHAXCHG SI,DIXCHG AH,ALCHA:SUB AH,AL MOV CL,ALCLCMOV BX,OFFSET OUTCOME1LOP1:MOV AL,DIPUSH CXMOV CL,SIADC CL,ALMOV BX,CLINC BXINC SIINC DIPOP CXLOOP LOP1MOV CL,AHJCXZ LOP3LOP2:PUSH CXMOV CL, BYTE PTR SIADC CL,0MOV BX,CLPOP CXINC BXINC SILOOP LOP2LOP3:MOV CH,0MOV

18、SI,OFFSET NUM1MOV DI,OFFSET NUM2MOV AH,NUM1LMOV AL,NUM2LCMP AH,ALJAE CHA1XCHG SI,DIXCHG AH,ALCHA1:SUB AH,ALMOV CL,ALCLCMOV BX,OFFSET OUTCOME2LOP11:MOV AL,DIPUSH CXMOV CL,SISBB CL,ALMOV BX,CLINC BXINC SIINC DIPOP CXLOOP LOP11MOV CL,AHJCXZ LOP7LOP21:PUSH CXMOV CL, BYTE PTR SISBB CL,0MOV BX,CLPOP CXINC

19、 BXINC SILOOP LOP21LOP7:MOV DI,OFFSET OUTCOME1ADD DI,10HMOV CX,11HLOP4: MOV DL,DIDEC DICMP N,0HJNE LOP5CMP DL,0HJE LOP9LOP5:PUSH DXPUSH CXMOV CL,4HSHR DL,CLPOP CXCMP DL,9HJBE LOP6ADD DL,7HLOP6:ADD DL,30HMOV AH,2INT 21HMOV N,1HPOP DXAND DX,0FHCMP DL,9HJBE LOP8ADD DL,7HLOP8:ADD DL,30HMOV AH,2INT 21HMO

20、V DL,'H'MOV AH,2INT 21HLOP9:LOOP LOP4MOV N,0MOV DI,OFFSET OUTCOME2ADD DI,10HMOV CX,11HLOP14: MOV DL,DIDEC DICMP N,0HJNE LOP15CMP DL,0HJE LOP19LOP15:PUSH DXPUSH CXMOV CL,4HSHR DL,CLPOP CXCMP DL,9HJBE LOP16ADD DL,7HLOP16:ADD DL,30HMOV AH,2INT 21HMOV N,1HPOP DXAND DX,0FHCMP DL,9HJBE LOP18ADD DL

21、,7HLOP18:ADD DL,30HMOV AH,2INT 21HMOV DL,'H'MOV AH,2INT 21HLOP19:LOOP LOP14MOV AH,4CHINT 21HCODE ENDSEND START实验2DATA SEGMENTTISHI1 DB 'Please enter the first number:','$'TISHI2 DB 'Please enter the second number:','$JIA DB '+','$'JIAN DB '-

22、9;,'$'CHENG DB '*','$'CHU DB '/','$'DENG DB '=','$'YU DB '','$'A DB 10B DW 10C DW 10000F DW 0HNUM1 DW 0HNUM2 DW 0HN DB 0HN1 DB 4HDATA ENDSSTACK1 SEGMENT STACKDW 30H DUP(0)STACK1 ENDSCODES SEGMENTASSUME CS:CODES,DS:DATASTART:MOV

23、AX,DATAMOV DS,AXMOV DX,OFFSET TISHI1MOV AH,09HINT 21HLOOP2:MOV AX,NUM1MUL BMOV BX,AXMOV AH,1INT 21HCMP AL,0DHJE LOP1MOV NUM1,BXMOV AH,0SUB AL,30HADD NUM1,AXJMP LOOP2LOP1:MOV DL,0AH ;输出换行和回车MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV DX,OFFSET TISHI2MOV AH,09HINT 21HLOOP1:MOV AX,NUM2MUL BMOV BX,AXMOV

24、 AH,1INT 21HCMP AL,0DHJE LOP3MOV NUM2,BXMOV AH,0SUB AL,30HADD NUM2,AXJMP LOOP1LOP3:MOV DL,0AH ;输出换行和回车MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV N,0MOV DX,NUM1MOV F,DXLOP6:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOP7MOV F,AXJMP LOP6LOP7:MOV CL,NMOV CH,0LOP16:POP DXADD DX,30HMOV AH,2INT 21HLOO

25、P LOP16MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET JIAMOV AH,09HINT 21HLOOOP6:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOOP7MOV F,AXJMP LOOOP6LOOOP7:MOV CL,NMOV CH,0LOOOP16:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOOP16MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0LOOP3:MOV AX,NUM1ADD AX,NUM2MOV F,AXLOOP

26、4:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP5MOV F,AXJMP LOOP4LOOP5:MOV CL,NMOV CH,0LOOP0:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP0MOV DL,0AH ;输出换行和回车MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV N,0MOV DX,NUM1MOV F,DXLOP61:MOV DX,0HMOV AX,F DIV B PUSH DX INC NCMP AX,0H JE LOP71 MOV F,AX JMP L

27、OP61LOP71:MOV CL,NMOV CH,0 LOP161:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOP161MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET JIANMOV AH,09HINT 21HLOOOP61:MOV DX,0HMOV AX,F DIV BPUSH DX INC NCMP AX,0H JE LOOOP71 MOV F,AX JMP LOOOP61LOOOP71:MOV CL,NMOV CH,0 LOOOP161:POP DXADD DX,30HMOV AH,2 INT 21H LOOP LOOOP1

28、61 MOV DX,OFFSET DENGMOV AH,09HINT 21HMOV N,0MOV N,0MOV AX,NUM1SUB AX,NUM2MOV F,AXAND AX,10000000BCMP AX,10000000BJNE LOOP6NEG FLOOP6:MOV DX,0MOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP7MOV F,AXJMP LOOP6LOOP7:MOV CL,NMOV CH,0LOOP16:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP16MOV DL,0AH ;输出换行和回车MOV AH,2I

29、NT 21HMOV DL,0DHMOV AH,2INT 21HMOV N,0MOV DX,NUM1MOV F,DXLOP62:MOV DX,0HMOV AX,F DIV BPUSH DXINC NCMP AX,0HJE LOP72MOV F,AXJMP LOP62LOP72:MOV CL,NMOV CH,0LOP162:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOP162MOV DX,NUM2MOV F,DXMOV N,0MOV DX,OFFSET CHENGMOV AH,09HINT 21HLOOOP62:MOV DX,0HMOV AX,FDIV BPUSH

30、DX INC N CMP AX,0H JE LOOOP72 MOV F,AX JMP LOOOP62LOOOP72:MOV CL,NMOV CH,0 LOOOP162:POP DXADD DX,30HMOV AH,2 INT 21H LOOP LOOOP162 MOV DX,OFFSET DENG MOV AH,09H INT 21HMOV N,0MOV AX,NUM1MUL NUM2 DIV C PUSH DX MOV F,AX MOV N,0 LOOP8:MOV DX,0MOV AX,FDIV BPUSH DX INC N CMP AX,0H JE LOOP9MOV F,AXJMP LOO

31、P8LOOP9:MOV CL,NMOV CH,0LOOP17:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP17MOV N,0POP FLOOP10:MOV DX,0HMOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP11MOV F,AXJMP LOOP10LOOP11:MOV AL,NCMP AL,4HJE LOOP20MOV AL,4HSUB AL,NMOV CL,ALMOV CH,0LOOP19:MOV DX,'0'MOV AH,2INT 21HLOOP LOOP19LOOP20:MOV CL,NMOV C

32、H,0LOOP18:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP18MOV DL,0AH ;输出换行和回车MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HMOV N,0MOV DX,NUM1MOV F,DXLOP64:MOV DX,0H MOV AX,F DIV B PUSH DX INC N CMP AX,0H JE LOP74 MOV F,AX JMP LOP64LOP74:MOV CL,N MOV CH,0LOP164:POP DX ADD DX,30H MOV AH,2 INT 21H LOOP LOP164MOV D

33、X,NUM2MOV F,DXMOV N,0MOV DX,OFFSET chuMOV AH,09H INT 21HLOOOP64:MOV DX,0H MOV AX,F DIV B PUSH DX INC N CMP AX,0H JE LOOOP74 MOV F,AX JMP LOOOP64LOOOP74:MOV CL,N MOV CH,0LOOOP164:POP DX ADD DX,30H MOV AH,2 INT 21H LOOP LOOOP164 MOV DX,OFFSET DENGMOV AH,09H INT 21HMOV N,0MOV AX,NUM1MOV DX,0DIV NUM2PUS

34、H DXMOV F,AXMOV N,0 LOOP15:MOV DX,0MOV AX,FDIV BPUSH DXINC NCMP AX,0H JE LOOP12 MOV F,AX JMP LOOP15 LOOP12:MOV CL,NMOV CH,0 LOOP21:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP21MOV DX,OFFSET YU MOV AH,09H INT 21HPOP FMOV N,0 LOOP13:MOV DX,0MOV AX,FDIV BPUSH DXINC NCMP AX,0HJE LOOP14MOV F,AXJMP LOOP13 LO

35、OP14:MOV CL,NMOV CH,0H LOOP22:POP DXADD DX,30HMOV AH,2INT 21HLOOP LOOP22MOV AH,4CH INT 21H CODES ENDS END START实验3DATA SEGMENTLENG DW 0HDATA ENDSSTACK1 SEGMENT PARA STACKDW 30H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXLOOP1:MOV AH,1INT 21HCMP AL,20HJE LO

36、OP1INC LENGMOV AH,0PUSH AXCMP AL,0DHJNE LOOP1MOV DL,0AH ;输出换行和回车MOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HPOP DXDEC LENGMOV CX,LENGLOOP2:POP DXMOV AH,2INT 21HLOOP LOOP2MOV AH,4CHINT 21HCODE ENDS END START 四实验结果实验1结果c C: TIMDOTSsyste>32cM(i. ereSource Ci-nffR-pefeiMtnc* FNllTi CHF1 .5089Q + 434230 B

37、vtes svnbal space fi'ee0 UArning Eriko rs 0 Seuere ErrorsE-nasm?l±nl 3TlluruvufI <B> 80d6 Objvul linker UervIon 3.5Copyrigfht CO Hicrosof t Carp 1983 1984, 1985. All rightsRun File t3,EXEl: Litt File rHUL.MMP): Jahvaries国:Xmasn>3please enter the f ii*st numhep: 4S6?Please enter the

38、 second nunber:56 国567+56=4623 4bb7-Sb=tlU2b 4Gt7«5G=255752 4567/56=8131E:Smati>_实验2结果c C: INDOTSsyste*32d. eseMicif*osort <R> Nflcro Assembler Uersion 5,00Cn 11 right <C) Microsoft Cni*p 1 9B1 1 VR5 , 1 9R7. Al 1 rights rfiserwfid .Objett £ ilename LI.OBJ J:£ource listing

39、 NUL-LST3:Cross-reference NUL,CRF1:B0928 + 450576 Bytes synbol space free0 UArning Epi'd*s 0 Scucrc ErruraB='nrnomL1HK 1Mir>*ownFt <W> RUftfi Object I.ink<»>* U»vs 1 nn 3 .ASCopyright (C> Hicrosoft Corp 1933, 1,84. 1985. All rights re?erued.un File ri.EXEl:List Fi

40、le NUL.MAPI:Libraries .LIB:E-Xmasm>lQ345HERHF DGUER4599 SGF S>骐 FGS8954REUGDFHREH543Z实验3结果五实验心得1 .计算机中处理的信息不全是数,有时需要处理字符或字符串,因此,计算机中必须能表示 字符。这些字符在计算机中用二进制表示,最常用的是ask值表示1当我们利用指令MOV AH,1HINT 21H输入数字时,所得到存放在 AL中的并不数字本身,而是相对应的ask值,因此,在输入后需要对字符进行深加工后才能够使用,有时还需要通过判断来决定对字符串的处理方 式。2当程序运行得到结果时,我们在输出结果时

41、,依然要得到相对应的ask值之后才能输出,在转换为相对应的 ask值时,依然要通过判断来决定处理的方式,例如,在以十六进 制输出结果时,就要判断是加上30H还是加上37H。然后将ask值放DL中,再利用MOV AH,2HINT 21H输出。3.将输入的一段字符串反序输出时,我认为堆栈是最好的选择,因为堆栈是先进后出的 原则,所以最先输入的最后输出。汇编语言程序设计实验网络* *实验五输入输由程序设计、实验目的1)掌握输入输出程序的编写方法。2)熟悉系统功能调用的方法。3)熟悉动回程序的编写方法。二、实验内容1)编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底 部。2)编写程序将屏

42、幕分割成格状,每一格涂上不同颜色,格数从键盘输入。三、实验代码实验一DATA SEGMENTTIMER DW 18COLOR DB 00000100BSTR1 DB 'NICE TO MEET YOU!'DATA ENDSSTACK1 SEGMENT STACKDW 100 DUPSTACK1 ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,SS:STACK1,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AH,0FHINT 10HPUSH AXMOV AL,03HMOV AH,00HINT 10HMOV AH,13HMOV AL,00HMOV BL,COLORMOV BP,OFFSET STR1MOV DH,10MOV DL,20MOV CX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论