鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg& q( L0 ]6 S, o- U' h
datasg segment6 |' X. G: w3 w6 M$ q
        db '1.ibm   '
7 g2 z: G  G/ r5 B0 G( d- ^9 S9 w* U        db '2.dec   '& z+ T5 C: `- l6 I! p( A
        db '3.dos   '
, z% v; K0 i3 W( [4 W  @datasg ends( a# v4 ^  a: s; z" y9 f% v
4 C! Z4 C4 Q6 e+ R$ }8 z1 I
codesg segment$ ^- I! M. D- F9 n7 e1 c
start:        mov ax,datasg2 O+ l/ o' A9 n6 d6 `8 D: i
                mov ds,ax, h, W0 U9 _1 [1 \
                mov bx,0" L, B5 J5 z1 q: D; R9 _2 C6 j
               
, u; u9 y7 l2 {: \1 t# n; S- C                mov cx,3+ F" \, H4 r1 z9 @! E7 t* C' L
        s:        mov al,[bx+2]
( K  r/ ]8 ?3 ~+ H! P                and al,11011111b
: D% M$ O6 ~$ c' t6 W& T8 ]                mov [bx+2],al. Q* P' O$ K) w% o
                add bx,16
# {* q9 [" b2 w% ~# L! K                loop s
( A7 _$ t$ M  M; N                & V& a% u. [! a) |, @2 w
                mov ax,4c00h
4 v2 ^% a& u  Y+ ?5 {                int 21h; p4 t& V8 E: X3 ?$ o3 V
codesg ends, k7 S) K, {4 X- u% N, f
end start  B) i/ x4 ~" U4 E, i0 L
               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....( m5 M% G2 s, a3 T

* O" s6 ]% Z% B5 l
& f- W3 b* p" O( d6 y% o2 v
; w0 x2 Z# l' p# y3 Xdebug xxx.exe (xxx是你的文件名) 回车+ o. S5 B4 b* o6 s6 h  s
, a) i0 `' j0 N, [: s
-u  (查看程序的汇编指令) 回车
! D% Y, @$ p, e0 q
+ q6 M: Y9 r, r% d, ^9 \% ~' `mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
! @: d5 {) [2 |* Kmov ds, ax
) O: Q4 R* _0 u4 F7 U/ g7 S& mmov bx, 0
. U& x' `; v! K$ {* G/ Q+ @(下面的指令,略)/ a* Q% k: d7 r0 X2 i" C! V

* Q, Z- p6 Q& t9 v% ?; X+ p' C/ X& F-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
) ?1 t2 A# N* O: G! d
! i! A( W/ X$ O) O2 B/ ?-g (执行程序) 回车,就可以看到【program terminated normally】
* a* k( |( E5 R  t
$ W  h$ `5 `: S3 {/ D* D% f% M然后,再次/ i1 W4 X( A  ~8 n) q, N6 p! N
7 {4 n; y. e& k* O0 u( F6 c* ?( P" S$ a
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
! U% ^. L! f( [7 |5 b* A
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
9 U$ ?) }" n9 P/ j& V8 O1 M+ W-d  ds+10h:0& @1 {9 U$ T# h' K; l, g
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-9-19 16:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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