鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
* }0 m2 D. d) ?0 pdatasg segment) \' i" ^* c( b! r$ u, x0 a* p
        db '1.ibm   '
1 _- ^$ b$ P+ X2 F: V& o% ^        db '2.dec   '# K0 r# H' Y0 [5 A& {" b8 V
        db '3.dos   '
' J  S3 p* @4 M6 T8 Adatasg ends
+ V, o2 z/ A- ~, v- [4 }3 X4 n" \6 [; I. k
codesg segment
* G6 R" b7 q, V7 dstart:        mov ax,datasg
4 C; o$ r6 f, L                mov ds,ax8 C* C! r2 g; g; n1 d
                mov bx,0; [( g. T  `- z7 Q: L; w# e) J
               
9 W* y% Q4 a. _6 a4 _  y% }! q                mov cx,3) G$ g; n. x, Q7 K0 C
        s:        mov al,[bx+2]
  S: |) {! S  N                and al,11011111b
% I9 J$ L% N6 u! x                mov [bx+2],al
9 s% U: Q+ a; W                add bx,16
; I# N) R+ x' C  L, @  v" _* y                loop s* o8 C$ E/ a: X7 B& k) y
               
8 T5 T. i& \( G7 v                mov ax,4c00h6 p5 D# s: ?# i! ~! _
                int 21h
- y" W. Y4 C3 v4 e) |; A/ Scodesg ends
% g- x+ y4 u0 }& F& \  F0 qend start
$ r5 f3 N  S% w               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
( t. p- D  F( o  d
0 M& T& i0 |  d1 o# o% y: @* c2 ~; g' T  J; n8 R

) o  R. s; w6 @( v0 l5 Sdebug xxx.exe (xxx是你的文件名) 回车$ D6 v, F! e# @
$ j9 L: ]2 b+ x. _2 _! T: E7 q
-u  (查看程序的汇编指令) 回车- F$ q; d0 B$ ], \% Y/ p7 H
. O6 T; k4 r4 k: {' m; u
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)6 G9 m) `( n1 U2 \# E
mov ds, ax5 b: O$ n5 G$ Z2 W( z: n9 c/ J
mov bx, 0* h, E& g. E' C1 p- O6 A
(下面的指令,略)
. n1 u/ |  B' m0 g; q) n
9 q' y  G' Z; a" s+ s* G$ L* u-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】* m3 O; ]! n( n5 w% V$ z5 v8 U! `
: B/ A$ f. N* x* \# M
-g (执行程序) 回车,就可以看到【program terminated normally】
( P( v9 g4 u0 W8 x; O
: F& }8 {4 g5 z* K3 N' r8 y5 T  O然后,再次
  I1 S. k- ^$ R$ y) I. p* i0 g1 r) k/ i5 d' n
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
8 o: w% H) o; t) _* L0 K
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
: V  g/ ?. p9 E) O1 z-d  ds+10h:0
" Z+ v3 |- m& {- ]) _5 u看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-5-25 07:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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