重赏求问题7.9的DEBUG调试方法
汇编课本的158页,我写了代码,但是不知道如何调试,弄了一晚上,我晕了,求大家给个你们的代码和你们的DEBUG调试过程,请说明应如何做,非诚勿扰.........谢谢 assume cs:codesg,ds:datasg,ss:stacksgdatasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
codesg segment
start: mov ax,datasg
mov ds,ax
mov bx,0
mov ax,stacksg
mov ss,ax
mov sp,16
mov cx,4
s0: push cx
mov si,0
mov cx,4
s: mov al,
and al,11011111b
mov ,al
inc si
loop s
add bx,16
pop cx
loop s0
mov ax,4c00h
int 21h
codesg ends
end start
C:\DOCUME~1\SNUSER>debug sy7-9.exe
-d0c4e:0 3f
0C4E:000031 2E 20 64 69 73 70 6C-61 79 20 20 20 20 20 20 1. display
0C4E:001032 2E 20 62 72 6F 77 73-20 20 20 20 20 20 20 20 2. brows
0C4E:002033 2E 20 72 65 70 6C 61-63 65 20 20 20 20 20 20 3. replace
0C4E:003034 2E 20 6D 6F 64 69 66-79 20 20 20 20 20 20 20 4. modify
-g
Program terminated normally
-d 0c4e:0 3f
0C4E:000031 2E 20 44 49 53 50 6C-61 79 20 20 20 20 20 20 1. DISPlay
0C4E:001032 2E 20 42 52 4F 57 73-20 20 20 20 20 20 20 20 2. BROWs
0C4E:002033 2E 20 52 45 50 4C 61-63 65 20 20 20 20 20 20 3. REPLace
0C4E:003034 2E 20 4D 4F 44 49 66-79 20 20 20 20 20 20 20 4. MODIfy
-
demon 发表于 2011-7-11 09:55 static/image/common/back.gif
assume cs:codesg,ds:datasg,ss:stacksg
datasg segment
你好,可不可以打出调试时寄存器的值和变化后的值,谢谢 C:\masm5>debug sy7-9.exe
-r
AX=0000BX=0000CX=0080DX=0000SP=0000BP=0000SI=0000DI=0000
DS=13CDES=13CDSS=13DDCS=13E2IP=0000 NV UP EI PL NZ NA PO NC
13E2:0000 B8DD13 MOV AX,13DD
-u
13E2:0000 B8DD13 MOV AX,13DD
13E2:0003 8ED8 MOV DS,AX
13E2:0005 BB0000 MOV BX,0000
13E2:0008 B8E113 MOV AX,13E1
13E2:000B 8ED0 MOV SS,AX
13E2:000D BC1000 MOV SP,0010
13E2:0010 B90400 MOV CX,0004
13E2:0013 51 PUSH CX
13E2:0014 BE0000 MOV SI,0000
13E2:0017 B90400 MOV CX,0004
13E2:001A 8A4003 MOV AL,
13E2:001D 24DF AND AL,DF
13E2:001F 884003 MOV ,AL
-d 13dd:0 3f
13DD:000031 2E 20 64 69 73 70 6C-61 79 20 20 20 20 20 20 1. display
13DD:001032 2E 20 62 72 6F 77 73-20 20 20 20 20 20 20 20 2. brows
13DD:002033 2E 20 72 65 70 6C 61-63 65 20 20 20 20 20 20 3. replace
13DD:003034 2E 20 6D 6F 64 69 66-79 20 20 20 20 20 20 20 4. modify
-u
13E2:0022 46 INC SI
13E2:0023 E2F5 LOOP 001A
13E2:0025 83C310 ADD BX,+10
13E2:0028 59 POP CX
13E2:0029 E2E8 LOOP 0013
13E2:002B B8004C MOV AX,4C00
13E2:002E CD21 INT 21
13E2:0030 0056C4 ADD ,DL
13E2:0033 5E POP SI
13E2:0034 06 PUSH ES
13E2:0035 26 ES:
13E2:0036 8B4708 MOV AX,
13E2:0039 8946F8 MOV ,AX
13E2:003C 26 ES:
13E2:003D 837F0600 CMP WORD PTR ,+00
13E2:0041 747F JZ 00C2
-g 002b
AX=1349BX=0040CX=0000DX=0000SP=0010BP=0000SI=0004DI=0000
DS=13DDES=13CDSS=13E1CS=13E2IP=002B NV UP EI PL NZ NA PO NC
13E2:002B B8004C MOV AX,4C00
-d ds:0 3f
13DD:000031 2E 20 44 49 53 50 6C-61 79 20 20 20 20 20 20 1. DISPlay
13DD:001032 2E 20 42 52 4F 57 73-20 20 20 20 20 20 20 20 2. BROWs
13DD:002033 2E 20 52 45 50 4C 61-63 65 20 20 20 20 20 20 3. REPLace
13DD:003034 2E 20 4D 4F 44 49 66-79 20 20 20 20 20 20 20 4. MODIfy
-q 本帖最后由 demon 于 2011-7-11 10:24 编辑
像debug结果这样的问题,有了代码,你应该自己debug,
去发现问题,去思考! 看到了帖子
自己什么都不会!
随便说说
o(∩_∩)o 哈哈 学习,学习。我马上也要做这个题目了 大哥,你不是回答的请不要出声.......... assume cs:codesg,ds:datasg,ss:stacksg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1.display '
db '2.brows '
db '3.replace '
db '4.modify '
datasg ends
codesg segment
start:mov ax,stacksg
mov ss,ax
mov sp,10H
mov ax,datasg
mov ds,ax
mov si,0
mov cx,4
s:push cx
mov bx,0
mov cx,4
s0:mov al,
and al,11011111B
mov ,al
inc bx
loop s0
add si,10H
pop cx
loop s
mov ax,4c00H
int 21H
codesg ends
end start
我试了一试,看你能不能理解! 路过打酱油的哦 我为鱼币来~~~~~~~ What's the matter? 自己不能调试么?你没生成exe文件还是怎么回事? 不知道你具体是哪一步不会。
页:
[1]