鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
. ]$ v6 U4 ^0 @" u, |" d, ldatasg segment
( b# P' E, _9 ]+ G5 j        db '1.ibm   '
' z; }  s6 g! q0 o/ k        db '2.dec   '9 H! E$ L1 m* c7 B
        db '3.dos   '5 R' y  u& N' u# z5 m
datasg ends$ h1 c, {" E  D) ?  X- h2 L/ }# J* G( T

; B6 i4 ]8 z. n* scodesg segment: u7 U: A1 d2 e
start:        mov ax,datasg5 v5 {; p! u9 f6 M0 J
                mov ds,ax: q! O" k5 C# h, z
                mov bx,0
" Y; j# q$ O" l( E               
, m7 N; N& a0 {' D$ X1 H                mov cx,32 \5 ^7 q  F7 |5 k
        s:        mov al,[bx+2]( Q$ c/ @6 v* K- ?
                and al,11011111b
/ G: N+ p: Y7 j- Q  R+ D                mov [bx+2],al- v$ Q+ l, g2 K. J# J2 [0 [
                add bx,16
: w/ \5 P; K- G/ C9 ?                loop s
' P- i$ k. d& ^  N( j& b" g                ; Z% {% p& G! ~. F, U1 f
                mov ax,4c00h( B2 A# g0 |; }3 D( \% C( J% n
                int 21h
4 e) ^. R6 e" }1 T# o$ [" Qcodesg ends
: y: Z# W, z" K6 y2 Vend start: J0 e& c5 s) D; {: o
               
想知道小甲鱼最近在做啥?请访问 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....; w% c% H* V2 d$ A

6 |. L, l1 H( I  X6 O/ f- \+ C& }/ H* W, h& e. s5 h8 ]+ ]' i) v  }5 k: n
+ f! g. Z& i4 {0 O9 U# g
debug xxx.exe (xxx是你的文件名) 回车
: @$ t- g; a; f! p+ r; ~6 R% Z# Y2 T# K+ `- e
-u  (查看程序的汇编指令) 回车
$ m7 g' e* O  P; C/ E# U1 I- p4 l7 V4 Y) B
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
( u$ g! f- ^* B5 @( ?# e/ j$ m; A2 tmov ds, ax
+ A; E, |+ |  k$ K1 M# O: Cmov bx, 0
* J7 h- K  c5 O7 A7 n(下面的指令,略)6 D; I* q' e6 I; V$ F

6 w9 B/ `7 E6 m0 P-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
. {9 q; h9 e9 ~8 |& c! `& l. Y
4 _8 `1 q& q: v* I5 p8 B: y-g (执行程序) 回车,就可以看到【program terminated normally】
, _" @5 [2 j3 s* C+ n8 |, {5 w4 Z" ?0 j  C) ?
然后,再次0 {0 }& w+ H& u, m. X( k$ t
7 E2 `+ C7 O) p/ j( q2 r5 ~
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】/ {2 K/ F3 _7 l: Y6 D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
$ E7 z  p) X8 l# J& g2 s  ~2 d# B# y4 U-d  ds+10h:0
3 p: I+ M3 @2 u% A7 d" D看要看的字母的数字 如果大于40小于61就是大写字母。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com

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

GMT+8, 2024-5-5 13:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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