鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
0 N3 r! L6 |' b% {3 P( Hdatasg segment0 J3 x% |5 C$ W+ L# n# Z$ S4 o
        db '1.ibm   '. S4 j1 G+ B" ~7 @
        db '2.dec   '4 I$ P( k( r: V9 L* {) h8 z
        db '3.dos   '
; S" Z' M7 z2 t. Fdatasg ends
' l4 y  m8 S* r, M" R& Q; R8 Q) m* q- v
codesg segment. c% I' x# V! j& N" O* i
start:        mov ax,datasg
1 ~5 b7 m; i0 i; V4 L4 ]                mov ds,ax
5 s. ~- G: Y, f8 W5 F1 O                mov bx,0
2 `8 ]; r6 Q6 N. |* Y: h. l               
1 A4 i* S0 d0 [/ W$ U7 r& {! l                mov cx,3
# V' j; ^' O3 i" t! U' K        s:        mov al,[bx+2]
9 Q% Z9 U0 `) N% q+ l; k                and al,11011111b
; r$ j1 ~+ _( L3 Q4 Z% J3 t) G3 c$ O  K                mov [bx+2],al0 q) S# V" u, D+ Z
                add bx,16$ T7 u$ U9 x6 v+ D7 I
                loop s
4 \7 p1 n1 E& h' S                6 ?( E! N: S9 u9 H0 I5 W
                mov ax,4c00h
: I3 n3 o$ q6 p, g- @& A; f                int 21h
( W! A. q) G/ k: Z& lcodesg ends
& b* a" l/ m7 E0 g  E( U  oend start
- ]# o& w' ~# s               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....8 Z* Y2 H' |2 N  |9 O3 D
% P5 V; t! ]. w/ \; _! K/ U3 ]: Y* X6 P

% \8 p- [) l, J3 m
: v2 ^; Z# a# y8 k0 ?5 {) U2 pdebug xxx.exe (xxx是你的文件名) 回车
- E2 V, Z5 e. X, Y, l3 d) Q' Y' c  v( R0 x# q
-u  (查看程序的汇编指令) 回车& m1 h* u* y6 A# n2 K
' f1 U! c' z8 g7 ]6 M
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
9 r4 p% l  @+ C0 E$ F* z% F; amov ds, ax4 C7 U/ N. F- b( h
mov bx, 0  O/ T1 c( T! Q4 b4 m7 r# E- ~3 U
(下面的指令,略)
8 p' ]( F, a2 C' |# c; `1 a0 H/ Q# Y$ @' |; g. h
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】2 v, n. @+ t% h
% \; p  e6 c% |
-g (执行程序) 回车,就可以看到【program terminated normally】
! l3 B# p; Z- }$ E, N9 [" S( |4 o) u) w
然后,再次
# z  C: q3 u1 b+ ?8 ^  H8 z  [0 t7 n
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
6 i  i1 i4 H" z1 J  j) w
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
1 e3 s& x7 i1 w9 f2 o8 B-d  ds+10h:08 h; S' q7 h2 v; C2 }* L
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-7-25 05:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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