鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg8 t; t; ~! q6 b) Q: ]! G/ d: m) X
datasg segment' c( u5 e$ \! K  x& O) Y( \" n
        db '1.ibm   '6 ^  N3 K* m  Z/ b1 r0 u
        db '2.dec   '
8 k% q3 r" O# Q1 [1 h5 L  |/ Y        db '3.dos   '4 K5 X7 B( _, L5 @. i
datasg ends
/ M& e  i  `1 l4 b
& u5 _, A1 F5 K! G7 S/ rcodesg segment
/ n- }( x5 J5 @. b/ V% W. ]6 Fstart:        mov ax,datasg3 e: V( T* O# q- j
                mov ds,ax- z1 W4 T/ i* G& W0 ]# K
                mov bx,0$ P! S4 z+ w" U! M
               
! u2 L' ]& M3 I' w                mov cx,3
6 I) j9 s# P  Z, g0 q% \& z        s:        mov al,[bx+2]
; a0 k: y  B% z: c/ ~/ {! E! N- z                and al,11011111b
7 w& `( @) }, n1 N                mov [bx+2],al; e7 ]7 }0 \$ k( \, ^! T
                add bx,16
/ w9 Y- \: o; M" `" P/ d8 p$ U8 `                loop s1 K2 A; g0 y( b' g4 w
                9 T  ?# x6 V: ^& z  v
                mov ax,4c00h! o5 I1 \: Q  Y
                int 21h
2 `! D" ]+ d7 @# P% ~" \. Jcodesg ends
/ ]7 p# o- n$ U4 R5 u5 a$ i" J; dend start' c0 [! j( T7 S
               
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-1 01:45:59 | 显示全部楼层
这个看小甲鱼的视频呢,不能传图,debug +你的文件名.exe  ,然后-r一下,找到数据段入口,我的是 mov ax,14c0,-g一下 这时显示program terminated normally  ,然后 -d 14c0:0000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-8 15:43:35 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
; Q4 P% Z! D, i3 E/ ~, n; }! B
/ o  I1 g2 V5 P: H9 {! M; l$ k; E/ K4 v. @/ P2 s% o
- q5 k& \! s- K. |: g
debug xxx.exe (xxx是你的文件名) 回车# G, g) D4 g1 j% k) ]

& ]. b- J5 ^6 P" X-u  (查看程序的汇编指令) 回车
2 C0 Q- x' S( Q7 d; K
; j. n3 |3 w' Zmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)9 P2 b2 T8 s; ^; s' ]( W0 F% o  ]0 ~
mov ds, ax
  ?" v" e# \( j% K' Ymov bx, 0  d* U: A& d3 w" W4 [5 s4 D
(下面的指令,略)2 F0 y5 B3 j, i9 K
0 y) B1 c/ W% u2 E2 F/ ~5 K
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
) u) f: J% M- {3 Y$ m
6 c' s; }' G2 k# \9 N-g (执行程序) 回车,就可以看到【program terminated normally】: W: K! R: P; o% E' w# R+ i9 R
- ~- o/ W9 ^+ V( u! ~
然后,再次
4 U6 [0 `( V5 h, U3 p" e) Z! Z3 [8 @/ M4 Z
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
% K' n- b. f& N' w4 |
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
' F6 ^: s$ z& T0 ~-d  ds+10h:01 ?- D& ]6 z5 o
看要看的字母的数字 如果大于40小于61就是大写字母。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com

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

GMT+8, 2024-5-9 06:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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