2)把数据写入指定文件中: -W [地址] 此命令把指定内存区域中的数据写入由CS:5CH处的FCB所
规定的文件中。在用W命令前,BX和CX中应包含要写入文件的字节数。
(11)退出DEBUG命令Q,该命令格式为 Q 它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中
的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。 三.实验要求:
用汇编语言编写一个计算“3+5”的加法程序 四.实验报告:
写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。
1397:011A 0000 ADD [BX+SI],AL 1397:011C 3400 XOR AL,00
1397:011E 8613 XCHG DL,[BP+DI] -n c:\\123.exe
5
-l
File not found -u
1397:0120 0000 ADD [BX+SI],AL 1397:0122 0000 ADD [BX+SI],AL 1397:0124 0000 ADD [BX+SI],AL 1397:0126 0000 ADD [BX+SI],AL 1397:0128 0000 ADD [BX+SI],AL 1397:012A 0000 ADD [BX+SI],AL 1397:012C 0000 ADD [BX+SI],AL 1397:012E 0000 ADD [BX+SI],AL 1397:0130 0000 ADD [BX+SI],AL 1397:0132 0000 ADD [BX+SI],AL 1397:0134 0000 ADD [BX+SI],AL 1397:0136 0000 ADD [BX+SI],AL 1397:0138 0000 ADD [BX+SI],AL 1397:013A 0000 ADD [BX+SI],AL 1397:013C 0000 ADD [BX+SI],AL 1397:013E 0000 ADD [BX+SI],AL -a
1397:0100 mov ax,bx 1397:0102 mov ax,0304 1397:0105 mov ax,[0304] 1397:0108 mov ax,[bx]
1397:010A mov ax,0001[bx] 1397:010D mov ax,[bx][si] 1397:010F mov ax,0001[bx][si] 1397:0112 hlt 1397:0113 -r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1397 ES=1397 SS=1397 CS=1397 IP=0100 NV UP EI PL NZ NA PO NC 1397:0100 89D8 MOV AX,BX -d0304
1397:0300 00 00 00 00-00 00 00 00 00 00 00 00 .......... 1397:0310 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .............. 1397:0320 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .............. 1397:0330 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .............. 1397:0340 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .............. 1397:0350 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .............. 1397:0360 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ..............
6
1397:0370 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .............. 1397:0380 00 00 00 00 .... -1397
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1397 ES=1397 SS=1397 CS=1397 IP=0108 NV UP EI PL NZ NA PO NC 1397:0108 8B07 MOV AX,[BX] DS:00 -t
AX=20CD BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1397 ES=1397 SS=1397 CS=1397 IP=010A NV UP EI PL NZ NA PO NC 1397:010A 8B4701 MOV AX,[BX+01] DS:00 -t
AX=FF20 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1397 ES=1397 SS=1397 CS=1397 IP=010D NV UP EI PL NZ NA PO NC 1397:010D 8B00 MOV AX,[BX+SI] DS:00 -t
AX=20CD BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1397 ES=1397 SS=1397 CS=1397 IP=010F NV UP EI PL NZ NA PO NC 1397:010F 8B4001 MOV AX,[BX+SI+01] DS:00 -t
AX=FF20 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1397 ES=1397 SS=1397 CS=1397 IP=0112 NV UP EI PL NZ NA PO NC 1397:0112 F4 HLT
-DS=1397 ES=1397 SS=1397 CS=1397 IP=0112 NV UP EI PL NZ NA PO NC 1397:0112 F4 HLT -e05
1397:0005 9A.12 EE.ff FE.ff -d0000
1397:0000 CD 20 FF 9F 00 12 FF FF-1D F0 4F 03 FB 0D 8A 03 . ........O..... 1397:0010 FB 0D 17 03 FB 0D 30 04-01 01 01 00 02 FF FF FF ......0......... 1397:0020 FF FF FF FF FF FF FF FF-FF FF FF FF A6 0D 4E 01 ..............N. 1397:0030 BB 12 14 00 18 00 97 13-FF FF FF FF 00 00 00 00 ................ 1397:0040 05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 1397:0050 CD 21 CB 00 00 00 00 00-00 00 00 00 03 20 20 20 .!........... 1397:0060 20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20 ..... 1397:0070 20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00 ........ -e0010
1397:0010 FB.20 0D.ff 17.12 -d0010
1397:0010 20 FF 12 03 FB 0D 30 04-01 01 01 00 02 FF FF FF .....0......... 1397:0020 FF FF FF FF FF FF FF FF-FF FF FF FF A6 0D 4E 01 ..............N.
7
1397:0030 BB 12 14 00 18 00 97 13-FF FF FF FF 00 00 00 00 ................ 1397:0040 05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 1397:0050 CD 21 CB 00 00 00 00 00-00 00 00 00 03 20 20 20 .!........... 1397:0060 20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20 ..... 1397:0070 20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00 ........
1397:0080 0B 20 43 3A 5C 31 32 33-2E 45 58 45 0D 54 45 52 . C:\\123.EXE.TER :1111 -r
AX=FF20 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1111 DI=0000 DS=1397 ES=1397 SS=1397 CS=1397 IP=0112 NV UP EI PL NZ NA PO NC 1397:0112 F4 HLT -rf
NV UP EI PL NZ NA PO NC - -r
AX=FF20 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1111 DI=0000 DS=1397 ES=1397 SS=1397 CS=1397 IP=0112 NV UP EI PL NZ NA PO NC 1397:0112 F4 HLT -rdi DI 0000 :1111 -r
AX=FF20 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1111 DI=1111 DS=1397 ES=1397 SS=1397 CS=1397 IP=0112 NV UP EI PL NZ NA PO NC 1397:0112 F4 HLT -rf
NV UP EI PL NZ NA PO NC - -r
AX=FF20 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=1111 DI=1111 DS=1397 ES=1397 SS=1397 CS=1397 IP=0112 NV UP EI PL NZ NA PO NC 1397:0112 F4 HLT -q
8
实验二 内存操作数及寻址方法
一.实验目的:
1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。 2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。 3、掌握简单指令的执行过程。 二.实验内容:
1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。
2、设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。
程序清单如下: MOV AX,BX MOV AX,0304H MOV AX,[0304H] MOV AX,[BX]
9