鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
, x1 f; u4 K' t4 L& ~* |$ o8 qdatasg segment( `" m0 S/ I2 g! k8 }  Q7 L2 H& I
        db '1.ibm   '
2 I7 x& g3 K$ c1 M+ J$ i; O        db '2.dec   '7 t0 h: b, |7 M' |- O/ u9 }; t( q
        db '3.dos   '& l# z! x+ j9 C2 \$ _( T
datasg ends+ ?. j) n7 q+ t$ B
9 u7 t4 m# J" ^: g2 h
codesg segment: N/ w; p  }3 \/ i3 [( j1 J6 z0 \
start:        mov ax,datasg
$ |9 D% a! s' c. M+ ]% [/ O/ R( W                mov ds,ax$ c$ E* d& S& t6 w8 ~9 b1 d+ i
                mov bx,0! d( ^( L% {, |
                1 c# Q3 g5 p1 j# R
                mov cx,35 l3 B0 t' A4 l  d! e* L* G1 ]
        s:        mov al,[bx+2]6 V. i& N( W# s" K" z0 a6 A
                and al,11011111b3 k$ @% c2 X  g3 G, B
                mov [bx+2],al
! G& e$ \6 j# L' ^  i                add bx,16
% j( G+ W0 {' ?. n- _                loop s; z, D: ~$ w% I, X' R2 a
                - F8 v- \% R1 E4 W$ D! B. v
                mov ax,4c00h
8 o3 w# f# U: A( X                int 21h
: K3 Z  T2 j0 G5 ]5 R5 xcodesg ends
) j3 V" r* |: ~& x( b8 u- z. Uend start% u* m" L0 F: L' c5 B' L6 t
               
想知道小甲鱼最近在做啥?请访问 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
3 \6 O' D4 S1 z  @9 [3 {8 W! n3 `

0 T$ z+ ~4 d. \, A' L
# u, P( s9 ^4 Q; ydebug xxx.exe (xxx是你的文件名) 回车1 [$ g  a9 R, H+ D& L, S3 U! V
5 u) c1 q) C7 ^* T4 Y3 K8 ^: S
-u  (查看程序的汇编指令) 回车/ v+ R4 ?; ^7 s2 R7 }
- U* p  {) G# K5 F/ U) n
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)5 U! n: d0 t( }  a; z) _5 n# F) M
mov ds, ax
- m7 o( R/ h2 A! p2 M6 \: Q& K% zmov bx, 0% A4 f1 i* X3 e3 A" n% x/ Q
(下面的指令,略)
( E; a& ]3 Z% x: ?, ?' g- m
) O9 f2 B4 C  v" e5 G# O0 X' q2 R-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】8 n; p7 n3 R/ {! N+ H  ?0 B: X
6 s% Q3 M3 g" ]6 b. u# o
-g (执行程序) 回车,就可以看到【program terminated normally】5 H+ x8 m& t# ?. x* ^: d, {( n* @
1 l/ c* P+ l. R; ~" Y8 R1 A% k( _% Q6 _
然后,再次8 j& b+ M3 j0 }4 _' v
3 u& J1 s* i! {2 n5 D
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】  n9 L( f' B- S- B; A! K
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后- p( R4 S& X# a0 I
-d  ds+10h:06 a# i; N# A( ^/ r' b# [
看要看的字母的数字 如果大于40小于61就是大写字母。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com

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

GMT+8, 2024-12-28 19:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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