鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg! M$ C+ R# n7 s
datasg segment) }0 P1 L) m" v! n* Q) N6 ^
        db '1.ibm   '
: C/ o) ~8 k) {* D# H" A        db '2.dec   '
/ M- ~4 O/ t6 g% {        db '3.dos   '
8 d( o1 ~& u7 E( B% B+ Xdatasg ends4 C9 Y; X6 f# @' u
1 B' C; J/ p3 k" [$ M" F
codesg segment
) y& [: X. ]/ t* N5 [8 ystart:        mov ax,datasg
1 n% e9 ]- t9 F' L" F" ]; p- y                mov ds,ax
$ j. X4 J0 P6 z* i: ]                mov bx,0
5 y6 m. w% e4 d9 z; ?7 \9 x$ P               
* d+ D, M' Y: B# Y1 J: I- i                mov cx,3# d# i8 Z2 F, Z7 }8 ?
        s:        mov al,[bx+2]1 k- |- d6 O; D6 h  D% b1 Y% U
                and al,11011111b
. J7 X" x5 e' r' N7 R: f/ U, u9 y                mov [bx+2],al
/ E% c2 c: ^2 C$ a: S- p# z, E4 F                add bx,16, K! b; O$ @) P1 K, M+ Y2 n! M
                loop s
1 a8 \; e7 u+ e) K/ Y               
* P. f' S5 O9 d/ \8 X. [                mov ax,4c00h% M3 {0 g: I7 i
                int 21h
. R' i! ]/ S1 |4 B6 vcodesg ends
# j) D7 O6 h9 R% Q/ dend start
+ N# X/ ^9 B* C/ C8 `/ @! p               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....# P, `& Q5 y4 |& @, `
9 r" n$ |0 y# @1 z: J0 o# K
) s. H& U* |! g7 [. i: _  `

) G7 s1 N8 S; f2 X1 Gdebug xxx.exe (xxx是你的文件名) 回车! |0 L% Y& L5 I$ L
5 q; L9 U, M9 }- M, G% n: ?5 f
-u  (查看程序的汇编指令) 回车
6 e& ^5 q: ~. M2 ~, G# O. ~9 q4 ]/ `' U4 D
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
0 F( l5 z: S4 U/ d/ b: _% [mov ds, ax
* Y' t0 m. h2 A- G( N2 Dmov bx, 0" v. A- v; t4 \2 ]% ~4 y
(下面的指令,略)8 p* w( O* i* N
" w( a) P" y" I6 u% K
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】& R$ K: f. ]9 b. C. j! d! w& ^
4 |$ E* F5 ~1 ], V
-g (执行程序) 回车,就可以看到【program terminated normally】6 y1 s6 m6 Y8 [0 H( V

, w& k8 q% W. I& Q6 Y然后,再次" D/ M. w& x) ?% ^7 F' i
& c, F0 n( T( X! \! c# W
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】+ n9 X& K% @! M! d
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后+ A% h+ t: E% N( M: G3 O; D
-d  ds+10h:0
9 `: i7 x* L  X% @" W看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-10-20 09:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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