鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg/ B" e6 G( z4 I) @
datasg segment, g8 K4 H  r  {" Y( a7 p; l/ d
        db '1.ibm   '. t; N( Q% @9 P6 r( z" R- {
        db '2.dec   '
1 j  I& N5 M6 M6 I& h        db '3.dos   '
; o( H3 p1 w3 C2 Kdatasg ends
( q! {9 H8 F9 z$ t6 I0 p# [5 G2 S1 \. z4 i1 [% @- a3 n6 x5 R
codesg segment9 i9 @$ C2 K1 `9 w
start:        mov ax,datasg( Z) u: v! n, c" q8 L9 V
                mov ds,ax
9 u+ F6 t" k1 t% T/ S) ]                mov bx,0
5 C( e6 h' t" ^9 F+ d% U" ^: \  `9 g                # w' }8 D: f# b8 S! q
                mov cx,3- P' n. g7 Q7 W* ]5 i) E& u; i
        s:        mov al,[bx+2]
! B: l  _& s' r  y9 w' _                and al,11011111b
- `; U0 e* G# l& G                mov [bx+2],al$ E, ?1 E2 A/ g2 T
                add bx,16  F( M+ }/ P# P3 n' a  Q8 r
                loop s2 Y+ A7 D# \. H- O9 q+ Z7 |& @
                * g0 ^: B' T3 \/ ~+ q0 b. \: f- C
                mov ax,4c00h& t4 t& g/ M* `7 w1 A* |
                int 21h" R1 G. w0 R% w1 S& r$ k3 k* Z
codesg ends
' Z' F9 _) E8 o% Y9 f2 i" A* cend start
9 O$ X* g3 W* u; q4 C' }% 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
2 m4 I/ k  [- j" b, n- D' [8 _2 S8 v% P, y* l, n
% ~* H0 D9 z! p$ S# j5 P
5 k. W& ]# o7 B' \$ M! u2 L
debug xxx.exe (xxx是你的文件名) 回车
+ K5 ^0 X: c- ?0 T9 U! r- m6 L5 V8 m" R" e0 H7 b
-u  (查看程序的汇编指令) 回车% k# j' l0 U6 J$ j% W) e

. y+ ~5 l# F& [3 X. K* Rmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
( l( n- |' n! mmov ds, ax
  ?8 A5 ~; Y7 U! k: \2 }mov bx, 08 z  _6 U2 L; C0 q" L5 O' Y
(下面的指令,略)& d- e2 f7 u# C7 f5 m2 _, E7 J
  y; q/ R  h( K( W0 v' @/ }
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】6 O, v$ h2 E# V) B& J

) q0 e$ `8 ~, J+ j6 W! ~/ t-g (执行程序) 回车,就可以看到【program terminated normally】- k! n' i( K$ P+ M: ~0 _

, E) @: X% r! n7 f( w6 U1 z然后,再次
& k3 j0 ^8 \0 d! i& ~4 O0 L) ^* f# N" }* G  T* d: ]" e+ w
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
1 `, |6 K4 x7 O2 R# a9 h, `3 L
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
8 o& Y1 d1 J5 V/ [5 M* `-d  ds+10h:0  G8 t% B" ~+ I6 i# n$ f/ F* K
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-8-22 01:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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