鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
, S# ]( O5 ?; H% U) Rdatasg segment
6 d8 v. G& G9 o* o) h2 r        db '1.ibm   '7 n5 A  ]' J+ d" V+ u  t7 D5 {6 o
        db '2.dec   '0 S) M, [: c5 q6 j
        db '3.dos   '9 y& |$ d" ]4 S# X3 r
datasg ends
7 N" d8 g* p& g; A9 N0 }+ p! S8 @
" Y' p) c: `& d  ocodesg segment
2 e; |: r" e  d- ^+ U; n1 P% C4 o) X6 Zstart:        mov ax,datasg
1 \2 s  O$ x6 F+ `                mov ds,ax+ n: `0 I3 P! a7 R" o
                mov bx,0
. C0 @4 l6 F# ^7 ^$ k6 C' R7 Q                % ~. C  {; B* h! W& `5 r( F0 H, M, K
                mov cx,3, E' o  f* o- |# x
        s:        mov al,[bx+2]
6 i8 x. D' }4 r1 F                and al,11011111b
) \1 Y: e. x9 I( b% W, S                mov [bx+2],al2 y& Y7 A$ W' j- |, h8 q! y2 {4 Y
                add bx,16
0 R0 ~1 Y$ ~+ i0 m+ H4 C                loop s
8 [3 s& M/ ~/ w' a1 X                " T1 _' L. \$ H. S' p1 L% P
                mov ax,4c00h! }  V# L5 ~: e) D4 ]
                int 21h
0 b, |3 s$ y% @4 Rcodesg ends3 \# C4 i* O! d* V
end start
/ u- v9 V6 ]: F3 j0 @1 w               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....5 G( Z  }: Q) T& J0 b8 C
3 L; _- M- J7 i, z$ e: k& @
- D- @/ G5 P! d7 _8 }

, I, N) v+ }1 T' r( q2 Mdebug xxx.exe (xxx是你的文件名) 回车
' E  Q$ i8 V2 _
" ?0 N( N: W( F  Q9 j-u  (查看程序的汇编指令) 回车
( G1 R4 p$ ^% ]+ D. H
# U) o$ t3 f! H& n3 v0 T: }mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
! b( l' [  W" D- Z! J) i7 smov ds, ax
. ]+ Y% l, c( B$ }- Dmov bx, 0
$ ]. s1 ]+ ?0 g5 W  j(下面的指令,略)
1 u9 V- S  c1 w% w& |. I/ D1 A% b& d% `. Y$ N7 Y
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
+ t1 \+ P2 Q  x, @% E( ?0 n( C+ R+ Y: P, e
-g (执行程序) 回车,就可以看到【program terminated normally】% K& I3 ?$ s3 G' z+ |8 `" R

5 L2 u* [' A. n* w# c, `7 |然后,再次# i& d5 G' a0 ^9 y

. g! e# l& x9 r) ^& s  f" P/ d-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
$ z: N* a4 s# E: J
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后4 R5 d9 M8 n5 z1 H* J; J
-d  ds+10h:0
7 F" F$ A+ @' c5 n& Q1 a看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-9-19 12:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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