鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
. p8 I' T, s' m  s5 cdatasg segment
$ {2 H3 G2 i* W) C! |        db '1.ibm   '
' {% c, R& \8 x  T        db '2.dec   ': |' p8 C. T2 D
        db '3.dos   '" K, Y- R( I6 R/ y; ~
datasg ends
: ^  J7 C1 r9 L2 d/ [$ S9 W2 ^1 t; ]  g! {3 ]/ B0 e, Q5 T0 J
codesg segment
$ M9 m) A1 O5 Q' [4 |. A2 Pstart:        mov ax,datasg0 z6 K0 |5 Z, a0 p* O; K
                mov ds,ax: u7 T5 U9 y, h7 \/ C$ w  I4 M
                mov bx,0) U0 _1 z7 Z8 C! C+ E
               
: z8 Z! J9 a+ v5 F+ z1 }                mov cx,3! F8 i4 @, y4 {1 {1 i7 b$ e# a
        s:        mov al,[bx+2]
! `* T6 U3 z7 X* p: y2 d                and al,11011111b
6 m! V4 f- c5 l5 i' \) S6 o+ i                mov [bx+2],al
! U6 g. g9 ^% W2 h                add bx,16
8 V0 U+ o3 L0 Q, [( @  f/ R1 {                loop s% _5 B: v2 v; m% a, N
                : V/ T0 p% o2 l# f4 R' B- M
                mov ax,4c00h( h* h- m/ s+ q. Q8 X! p
                int 21h
) d$ U& F3 B: D9 \codesg ends
* P. p+ p2 z; S0 }9 j: R4 }+ b) Rend start4 d0 a- n' @+ l/ r# _! H
               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
9 p" ?" z* v% C, ~/ t6 j/ Y" _2 x( q5 w% r
4 Y, D& B& V2 T  J* f
& e' C, f$ s( B/ i
debug xxx.exe (xxx是你的文件名) 回车
  ^+ ~3 p( {# V) \$ L6 I5 w& Q9 z0 v4 _6 g
-u  (查看程序的汇编指令) 回车2 q7 w1 a! r8 p3 E& z

# \* r& L, O0 E3 G. omov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
. U9 d* P- n9 }- `5 Bmov ds, ax
! T5 t% S, m8 k. d) n* _. G; F- E) b. Xmov bx, 02 b6 m! [( N( P5 N! X0 w7 M+ O
(下面的指令,略). {+ R% j3 ]. ]8 M2 r- a; e2 Y2 x
7 k. q% F# @: [
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
, ~1 i! b+ s3 d& U, K0 G
# w* c6 L% o! f% @6 H9 M9 z-g (执行程序) 回车,就可以看到【program terminated normally】8 b- Z  ^& k  A8 v

. _) K1 h7 o' s$ G' U9 e2 I! ^然后,再次
  ]* c8 @. o( E) X
* \* Q  M7 R( e8 k2 Z+ d: S6 v-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】4 `. C2 n- x1 }
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
/ ^7 L$ t* }4 d5 v7 _, j: H0 R$ n-d  ds+10h:02 z1 l! T0 \+ B: q( q' Q" Z
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-5-21 11:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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