鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
/ `0 t) O  T. adatasg segment
; {* K* h! H% k) V0 t) W        db '1.ibm   '
% t0 d: I! ]! J" Q# a        db '2.dec   '
+ f% j6 O- Q% N! g+ B* b        db '3.dos   '' `- D& W% Q0 Q* ?+ N  X
datasg ends
; M( b! U; C3 I$ O  ?: r4 [, l5 b, ]* q) z% J  L
codesg segment1 S, i4 @, L) m. e4 Y
start:        mov ax,datasg9 v- O% o" l2 {; D- c  e$ n) M7 t! \
                mov ds,ax: x4 j; n' `3 O" t
                mov bx,03 I! J  W! b- C) @% N
                2 j) |5 ]7 Y& [/ i
                mov cx,36 t, H& G1 B+ V! l9 ?; R
        s:        mov al,[bx+2]( f" n, d* e  ~0 \
                and al,11011111b
9 [7 |! I( w- I% W                mov [bx+2],al; P* k( j# _% c8 G+ A$ O
                add bx,16
2 j- @9 ~2 ]# }7 F3 V. \# l3 I6 D                loop s
0 C& U! p% s! S  |; q- j1 w" Z               
, V6 v& p' a& `% v: _6 e: \                mov ax,4c00h
: Q* Z0 I) O/ g$ R- L4 s                int 21h
1 |; s* Y) v8 G' Ycodesg ends
% ^3 |/ l( K- a8 j+ D7 Y" v9 Pend start
9 Z0 L6 @. i4 @& 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  P; V; M, `! L! S

  T, D5 h* G% |2 O! y- f" H, {5 x: U! x. u4 B2 I) I
7 w  t9 h3 g/ @3 L$ a" p
debug xxx.exe (xxx是你的文件名) 回车6 O% e. ]! s# b0 Y  }  d2 h0 `

6 Q7 X4 M' b' i" z3 B2 W-u  (查看程序的汇编指令) 回车
8 g4 q: ~5 X6 A1 f3 e1 I$ a9 h0 n4 D- V4 ~, f( {2 r/ b8 i/ V6 p+ r
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)" \' m  L* K/ M4 \& Y) @9 B& Q
mov ds, ax) ~9 J6 _! F$ Z" P
mov bx, 02 I  g3 H# E9 k7 Y$ C1 {; b
(下面的指令,略)
' I0 v/ O( j+ N$ a7 F0 o
: g! ^0 @0 c" J0 U! s8 ^7 g. c) F-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
9 X: D3 ]+ q$ N# A% S5 O3 M
2 u6 c+ D  V. Q-g (执行程序) 回车,就可以看到【program terminated normally】- }% }# A& _1 o5 J" D9 W$ X3 v6 F
/ W2 g5 ]* i7 K7 X/ T, D% u
然后,再次
  T& v7 j5 V  \# t; G! {+ K4 R- Z$ E# E9 H# k  W. ^2 ]) [
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】( U" t* K' X2 w8 a, A2 O4 \. k* {: ^4 X
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后5 ~0 d( z1 P# \; d  K1 v% ^
-d  ds+10h:07 E! K  t; ]0 s2 U' b" f& X1 m2 M
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-5-21 12:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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