鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
" @# j8 D, ]6 U; P6 ydatasg segment' u! V. ~8 I" q' l4 Y) k
        db '1.ibm   '
5 f3 p  V3 H: @+ w- `! M) V4 J        db '2.dec   ', y( O, G7 T& G4 e( @  Y& H3 R  R0 G
        db '3.dos   '( r5 I; E( Y  b$ n) W' b
datasg ends
- |7 \4 c2 u; n* Q4 I% C, j* b; X" z6 k1 Y) N3 A* s! f3 z
codesg segment
; G9 `1 L0 Z& \. K- v1 cstart:        mov ax,datasg
& {! }- [3 F" z5 `( f% X: S  A& Q                mov ds,ax$ n  R% H  |" J/ G4 ?; l+ |5 J
                mov bx,01 V3 B$ t& X3 e1 ?0 b
               
5 ~2 E! {8 |# V                mov cx,3
5 ?5 ^- [' e9 f: I        s:        mov al,[bx+2]4 a# D! d( }8 U- U
                and al,11011111b& k5 U3 D+ F7 Y: b9 s! h8 o
                mov [bx+2],al' P3 _: p* q+ Z
                add bx,160 ?& @0 ^- J' k/ m9 t" M5 u2 i! d
                loop s- q- J8 n  t# l. m' [; I
               
1 i8 l& G( U4 u7 W7 ?# g& K4 W' ]0 F                mov ax,4c00h
8 M# K, m" c2 f  O' c7 d2 s                int 21h. N0 w+ b. H3 X3 c, a5 q3 |2 O
codesg ends+ R6 L5 \! N/ k- r
end start8 h3 V% v. R6 O" ~9 n% U
               
小甲鱼最新课程 -> 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# ?/ c/ L7 a( D
: ^1 D; o1 t: B3 u$ p

$ }+ X! ^3 J. H3 c
8 y: Q( c3 ~+ @* M$ Y1 I. `5 Fdebug xxx.exe (xxx是你的文件名) 回车4 W! I; g2 F& H" q

/ {' K' q, }6 K# _* h" @-u  (查看程序的汇编指令) 回车2 ^1 s0 A1 B) W

5 q9 ~, p/ G. C) [$ S8 [8 Fmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
5 a+ T1 K* R. Bmov ds, ax
  \9 _3 \8 [" }, _# z* G; r9 W7 Tmov bx, 0! S, w" w, x3 Z
(下面的指令,略)
$ [/ T+ j: p3 |( w
7 R5 Y  J0 s1 Y/ m( @-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】+ S  `" G; j9 A  Y& g& Z! K" |3 F4 ^

3 {& s4 k5 B3 {7 d-g (执行程序) 回车,就可以看到【program terminated normally】
; F. _! h$ a) y# ^4 m9 b4 E$ \3 Q  R0 o3 E
然后,再次: y" O$ j8 T% x! _

6 R0 h: h$ k& k; F( U-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】* e5 M! Z8 g7 Y
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后7 z) Y& N8 x8 m2 R; W
-d  ds+10h:0
, w2 q/ m/ p/ L看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-2-11 09:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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