鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg6 ]* Q+ Z9 F# B! F
datasg segment8 F: E) O$ Z7 C" I) |
        db '1.ibm   '4 ?( N5 ~9 W; {" U
        db '2.dec   '
/ C% b$ k, c  b6 w: L6 t( n- I        db '3.dos   '
# x5 ^; E% Y3 ~" D! pdatasg ends
% C! s$ {2 C# W7 G! p2 G: U& R: Y' O3 x1 D; l. f6 e
codesg segment
# V7 ^3 S; }8 d: z$ F" c9 O4 r7 }start:        mov ax,datasg
+ g2 ?/ f* n8 Y                mov ds,ax
7 a3 V; M6 M) r                mov bx,0$ q) D! y* X0 U- C2 g7 a" I
                : ^) w* t, Q3 P/ j! D9 n& N
                mov cx,3! m+ Z( `  E3 B3 s# ]
        s:        mov al,[bx+2]- Y& K8 h8 |0 ^+ \" c3 q* ^% I
                and al,11011111b; t/ u" c* p' d
                mov [bx+2],al& b: l( a7 n, Z* m5 l: p
                add bx,16
2 ^' g8 b% T4 t2 R3 X                loop s
; `3 u% E3 `' o2 L# b4 L3 H               
: R/ O( g( c3 B$ l' v0 P                mov ax,4c00h0 k/ }# Q5 t7 S+ U8 s' K
                int 21h
: G; G, E7 o5 h6 ]: vcodesg ends1 `. z3 b8 C: Y( p- e
end start
5 V& n1 J- x6 Y               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....# S1 J8 C3 |5 z) t6 U" }6 t
' U1 I* o! m4 R! o# j+ ]

; U2 ]& s' y& G6 j% r  d$ K6 c
/ B% M! V$ P. Z# h& k1 F( Rdebug xxx.exe (xxx是你的文件名) 回车1 w$ G6 W$ k( t4 J# B

+ w6 R; a( R8 T0 y# ~-u  (查看程序的汇编指令) 回车; G: j  @' D3 H1 Q" F$ K4 ~

; u+ t, s3 b+ `! S! Z/ j8 fmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
; ^* U& x4 t; G5 d% v" @% Pmov ds, ax7 E9 p& y3 l5 z+ H( o
mov bx, 01 l" G: O, q  i" r9 R
(下面的指令,略)
' X; u/ {$ X2 m1 d$ B" V
! n7 V- z) x) x" z-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
' G) o+ Y: L) y' G- m2 A
" c8 j: a$ a2 C, @/ ~, w-g (执行程序) 回车,就可以看到【program terminated normally】  l& `. y4 s5 A0 z# N
$ d: H8 V/ U. r0 @* d1 I: F6 V
然后,再次
& ]: i6 G* M2 \; U( R2 M, k" o1 _' G, ~- z7 l# a5 y' ?" C
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
% H: _6 ^" r' l6 _( e+ `( T
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
: o: n6 P3 k" P' |-d  ds+10h:06 I* S$ Q/ r( R$ r
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-7-28 09:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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