鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
4 }6 W8 k5 d" odatasg segment9 T0 [. g, M. |) W+ r# i
        db '1.ibm   '
2 J3 m  r. `3 h- ^& j- e3 z        db '2.dec   '+ `! c% v' Q" q* L: A# ^& n6 S% f
        db '3.dos   '" ^5 d) h: E5 G4 q" w3 s
datasg ends' X# w8 `# ?* w8 `* C2 S# X
7 ~3 K/ u$ w: e; M
codesg segment
, @1 f. B4 Z4 w4 g" Y% b1 Mstart:        mov ax,datasg( a% Q: _  N" u, x
                mov ds,ax
% T, U9 ?7 P$ Y6 [' T$ l" `                mov bx,0
! a8 x1 r5 Z+ c: ]1 E+ l8 y               
& {# o1 K; O8 W2 V                mov cx,3/ x2 a8 Q; t( Z9 |4 d3 p
        s:        mov al,[bx+2]
3 }5 O) a# k& Q( e5 a) Q3 b                and al,11011111b4 _2 N0 {3 g0 l6 Q( y" M2 \  Q. L- i
                mov [bx+2],al. ~5 M/ A# a+ L: x7 K# F
                add bx,16
6 G- [; P+ Q( s4 ^& u$ P                loop s( n8 f/ c$ W! `: [) }9 g) t
                ' ?2 h; M$ q$ V% |0 U
                mov ax,4c00h
' d; I9 [: g) w, s" T  i                int 21h/ ?( T, G: n- o6 N' }
codesg ends  b/ @( u. Q% f9 m% T1 P  ]
end start
* t& d$ b6 s5 o3 O+ t               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....  H8 D$ t4 h* K# S! M- m! i: X, X
+ D% y  t5 S2 d$ ]3 U! J
7 P, n2 {! v- k! C1 R: R, M( ~; Q

: a5 |' D1 U: ?+ ?# H! |debug xxx.exe (xxx是你的文件名) 回车
9 Z- c8 j. k! |  Y! t; P3 m
, O9 K+ E* Z3 u/ [-u  (查看程序的汇编指令) 回车  m9 f: r' m7 ^) _# y+ g, Y
' o0 a6 m, M! k* n- h
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
+ I+ U/ v: a! \. P) O* p/ G" w& P! Hmov ds, ax
$ i  q) F  \, a1 k3 j% umov bx, 0
# I" k( C, x4 D, P3 [" E4 ^(下面的指令,略)/ O" {' ^7 c8 s" I

4 N7 j! E- }1 t; f0 u; v-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】% a2 ]- ^; l! {2 A4 _
5 L/ n( l8 K2 u8 f% \# D
-g (执行程序) 回车,就可以看到【program terminated normally】2 r$ Y" }8 K" W  b) e7 M" }

' l4 i' v; ~2 |" g然后,再次+ S% V) D) t# X2 o3 @
# X. f, ]# b  R: @( H; ?' P" u
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】0 H/ H9 N% A' {
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后% Z& L% t6 S1 B
-d  ds+10h:0" |& h1 f/ D, P
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-9-19 04:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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