鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
' W+ r* v$ a* e, ldatasg segment4 j8 B! G0 n" \0 q* L; D1 j+ i
        db '1.ibm   '
! q  F5 Z/ t+ j' f. V+ P        db '2.dec   '+ c& z5 f) V6 f5 P- I6 [: m
        db '3.dos   '  o9 D& r9 Q# ~" y! L% c% f
datasg ends
$ g& U- q, N4 q9 ^/ I9 m/ h0 I/ E( s8 `# |( U) F) y5 i3 r+ R4 d
codesg segment# c$ R4 t9 S* ~* c
start:        mov ax,datasg+ k. _6 B  y) j* T: p
                mov ds,ax
. o9 B, l4 F" ^( d# Q4 f! Q4 d                mov bx,0
5 b" ?! f8 w  m( N               
5 T) Q: j2 Y* ]: i5 s: [                mov cx,3
7 [. c9 `7 ?6 M1 v        s:        mov al,[bx+2]
- H2 K5 }1 \' h4 D: _                and al,11011111b7 R+ T5 l; W; ~  x( p
                mov [bx+2],al
0 H. w) O0 h, C+ G                add bx,16
1 ~. ]( u9 {; S/ O8 o# k+ q                loop s
1 p/ ]" K& r1 p/ o3 T9 D                ; w9 B: @& S( W! g: t3 i+ `2 u  w
                mov ax,4c00h
* A" d! i$ c* Y) f# q* a' S                int 21h
8 o7 K3 V0 A0 f# c6 icodesg ends" Y0 b- M4 i! \9 Q, o- z
end start
, u: H4 t0 L5 b: G2 D& I8 V               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
5 p/ d8 f- t- ]! F9 u2 y0 h" {6 C9 j9 Z/ n

2 `4 W. b2 H" _8 E3 y9 L$ p- {& e  J4 h( c  w- y
debug xxx.exe (xxx是你的文件名) 回车
+ a% s" I) U: t3 o5 I, J$ ~0 |0 `% d; C! P
-u  (查看程序的汇编指令) 回车' X# o' k- Q! u3 x( R7 L2 o9 f
4 Q) B+ L, h7 u3 v3 h8 e5 _  i
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)' Q2 M4 c; p) X% u
mov ds, ax1 b* V5 ^7 B8 h/ Z& ?& i+ m" O
mov bx, 0
4 M: e9 V' z5 |7 E(下面的指令,略)
/ L9 E% ^% ^6 {$ [3 X- T, L
9 k# @! s7 }9 P-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】+ Z% ~: b( x) _- e

1 S0 U" J) u# w) Y; p-g (执行程序) 回车,就可以看到【program terminated normally】1 Z: b' i1 P% H7 K8 x

7 \  k( p3 g% Z) k& e2 k' q$ s然后,再次. {) D  z1 l- ^8 S& c# {/ C! {

6 [7 z5 B9 ?0 `/ q2 O% I-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】4 ]( n3 ~" T2 G" {7 y% `; W6 t
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
' r) U+ o. S5 K7 n: |& K! R-d  ds+10h:09 w6 n1 J6 j2 t8 w3 q! P
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-10-22 16:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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