鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
$ i% j. l. X4 Z& |# bdatasg segment5 `7 U3 v8 H# {" D/ N
        db '1.ibm   '
0 X7 R" B+ U" h& V" C5 g. S  v        db '2.dec   '# |; N7 P1 P8 \) |2 y
        db '3.dos   '
# T& w' d: ~6 r; Xdatasg ends3 }$ g* d; r) a$ O
1 Y& l4 W7 |) s9 |; _! Y* M  v
codesg segment% o+ ?* n0 F( T: x7 ]* b# C
start:        mov ax,datasg
$ M5 x8 H# O/ ^: p9 C                mov ds,ax
0 _1 _3 `1 A6 y  v                mov bx,0, r9 j: b9 v' t4 U: e) L3 F
               
, g4 y3 T: Z$ e, _+ F5 A7 }( C                mov cx,3
- _& l7 i" D3 k, s% p  K        s:        mov al,[bx+2]: o* k% h) R8 o* U4 c5 n0 W% D% g
                and al,11011111b. W! c' R, t$ o
                mov [bx+2],al3 |' ~; D# |) j2 O! b, U! ~3 V
                add bx,16. w% [7 Y( m* l# q
                loop s
/ J+ R5 G+ H) y6 @, {               
  {9 G# o$ {( k* r  h                mov ax,4c00h7 C1 \$ X  Y8 o/ c3 ^
                int 21h3 y  V* `6 c) ~6 k1 T
codesg ends6 K2 H6 M% P! j: n( P( L7 {1 {
end start
* [! c3 O+ |1 S               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
% d0 w- u# t5 R: M" |2 B. q1 C9 y, I: U3 J8 T7 u1 U

- W, b( Z3 F8 c
+ ^, n7 w  A' G$ C( f" s/ R; ~: Gdebug xxx.exe (xxx是你的文件名) 回车) i6 t$ h( P! ]0 X. G2 w

5 F+ P8 m, `  I5 [/ x1 I; c* Z; }-u  (查看程序的汇编指令) 回车
% a" I/ s* z: E. b$ @& e- S& V
3 t) M1 a: o1 z7 |: Y; Q/ j3 M3 gmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)) e* o: E7 F2 m. f
mov ds, ax8 g' c5 g. X% Q3 J' V
mov bx, 0  D0 Y& W# q1 F' j3 K
(下面的指令,略)4 ?# {# C8 e; L8 {& j
" c; J2 Y( H; z5 ?: X
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
' W& S. n& l0 j* b, M+ R& ^6 p( l( f/ o6 z; B: L
-g (执行程序) 回车,就可以看到【program terminated normally】0 \- R; V9 F/ q- \

1 i3 U$ a9 C0 d7 F' N) t然后,再次
4 s  n# t0 ^% g* ]9 P& ?
6 w: m; Y' w9 X5 n-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
1 _1 W( T3 E" B' I; R
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后1 u5 {& ]; j0 E
-d  ds+10h:00 f) G! n6 M' M  e- G. e  q8 P& h* e! J
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-8-20 20:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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