鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg, V8 N9 {$ ^! ?9 P# W/ f
datasg segment
* Q1 ]. ~" f# a7 z        db '1.ibm   '  \0 \" p. z5 G& l2 p
        db '2.dec   '; L& m6 M) s5 B4 w+ M
        db '3.dos   '
  S/ h, R' G- V4 mdatasg ends
" u5 a/ B: o! c9 f- e# o3 K; x; e% X7 u( a( v; A9 m/ o
codesg segment+ a( D. M6 ]6 p4 k4 c, |
start:        mov ax,datasg! Z. s+ B7 z5 H# P- ~9 X4 z
                mov ds,ax. d/ i/ T9 h) m) d6 ^7 S" ?
                mov bx,0
" R/ z! n/ \* F4 t                / M0 b- j7 E' ~4 D
                mov cx,3
9 T6 {  Y8 P7 B( O1 C        s:        mov al,[bx+2]
3 @2 }( U4 s) @7 d1 J  c                and al,11011111b% Q$ E! R. j% i" G! R* W% ]
                mov [bx+2],al
2 f8 M, {  F( O- d! P                add bx,169 L/ t; \: x, L4 H# x9 Q9 I" k. K# C
                loop s* U8 x) x7 a3 K9 e- y& q
                3 h+ k7 _9 m: I  I2 v
                mov ax,4c00h
: t! u. ?1 B' o1 U                int 21h& O9 H# E- M' }" t; S" W% Z
codesg ends
* _2 Q% C- u' N4 fend start
& {7 w" v- U  `6 r& A               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....( `+ E! W1 J# ?5 S
  A: ^% u5 G  R
) }. |- g9 F. r! m) {6 P# w

2 B! p4 [: [/ T& Gdebug xxx.exe (xxx是你的文件名) 回车/ t! @1 U0 z. n' E

' _6 K- E. a% \" e, q; \! Y-u  (查看程序的汇编指令) 回车
: @" L; ?5 p# c# t5 y$ H
1 w  |, H8 U1 k5 h* vmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)' I/ o3 H3 |4 ~/ I% _& F7 O
mov ds, ax$ X" c" A  f! |2 k  _
mov bx, 01 O. q" X1 d1 H
(下面的指令,略)/ Y& d) [% I2 _

& a( t# n- w# [# e+ }& ~; U& v. B-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】0 {  w) L, x/ s  @3 D/ ]
& e, H: t# Z1 k6 G8 ]
-g (执行程序) 回车,就可以看到【program terminated normally】& V; [! i  E# m/ j
3 X" n9 M1 k+ l: @/ N
然后,再次
  W7 Q3 Z! n5 [  W
: W  u! j5 _) \-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
* ~  Z6 g$ O6 r7 L- k
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后5 W8 x& M! H( J* m+ |; _: [0 Z
-d  ds+10h:05 @* N2 _4 y1 ?4 n" h# y$ Z
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-7-5 23:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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