milorguan 发表于 2011-7-11 09:42:00

重赏求问题7.9的DEBUG调试方法

   汇编课本的158页,我写了代码,但是不知道如何调试,弄了一晚上,我晕了,求大家给个你们的代码和你们的DEBUG调试过程,请说明应如何做,非诚勿扰.........谢谢

demon 发表于 2011-7-11 09:55:31

assume cs:codesg,ds:datasg,ss:stacksg

datasg 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

-

milorguan 发表于 2011-7-11 10:03:58

demon 发表于 2011-7-11 09:55 static/image/common/back.gif
assume cs:codesg,ds:datasg,ss:stacksg

datasg segment


你好,可不可以打出调试时寄存器的值和变化后的值,谢谢

demon 发表于 2011-7-11 10:19:45

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:12

本帖最后由 demon 于 2011-7-11 10:24 编辑

像debug结果这样的问题,有了代码,你应该自己debug,
去发现问题,去思考!

小弈 发表于 2011-7-11 12:03:33

看到了帖子

自己什么都不会!

随便说说

o(∩_∩)o 哈哈

bjhrwzh 发表于 2011-7-11 12:55:57

学习,学习。我马上也要做这个题目了

milorguan 发表于 2011-7-11 13:52:24

大哥,你不是回答的请不要出声..........

fishc13708 发表于 2011-7-12 08:03:00

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
       
          

fishc13708 发表于 2011-7-12 08:20:54

我试了一试,看你能不能理解!

全杨华 发表于 2013-12-18 21:46:52

路过打酱油的哦

动感超人xx 发表于 2014-5-14 17:01:00

我为鱼币来~~~~~~~

传说。 发表于 2014-5-14 16:06:25

What's the matter? 自己不能调试么?你没生成exe文件还是怎么回事?

传说。 发表于 2014-5-14 16:07:49

不知道你具体是哪一步不会。
页: [1]
查看完整版本: 重赏求问题7.9的DEBUG调试方法