鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg6 I) R! _1 m5 y% [
datasg segment1 b- d8 I/ W; E. m) q' U. u
        db '1.ibm   '- T2 S# s/ E5 F7 F! F$ q4 l/ n0 X
        db '2.dec   '  u3 x7 m+ u4 M; N% ]6 ^! e
        db '3.dos   '0 z2 u! v9 l% n* S0 A
datasg ends
0 w# D) [8 X6 k# A* _) ?3 _2 J# F, T* _* T
codesg segment" h3 l& ?8 M3 F2 ?- x
start:        mov ax,datasg9 `. i8 [# `- L6 R
                mov ds,ax
: y. M; C0 k3 b( V% s+ M; l                mov bx,03 y* h; h: k+ W; P
                ) W# S- I8 b9 V* E+ ~* f
                mov cx,3# {$ {# W' a: g, I9 v
        s:        mov al,[bx+2]
: s6 t: F& f- v+ e! O                and al,11011111b2 p  U" H& O2 I  G0 r& |0 g
                mov [bx+2],al; M$ k5 i" }/ i( W4 H3 ]% K
                add bx,16& o6 p: L) h3 L6 m; t) R. p
                loop s
1 C8 y$ \1 R" P+ n6 c               
* ^' A; k; c/ F/ g# e' {. g8 Z) I                mov ax,4c00h! ?* w- p6 R5 s( c
                int 21h
* N/ |7 P7 Q1 V4 Lcodesg ends  }8 g/ P* Y5 x: S: ~" K! K
end start2 J% P- q' Y" G* `2 F5 L
               
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-1 01:45:59 | 显示全部楼层
这个看小甲鱼的视频呢,不能传图,debug +你的文件名.exe  ,然后-r一下,找到数据段入口,我的是 mov ax,14c0,-g一下 这时显示program terminated normally  ,然后 -d 14c0:0000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-8 15:43:35 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
. K( G0 T% ]" V8 d; F0 R0 ^' l0 z" V8 y" a* h

5 p& Z; V" v5 b7 m9 j3 P: f$ J5 n( d0 r# M; N
debug xxx.exe (xxx是你的文件名) 回车
; u3 ?" \9 e5 S
5 e& W6 B9 M: @$ [: E-u  (查看程序的汇编指令) 回车
- J  [+ M# @. I  v$ u& E7 `! ]
5 ?# y7 n" ?; Imov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
; a6 z* W+ b& wmov ds, ax1 b! X( C/ [8 c
mov bx, 0
: m7 ]* g9 G: a) g+ \4 A3 A(下面的指令,略)
6 \" M1 A4 H5 X- G" z
* K& |- }& R* l6 |& p' M4 ~-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】$ x! J+ b; d5 N3 ?) R' i

% ?" i5 [  T7 a4 j-g (执行程序) 回车,就可以看到【program terminated normally】2 _4 k$ @4 I! i
* p: ?9 G! O5 e* x* h7 }
然后,再次
8 P* v8 d. S- ~4 d' K, ^6 }* |- n8 N# e- V5 z' K4 x
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
* k4 M4 E6 X1 T0 |6 _* Z
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
$ y0 A" E! _& n7 c) f-d  ds+10h:0
9 I$ n, h* s' t- ?, O% L4 S看要看的字母的数字 如果大于40小于61就是大写字母。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com

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

GMT+8, 2024-5-9 04:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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