鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
( Y+ [* g2 D+ xdatasg segment
; g. g# X# [2 N/ z' E, H! m* x        db '1.ibm   '# g1 T$ I7 C6 K6 y+ b1 \% n
        db '2.dec   '
# X1 H) y, X! i! T! M% ]        db '3.dos   '
( _' I; x- g. o1 n* hdatasg ends- n  w' j" X9 S/ @5 L7 M( e0 B
* r8 I4 {7 B9 ^
codesg segment  {4 a4 q% q- f' x" v9 f
start:        mov ax,datasg
8 `9 B$ L/ V2 q3 }4 E/ M                mov ds,ax+ B- C$ O2 O6 @1 b$ J
                mov bx,0- M5 |" B" J% d/ s* a& t# s# M* e2 H
                0 U2 ^8 O3 D3 G4 |4 ?
                mov cx,3
! `6 S0 [, @/ S        s:        mov al,[bx+2]
2 T$ t2 l* F+ y! P( @& ]& @                and al,11011111b* r7 |! d; a# g+ T" E, C
                mov [bx+2],al
" m$ `; A  v2 e$ Z- J- t                add bx,16
+ u* i/ O: `# k) Q, q2 K                loop s
& V2 i4 `7 x. H) K1 d, {* U; ?1 v                # N3 K0 W, B: C! O0 M
                mov ax,4c00h
4 F0 G/ [: W4 H9 e: d6 U                int 21h% P% [: Q2 ^% f* c& w! X
codesg ends9 q/ c" Q/ B$ q- K. i* B
end start* |, y6 t3 \( ?3 }9 ?
               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....% D7 G8 `8 e8 s1 m9 I+ Y
- l, J( f- C; e# z. l7 H# ~. a
! a  R/ h$ k5 p4 A( {; Q$ z

( c( ^3 Y, N* W9 Hdebug xxx.exe (xxx是你的文件名) 回车: \, n$ D7 g% n. b* O  W
+ C1 w! z* L/ y  r
-u  (查看程序的汇编指令) 回车
6 W& S' _- P8 ?  n
  c4 Z; u9 ^+ \! P1 Bmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)" f, F, M, [; z
mov ds, ax  i/ J$ ~. _2 @! O# l
mov bx, 0! C- V" z: S5 A( l- O. B6 `/ ^  \
(下面的指令,略)1 }5 @. W- t: K! q

* V2 `& d( [! T1 c9 u. y-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
- N! ^, G. l% w7 k) Q/ m- z
9 k0 f. e0 y5 q. r& ?  w-g (执行程序) 回车,就可以看到【program terminated normally】3 Z$ l( p. y5 w0 b" o' y

* z  ]# T" f, V4 v0 O6 k9 H& m然后,再次9 Q8 t0 i5 [; z! r

6 Z: x# z% M7 ?1 t7 F-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】# M! l* h. R0 c, {( ?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
, b+ f& T) y( y: |-d  ds+10h:0
' Z  g( f, C; [1 f* f; n' G看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-7-25 04:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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