鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
1 W0 u6 V7 P2 }; g0 s; adatasg segment
% I& o( _4 A0 F6 S: K, ^/ L; L% A        db '1.ibm   '
+ n: r/ W" U: i4 J' A# G        db '2.dec   '
8 j/ ^4 F0 c- d; D" i        db '3.dos   '
! g: K2 c: G: O9 edatasg ends
+ [. P! q4 l' s2 ]
4 E% y9 ]# u- ~$ Fcodesg segment
! |! K( P- d. n0 [( E& E6 ]start:        mov ax,datasg; w8 k0 A) K% w' O+ b. ]
                mov ds,ax
; F. z( m/ N7 k. N                mov bx,0
1 L! e4 g: b( E/ I0 V8 F: s6 l               
# t/ s' f8 {) O% t9 G. W; H. `2 p                mov cx,3& d( j  d% S+ ]
        s:        mov al,[bx+2]
' [* a& C9 E) _1 E                and al,11011111b0 ?% G) R3 x& Q) Z7 H. ^# V) e$ N
                mov [bx+2],al
, l: T6 U- s# w2 x: S. g                add bx,16
; [6 F. _8 T5 E# }. i                loop s) e7 e; e* E+ e5 \. B$ e
                ) s: z' q3 }7 F4 i
                mov ax,4c00h
- V. f: t( `. z8 V% b" d$ H                int 21h" B3 d- X# x5 h% V5 Q& X# _
codesg ends" v" f" d. ^5 R; Z$ J% m
end start
6 E. \1 m  M1 K+ O$ t0 m# E               
想知道小甲鱼最近在做啥?请访问 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....% U: F+ \+ a3 \) o* E; C
4 r6 E8 J+ a/ T
4 s! G- g3 V9 |, K$ a0 F( v) M) p3 @
; U9 L8 \, b* D& s/ u
debug xxx.exe (xxx是你的文件名) 回车' t7 Q1 |; ~# R" Q- f

" Q- C/ {4 W7 V* x& o-u  (查看程序的汇编指令) 回车  y9 v% g" C0 r$ u+ a

8 N2 x( j4 j) l7 Q. d* v' rmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
' L8 {, J! U2 L  V; vmov ds, ax) q9 a. ~1 K5 P: d1 t
mov bx, 0( I& V' h5 X, V, e4 d# r
(下面的指令,略)/ x% e/ q& j% }# g# L( M

! ]; B0 V" S" N8 Z6 J1 y* c: L-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
( q& _8 M" n* f) d
$ O6 O3 D/ ]7 T+ w4 e9 i- k-g (执行程序) 回车,就可以看到【program terminated normally】( D; G4 f3 Z2 x' {

0 r: w' S5 s5 p1 a: a  N% e: \' B然后,再次* k$ I. q# b8 k9 _* [; }$ M/ {# }9 _6 @
) l; B+ l+ f! Y; \8 w4 q2 r
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】8 e1 F6 L" J7 z- C7 \6 j
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后5 P6 }0 @6 a: `3 O
-d  ds+10h:0
9 L5 c! K% Q; c看要看的字母的数字 如果大于40小于61就是大写字母。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com

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

GMT+8, 2024-5-5 08:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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