鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
* V( s' u9 T% P! K* Y* U, n* Jdatasg segment% n6 Q) t2 o9 J
        db '1.ibm   '5 w4 u( m* U; h# P
        db '2.dec   '6 ~# v8 f* b' U, P
        db '3.dos   '" F* w( G" a6 i2 ]( e5 S# ~! S
datasg ends
$ w2 |; Q/ W/ j& w, ?" S. l. S% `! w/ V# y0 D: o# `3 Y' J
codesg segment4 E1 X: j+ G" Z4 M
start:        mov ax,datasg2 t1 U/ m3 b* W. S- o$ X
                mov ds,ax
# A2 M# ?$ m/ P( P& d! i                mov bx,0
, Z$ W# Q5 G! z: C7 g- _( `                / X% t. g6 C" V& v
                mov cx,3" Q, e0 ~7 Q4 Y3 b4 @. O
        s:        mov al,[bx+2]
- s9 i1 ?6 Z$ m$ i7 x: q; U. z                and al,11011111b
; A% C  n5 C- Y                mov [bx+2],al
! `  w' X; l# W3 j' w/ i                add bx,16! W$ s0 }$ J6 Q0 H) V- B% m# M
                loop s& N% J2 k+ `& [: T5 R+ D$ n
                ! v5 U  K" i( O
                mov ax,4c00h
' n/ @* M  u6 p( _' K                int 21h
" e4 R  b& Q" \codesg ends4 d' `/ ^% C( W# z
end start# m6 n# [7 V1 y8 s4 B% A
               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有...." [+ i, t$ D% L' X5 \+ P

9 v5 m6 i, K0 L8 l% r) ]$ L+ K* ]1 V' b* g7 k& u
! m# Y$ ~+ }" _* ]) f  H5 N
debug xxx.exe (xxx是你的文件名) 回车; \% w& P/ a# z" ^8 z# O% M
# F2 X2 \# _9 x. ^7 s
-u  (查看程序的汇编指令) 回车
. P: F" ^6 |+ W9 @/ [" u, N7 A* A% W  E: b
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
/ O4 c* {9 [7 g2 z) Wmov ds, ax
6 q$ q1 J) l# g% h4 S5 N" qmov bx, 06 p$ v; ?; P0 M2 K
(下面的指令,略)
7 Q- B+ M& G( @9 \! l$ ~
$ Q! n6 U4 X# g( M4 B2 G-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】" E% [3 f- g) Q% j3 H6 I1 q
6 {- C3 @( E) }4 m7 \3 z
-g (执行程序) 回车,就可以看到【program terminated normally】4 w) ]6 o, N  H. x$ t

& P6 H. S. E4 O! p$ A8 L然后,再次" {, `8 `; j! t/ ~0 \# z2 D/ M

% k" Y$ ?/ p/ S5 [& E) u. E* J- I7 z-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】! m- W+ Q# V$ D
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
$ I2 ^) ~3 y$ O1 r-d  ds+10h:0' V$ R* C/ p1 @1 y8 [
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-9-19 14:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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