鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg; n# `6 b/ p! ]; i& L
datasg segment
' `. Z! D8 q( L0 j* x        db '1.ibm   ': Z. i: }7 U* Y! w; Z3 b. E
        db '2.dec   '/ h3 U$ O! e, ~" C2 w
        db '3.dos   '" @. W) v) J/ ?; e0 B
datasg ends
. K  g4 v' e+ C0 x% D0 Z4 f, n3 R9 R5 m! r
codesg segment
) u1 |( n$ D" m$ S/ v+ D+ i1 ~start:        mov ax,datasg. J9 F1 m6 q7 j2 ?7 k% J% }2 n
                mov ds,ax
2 O2 x) Y6 {3 ^" d' U5 l) U$ J, Y                mov bx,0* J3 A6 b) ]- U2 K/ `1 A+ p% j
               
% G* |& S. |1 E5 r                mov cx,3# D* S8 k0 E9 [  m
        s:        mov al,[bx+2]& T) q+ F8 ^' h) s
                and al,11011111b6 R. u! O; z. R7 z: v: J$ x
                mov [bx+2],al* f% j: r$ O) `, D1 ^6 p! h  n
                add bx,162 d# m0 l- Q! W# \* ^7 t0 b+ H2 B
                loop s' ^6 t0 X- {) `- |
               
9 F8 C8 W1 I3 K% L% ?5 w' d                mov ax,4c00h
* H4 {5 c: Q2 y. u& `. x( a9 C5 ~                int 21h
7 T! l1 P3 M$ lcodesg ends& n( q& H' u5 @4 I, d7 i3 Q, D
end start
9 X! N8 s, T- e6 i, I# f               
小甲鱼最新课程 -> 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 H  ]2 \$ q; I( ^

. T3 A7 p# Z/ p- v( `' w7 R5 X6 W' z2 a0 l7 r% K% S+ }9 T1 {3 J
# y; S* w0 k7 `' W: `
debug xxx.exe (xxx是你的文件名) 回车2 J7 z  C( F1 E% K! M( s* X
4 H. j3 P6 x9 A1 I4 x( @% Q
-u  (查看程序的汇编指令) 回车9 H/ [5 Z  c, R! ?$ E
& E& H" }& E! C3 u% e! [& V+ L
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
& x9 W" X6 j1 L" h( imov ds, ax
0 c4 G( q) }2 k2 L. Zmov bx, 0& [9 T) ^( C2 g. v6 A# [
(下面的指令,略)/ \& b6 [. ]3 {% V7 [1 ^
+ r1 T1 `& }% [% z) v
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】% @' A, t! I/ F' d
- o  A/ L  w/ b- t+ C7 N
-g (执行程序) 回车,就可以看到【program terminated normally】
: D+ c; O! s% p1 x3 h9 d9 ~7 l& }) l8 U6 _0 f0 H
然后,再次
: E9 D5 \8 X/ u' r( @. H( a9 M; F* G+ x1 ]
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】: k: V/ N' Y, E/ |% R& M6 f/ v* _2 p
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
. T5 I) {1 y" S# t) D  f3 Q-d  ds+10h:0
7 n5 Q: r; I1 C- ^看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-3-27 19:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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