鱼C论坛

 找回密码
 立即注册
查看: 3629|回复: 3

请问像一下这个程序,我怎么查看最后首字母是否变成大写了呢,怎么debug呢??谢谢

[复制链接]
发表于 2012-6-23 15:57:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:codesg,ds:datasg
9 J$ i5 x/ Z% W1 @0 f3 `& V* ]3 B6 xdatasg segment( d3 x9 u2 B5 {
        db '1.ibm   '$ Y) D; ]. p% y7 [1 u4 Q
        db '2.dec   ') |+ T8 R+ q3 {6 p0 G2 _: i7 ~
        db '3.dos   '
6 X' ?1 e7 u+ O  X( zdatasg ends
1 Q2 j4 m+ ^& c' K6 }* A  g0 p% v0 i$ l" Q2 S4 ~& u& Q4 U6 W, z
codesg segment
) k! N3 r7 y  nstart:        mov ax,datasg4 h4 r. V" J; J& P/ U/ \) }# Y
                mov ds,ax  O9 m3 z! w, f/ c, ~8 m) u- _
                mov bx,0( u5 F* ~& c1 Z' ~% X) b6 H6 h. ^6 ]( B
               
+ O5 y6 `- k- _                mov cx,3' T/ Y- b; m1 t( O' e: d6 L+ H
        s:        mov al,[bx+2]
  l$ H# Y8 D; }5 B- t/ d                and al,11011111b
$ z4 r! h6 Q, ?( D; f8 S                mov [bx+2],al" H. t' D5 d; Y! [- Q% _3 G, o, |% B
                add bx,16/ A/ U1 Y9 {. ]+ p( B# q
                loop s
& l, v9 o8 ]: t; m5 S                6 _- g4 a4 m) N' {' W
                mov ax,4c00h8 w; L# W- a8 }& t% }
                int 21h+ ]8 O- N  D. v4 M  h6 l+ t+ Y& l
codesg ends8 t( N7 i% L% O, ]
end start
; J3 D7 a- b6 F               
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-1 01:45:59 | 显示全部楼层
这个看小甲鱼的视频呢,不能传图,debug +你的文件名.exe  ,然后-r一下,找到数据段入口,我的是 mov ax,14c0,-g一下 这时显示program terminated normally  ,然后 -d 14c0:0000
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-8 15:43:35 | 显示全部楼层
都过去这么多天了,不知道您解决了没有...." G' Q+ ]6 V: G

  m1 H. B3 B4 g" o
* ?& |& H0 x; c* I4 e) J& x0 ?4 ]# ^0 u0 }7 `* h
debug xxx.exe (xxx是你的文件名) 回车
! F" b* R7 ^) O4 d, S% {5 u
+ n) o% Q: Z" g1 _. P1 j, x- u-u  (查看程序的汇编指令) 回车$ |: n1 C6 `8 W( f

! J5 w. L: }  w3 G& i& Y) _mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
$ E/ x( u( V+ d" r$ {' e2 xmov ds, ax. W( G! N# \4 b5 T2 A: A6 F; Y
mov bx, 0
: A+ D9 E& s2 A. g& ~( Q(下面的指令,略)
4 p& A3 F) ], Z6 E$ i6 M6 Y. c
6 Z* Z- ~: Y. X$ H) y* `+ b-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】$ W1 F" ~/ x7 m" J3 \/ [- k
* D+ J0 @8 T# p5 z5 o
-g (执行程序) 回车,就可以看到【program terminated normally】
- C( W& z2 ^6 I4 T$ t% }- `0 N* f& L8 \. g/ T+ S
然后,再次, m+ Z+ ^4 L. Q. O4 w

1 a0 P* f/ Y# U3 A  O# o-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】' n6 z* K' V; _! U+ w: N5 q
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
) [' ]( v3 M0 E5 b! e' y+ c& x& c-d  ds+10h:0
- i. N8 }/ `5 a4 s$ m1 r* {  M看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-5-25 09:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表