鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
9 `( t' \# p5 Q0 x  W. Y5 h2 Z! Tdatasg segment+ j5 o2 {- X; K; j4 c
        db '1.ibm   '+ \/ o$ n& O- N/ n
        db '2.dec   '
" D' s* j* c* ~' y- |% U6 W        db '3.dos   '3 D' n7 I2 f2 l  b
datasg ends9 L# t0 T- ~5 a
& [+ c1 D1 T6 B- A
codesg segment) _: \# E2 A# L: j; R4 p5 Q8 ]6 T
start:        mov ax,datasg4 p' W6 o" U" I* L
                mov ds,ax. R6 S) q1 o, `+ B* q( H
                mov bx,0- _5 w. }# J1 ]( ^3 `. w
                5 y5 }7 u0 {' r9 p1 ?! y
                mov cx,3) s6 F; V  q) _9 }: t" E$ Y. Y& |6 ~
        s:        mov al,[bx+2]
7 U% W7 ^# o5 z* s) y* B                and al,11011111b
: V; u& ^8 U4 F; y; [1 m                mov [bx+2],al2 r0 j# ~7 V" U/ r$ r" B8 U
                add bx,16
5 w: Z% K% i3 j% P: Q; }1 Z; H                loop s! p: d) G4 s$ Y$ n
                / ^# R2 m$ _5 h* }: E
                mov ax,4c00h6 V2 C) |6 p; M; R
                int 21h
- J  B8 @! Q. j) {( T# X" [codesg ends7 B  G$ S5 \- _4 [* V. m5 x8 D
end start
: L4 Z% _5 U3 q" \               
小甲鱼最新课程 -> 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 f. q- Z  ], b. ]5 d0 ~0 s# k* \0 p

8 {6 q- w* |3 O
7 [2 K) z/ v! Z: Vdebug xxx.exe (xxx是你的文件名) 回车
8 F* t2 H& A! ?; G; ]9 `/ z  e) M4 [0 d
-u  (查看程序的汇编指令) 回车
0 X& @6 J" e) H" R2 |) r
/ I$ O  `, O: v0 ?4 v0 Nmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
( r2 u3 k, j0 C3 I' k; q+ M9 }mov ds, ax
$ Z$ ?5 ~: u- W% A6 O2 I# c1 ^) tmov bx, 05 o2 m; Q- e" q- I% l& h3 O9 ~2 j* {* s. x
(下面的指令,略)0 N  M+ W  E. ]* k$ `/ O/ h0 N
9 o2 j2 t% B# |
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
: |  c5 a. A% S, z+ t  p2 h! h5 j+ k, R- l' y! V- G* N* C4 z
-g (执行程序) 回车,就可以看到【program terminated normally】
8 e( M4 |  M6 B+ J
2 a1 G- Q+ H" S  w然后,再次
, ]" H; P* ~* l# k  Y2 t0 N2 H8 [. a& ^& s8 a' C
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】4 x: l: F% m, k* D% f7 A
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
9 D" j: D# I5 T5 B-d  ds+10h:0
2 H( M, ^1 }% o- B: ~看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-9-19 22:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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