鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg! Y9 n6 H/ D3 J$ @+ p- \$ M
datasg segment
8 |- Z/ K) r* H; D4 w+ I0 M        db '1.ibm   '9 g# U' \6 T7 v& \
        db '2.dec   '
% T, S2 a0 K. M7 C4 C6 e; J: q        db '3.dos   '  _7 \/ Y: p% U7 K0 L' ^4 ]$ d
datasg ends" ~+ ~$ G' j. T4 @# i3 @
5 m6 L) n: S8 ^
codesg segment
. B8 _/ Y; t. V2 G. cstart:        mov ax,datasg
# ^1 e7 T% f1 z                mov ds,ax
! t, \1 t+ p7 t: i5 r- D0 j1 A                mov bx,01 Z9 Y3 ~2 i- m
                * s# \5 ^3 q1 w- y2 B
                mov cx,38 `& h5 y5 W5 i4 j) ?% ]
        s:        mov al,[bx+2]
/ j' A7 u/ N. E$ T% y/ U                and al,11011111b
! U" v- v4 n: V+ B" F                mov [bx+2],al/ k( b% s6 A' Z7 L* k# B
                add bx,16
6 h, [3 b. u- c                loop s
  s) F0 ?- s- R- T$ s               
7 M6 H( C% ?/ D# B2 I                mov ax,4c00h
/ R" W" Q5 _7 b2 x9 `( B" d                int 21h
1 Q" K, [8 z+ _1 S! acodesg ends: ^% ^+ A! ^0 O1 b6 c0 f
end start
8 Z9 b- z3 w# Q: o/ b5 J9 I               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
8 ^; q+ Q( D" H! O
# X6 s$ ~. e: S( o# g: c5 K1 e( g9 E" h- v# n! R( y

- W  q: g, U# m$ e! [debug xxx.exe (xxx是你的文件名) 回车) w" L8 r- L! e2 o
, k$ s; I0 b9 R9 Z3 c
-u  (查看程序的汇编指令) 回车
2 w; K) ~6 N, k0 @7 S' U: K  ^: W4 T# A; t" ]' X: r
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
) w4 O5 O% `" G( S% h$ nmov ds, ax: \( H$ _/ G7 W5 W& }
mov bx, 0
2 Q! S( A3 d# i+ b9 l& L; G(下面的指令,略)
8 e1 H: Z3 b, c6 _+ z
8 G2 _  d8 ~; _/ |& I-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
' d- @5 {% X( p8 x) k" @
8 y! A9 z! k+ t! j, }# u  ^-g (执行程序) 回车,就可以看到【program terminated normally】
/ a/ M$ ~; c! T6 I" u# A- U1 w  R. X# U6 a& r- |6 v7 Q4 _
然后,再次3 e& G3 M8 c! e/ ]( H' g6 g# M

0 f) m& S; J# v5 c# L1 v1 i-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】) G& j! m# Q: Z. k& _. o! H
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
/ h5 v6 l- G- O$ D  |0 }-d  ds+10h:00 d: ^* Y; x* g! D. F* n
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-5-25 08:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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