鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
: n8 W; ^: U/ l: odatasg segment
9 _; M. B) y5 W/ p% X- V7 [- i        db '1.ibm   '
& j" c$ ~: t; g# N% D        db '2.dec   '
; u: o* o3 b$ D1 y        db '3.dos   '
% [& `5 N; s2 P& G( odatasg ends
6 B9 _4 G/ |4 {6 d
8 F( x8 g9 d" P6 N/ Zcodesg segment
# A3 f9 E: S9 C" ~  j6 ystart:        mov ax,datasg
& X  Z" v  h5 M/ c$ `$ r: w                mov ds,ax
! f+ g8 x2 d/ y: N                mov bx,0
, G% ?) W; ]+ C% |; Z* ~                  @0 u# E+ L4 m9 `! W, \+ V
                mov cx,3
" |1 T# b* B/ M  ^* j5 a* a        s:        mov al,[bx+2]" y7 c5 x$ |" r* p
                and al,11011111b- C0 k8 o7 d: z2 V8 Z. ~
                mov [bx+2],al% A, M/ d2 L1 E- N0 u
                add bx,16, F8 W) y0 W: Y, R, X
                loop s8 s% S# o! L! ?/ A! i) |  {6 f1 |
                6 S- B, B( q+ y: `& U/ I9 E
                mov ax,4c00h
% @* A7 \1 J- z5 u/ z1 {, K) q                int 21h! W6 ^( N! O& |+ u# Z' }
codesg ends; o# c- j; a! |: u7 |+ a0 a
end start
7 m- [1 K2 D2 h5 T# K& ^               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....' U/ l" N' c* e& O5 F' V
, }$ U( _4 t" k% }! S
% [5 {) V1 }- I$ r
9 r* U; \3 M' g' Y& s5 _
debug xxx.exe (xxx是你的文件名) 回车1 u0 g" B# n( Z! q% _6 ^, X

/ p# r$ d7 F! ?6 Z+ Y4 J( k. G-u  (查看程序的汇编指令) 回车
! Q7 V7 ?1 D, E6 x+ I0 D$ T! m- F7 }6 G: |
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
! b7 e8 \* Y: q: g( ymov ds, ax( F6 Y3 K6 y, @+ ~$ |
mov bx, 0# t$ j6 N# n! e9 v
(下面的指令,略)0 E& H0 J" _# A, `0 h/ x. [; d( V

; r7 M  |" @) L" S. W-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
0 y9 `" r! K! q. Y* @4 m
  r9 ~4 J) ^, W-g (执行程序) 回车,就可以看到【program terminated normally】4 r* F" b+ ?  P+ o' ^. u

# f6 y. c7 Q  O, M% C: C% K然后,再次* `' Y# _! o: a( z% q% m

% N) K6 c' p4 W+ J8 q-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】( b: ?9 j% W% m0 r/ Z' h
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
; a7 h6 w" ~. {  P4 g7 O2 Z-d  ds+10h:0# E. k5 a# }0 W1 h
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-4-27 09:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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