南昌大学微型计算机原理与接口技术实验报告(全)内容摘要:

ADD BX,CX MOV BYTE PTR[BX],39。 $39。 MOV AH,09H INT 21H MOV AH,02H MOV DL,0AH INT 21H MOV DL,0DH INT 21H MOV AH,09H LEA DX,CHARS INT 21H MOV AH,4CH INT 21H MAIN ENDP CODE ENDS END START 实验结果:随机输入一串不超过 50 个字符的字符串,按 enter键之后,字符串会重新显示。 在屏幕上。 屏幕显示为: 1D08:0000 1E PUSH DS 1D08:0001 2BC0 SUB AX,AX 1D08:0003 50 PUSH AX 1D08:0004 B8041D MOV AX,1D04 1D08:0007 8ED8 MOV DS,AX 1D08:0009 8D160000 LEA DX,[0000] 1D08:000D B40A MOV AH,0A 1D08:000F CD21 INT 21 1D08:0011 33C9 XOR CX,CX 1D08:0013 8A0E0100 MOV CL,[0001] 1D08:0017 BA0200 MOV DX,0002 1D08:001A 8BDA MOV BX,DX 1D08:001C 03D9 ADD BX,CX 1D08:001E C60724 MOV BYTE PTR [BX],24 U 1D08:0021 B409 MOV AH,09 1D08:0023 CD21 INT 21 1D08:0025 B402 MOV AH,02 1D08:0027 B20A MOV DL,0A 1D08:0029 CD21 INT 21 1D08:002B B20D MOV DL,0D 1D08:002D CD21 INT 21 1D08:002F B409 MOV AH,09 1D08:0031 8D160200 LEA DX,[0002] 1D08:0035 CD21 INT 21 1D08:0037 B44C MOV AH,4C 1D08:0039 CD21 INT 21 1D08:003B 00740D ADD [SI+0D],DH 1D08:003E FF360406 PUSH [0604] G37 CHENLIHUAGDAKSG CHENLIHUAGDAKSG AX=0924 BX=0011 CX=000F DX=0002 SP=FFFC BP=0000 SI=0000 DI=0000 DS=1D04 ES=1CF4 SS=1D04 CS=1D08 IP=0037 NV UP EI PL NZ AC PE NC 1D08:0037 B44C MOV AH,4C Q 实验心 得体会 : 本次试验因为还没有学过,对 DOS 系统的功能的调用很陌生。 所以本次编程的时候感觉很痛苦,编程的时候对着书看了很长时间,才慢慢的知道实验程序的编写。 在实验室悟了好长时间才悟懂 DOS 功能的调用显示和地址的灵活用法。 我忘了一“ $” ,所以电脑一直在那里响。 最后我加上“ $”符号后,程序才顺利执行完。 这次实验做得很艰难,一开始有很多迷惑,经过实践之后迷惑就消除了。 实验 四: 子程序设计(计算 N!) 实验 目 的 : 通 过 调 用 求 N!的子程序求一个数的 阶乘 掌 握 子程序的设计方法,调用方法,返回方法 学会一种算法:递归调 用 实验内容 : 堆栈保护及递归算法,用递归算法计算 5!,实验程序如下 : DATA SEGMENT N DW 5 RESULT DW。 DATA ENDS STACKSEG SEGMENT DW 128 DUP( 0) TOS LABEL WORD STACKSEG ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS: CODE, DS: DATA, SS: STACKSEG START: MOV AX, STACKSEG MOV SS, AX MOV SP, OFFSET TOS PUSH DS SUB AX, AX PUSH AX MOV AX, DATA MOV DS, AX MOV BX, N PUSH BX CALL FACT POP RESULT RET MAIN EDNP FACT PROC NEAR PUSH AX PUSH BP MOV BP, SP MOV AX, [BP+6] CMP AX, 0 JNZ FACT1 INC AX JMP EXIT FACT1: DEC AX PUSH AX CALL FACT POP AX MUL [BP+6] EXIT: MOV [BP+6], AX POP BP POP AX RET FACT ENDP CODE ENDS END START 实验结果 先退出 DOS 系统。 先输入 MASM 后,看有没有错误,如果有错误就返回去修改程序,反复调试,直到没有错误为止。 再输入 LINK 再输入 DEBUG 再按 U。 设置好断点以后再输入 G 加断点地址。 查看数据段是输入 D: DS 0 结果显示: u 13E1:0000 B8D113 MOV AX,13D1 13E1:0003 8ED0 MOV SS,AX 13E1:0005 BC0001 MOV SP,0100 13E1:0008 1E PUSH DS 13E1:0009 2BC0 SUB AX,AX 13E1:000B 50 PUSH AX 13E1:000C B8D013 MOV AX,13D0 13E1:000F 8ED8 MOV DS,AX 13E1:0011 8B1E0000 MOV BX,[0000] 13E1:0015 53 PUSH BX 13E1:0016 E80500 CALL 001E 13E1:0019 8F06020。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。