鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg3 T) E0 w. X0 \, t0 b; j
datasg segment
5 C9 }/ N% w: n7 l' x        db '1.ibm   '
- X# I& e/ a) F/ j: G        db '2.dec   ': V; S- w! W% f; Q# i& u. B% `& Y$ m
        db '3.dos   '* E1 x& c! B+ d' u0 Z! \. x1 @
datasg ends6 K9 G9 |) K. H0 p; I' H: o" ^$ Z

" K5 S3 q( H7 O8 M* Qcodesg segment
/ ^9 H+ A! W1 ?start:        mov ax,datasg
* i5 l  _( m. v9 O                mov ds,ax8 z1 ^4 K& @% B0 s
                mov bx,05 ~) R& W1 b1 @; N) Z( o: E( O& s
               
/ `0 o" U! i4 b                mov cx,3' ?2 M4 |2 g8 `. s
        s:        mov al,[bx+2]
6 X  a; {  M7 j; l, p                and al,11011111b
& C0 I9 B  N' G  `                mov [bx+2],al0 A- s, r% e2 ~5 O% F+ k
                add bx,16
, i/ U$ \# G% o                loop s
3 c+ a2 |1 b5 m4 v/ J% K                ( J. V/ p% L' U- k* L( i0 b% J
                mov ax,4c00h0 n0 z3 M& @# w  F! k+ e) J
                int 21h
. {2 V8 \/ n; v' ]6 i( `0 ncodesg ends
+ x! u: W3 }8 Y- D" g8 tend start. {4 f; J3 t# u
               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
/ Q& O% O% X7 G# A6 B0 [* S" n9 I0 d+ N
7 h- p# j  V& [0 u& t! D

  B$ |; c$ `2 X3 d6 S; e0 Xdebug xxx.exe (xxx是你的文件名) 回车
& c; c$ V1 ^: r
+ `- Z3 h. f, @6 I/ G8 K5 I-u  (查看程序的汇编指令) 回车
) U- C0 z! u% y+ N3 O- D/ T
; ^' |: c7 U( |( bmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
: l4 e' N+ N, r1 l0 ~mov ds, ax0 O6 ^  g8 D6 \7 ^4 C
mov bx, 0" M- h, C/ a& o  L# [
(下面的指令,略)2 a. Z3 B4 f5 ]3 ^' ]4 {7 U

: h/ w9 ~2 `% A; d, u8 m-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
! ~1 l4 C# k7 W* ^$ Z% G6 ~, K- ^' s0 q2 t9 O" A
-g (执行程序) 回车,就可以看到【program terminated normally】
) a$ J4 [( P' g% B, z
  _4 f; {! B# j7 N然后,再次
" R5 D3 R# K; Y  G) q0 @2 x( ]" Q4 a, l% T0 k
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
1 \2 ]6 H$ d3 l! P; x* P! O  R0 R# Y
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
% i6 }- i" F; J-d  ds+10h:0
: k. q4 b& p& s3 s# l& F看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-9-11 08:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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