鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg0 z  P" u4 H  h0 G
datasg segment
2 U: B$ t6 |2 x" a4 {. Y' G        db '1.ibm   '
7 R) E7 m8 i3 `5 n        db '2.dec   '
6 p" w/ x( V, \- F- X! P# p( f        db '3.dos   '- l/ B& P- A9 G0 U1 t7 j8 W6 U% q5 K
datasg ends# S* B# s  v1 h  j% Y, `
+ g7 i9 R* e5 K& q
codesg segment
. Z4 q  n/ J' S0 r; U7 s. i' i# }2 Estart:        mov ax,datasg' p3 t' J& E5 W% s7 q* m& b
                mov ds,ax
5 O7 x( j8 z' t: F  Q  ~  n                mov bx,0
( a/ Z# ]) X" ]& x/ ?1 @# B                $ @2 h4 @6 l' I- p7 [; K$ \- I# x
                mov cx,3
# C- w5 \# h! M/ i3 I# K8 t( O6 S        s:        mov al,[bx+2]
9 |6 n) @) U1 _5 e+ e, a' I. T! W                and al,11011111b; r) p0 m+ k% y: Q& t/ c
                mov [bx+2],al  i7 l5 ~$ ?5 |2 F0 m1 `. Q
                add bx,165 s$ [# l) a* {
                loop s# W' ~/ n* z6 Q7 Y2 S3 G
                4 J: q: F+ W" u" k4 {# k' ~
                mov ax,4c00h
, q: t% m' a2 Q7 K# _/ o                int 21h9 b1 ]. L% A  w
codesg ends
+ |. e( ^; }  xend start5 T) J) `! a: S, g  F
               
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-1 01:45:59 | 显示全部楼层
这个看小甲鱼的视频呢,不能传图,debug +你的文件名.exe  ,然后-r一下,找到数据段入口,我的是 mov ax,14c0,-g一下 这时显示program terminated normally  ,然后 -d 14c0:0000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-8 15:43:35 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
% n( a4 V3 ^( C7 d' B9 T  z( M) {! _- h, H9 O
  B2 V9 F$ j) U

/ R# d) q6 h4 _) m( ?debug xxx.exe (xxx是你的文件名) 回车
) A4 I) r* v  R# N: T. }3 X) p
' f: L2 i2 O8 H- a* o-u  (查看程序的汇编指令) 回车
+ K& b! u8 i. ^+ ^, @! ]* z# D" ?# A3 E' s' N& A) o" d
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)& Y: |- s& U8 u4 U" n% F5 ^3 |
mov ds, ax
- i6 H! s2 a+ J4 a: K+ y, Xmov bx, 0
1 j  I6 \! w: C# J0 }9 O(下面的指令,略)
' B4 ?$ ?2 X. N/ a# R) g) a
7 G  S  y0 X, F9 I-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】* T8 v" I" o' c6 G

* D4 j8 z' C4 W* k+ z-g (执行程序) 回车,就可以看到【program terminated normally】$ @, l3 C( F3 v# ?1 b

# Z, d, `8 g/ _- H& r* Y然后,再次
) [* M* g2 O8 m/ I
/ v' B/ X% }# b$ M+ A- A' g-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】6 G. e: {: t7 j
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后1 l3 a3 f4 k; k* Z5 S
-d  ds+10h:08 K& B4 |; K$ W
看要看的字母的数字 如果大于40小于61就是大写字母。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com

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

GMT+8, 2024-4-27 11:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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