鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg+ g. w2 i" o% F# P/ m+ S* N7 w
datasg segment
0 e3 Y5 h  p1 F  G! C# _/ T        db '1.ibm   '1 B" c/ r+ e; n% p% [
        db '2.dec   '
- U: F4 I* T/ e0 a        db '3.dos   '
6 L2 Y# ^0 b1 e, ldatasg ends* j) Y$ F; X- F" b- o% [
# L) j% X% X) N, F+ F
codesg segment
, d" y3 W/ x5 W* X2 z3 a4 Kstart:        mov ax,datasg
5 B2 ~. q# i2 ]2 s: D$ Z                mov ds,ax
3 k9 v4 q8 U1 q7 m5 S/ p                mov bx,0
& D  l4 }- f' j  a                # v1 p$ P9 x/ Q8 Z" G& N
                mov cx,3& N$ F. S# ?7 }: w8 r' `
        s:        mov al,[bx+2]
2 ~+ Z5 ~+ j8 N                and al,11011111b" ?) y7 D. E. ?
                mov [bx+2],al7 ~! ]$ L3 Q" ^* Z1 q  ?
                add bx,16
8 a4 d. V0 p! l  S& A. Y8 x                loop s
% C, M: u" {& V( {1 \) H               
" k2 Z, ^* |% B6 z) w& Y                mov ax,4c00h
8 d# g# m8 g; }7 b( k- w7 C                int 21h
6 n5 ]* M. t8 w# Rcodesg ends+ k, g: [5 }3 n/ \4 z+ y9 R; T/ F
end start
/ o: \! Q# H2 T. o: g, B               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....  p* l; u4 t$ L- m# R) \+ M
* ?2 k+ q5 {) n" Q6 w
. M: V9 X  l  z1 @3 v
0 V; t3 U# N3 Z7 \' Y: l. D) F: L
debug xxx.exe (xxx是你的文件名) 回车, K' I3 N5 I0 D, F

8 n* M; A& X  Z* ^* [/ s' r; Y0 q1 T-u  (查看程序的汇编指令) 回车
. x$ r( v+ ~8 C6 S: k) n5 f2 ^- }9 \$ g/ c$ q& G) x3 P" c+ D& F* m
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)% C" H* P* B! U! z" q% g
mov ds, ax0 v& }$ |! _& p! d7 X# i
mov bx, 0- x4 S: i. {2 m0 ?9 M. I
(下面的指令,略)0 L8 Z4 M5 p$ M  ^. K6 M9 t0 m% |3 P

- d6 z/ I! ^1 d5 P-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
- L( G" n3 N  y4 Q0 h6 v. {+ ~& I; ?/ w% o& z+ z5 V, u: z
-g (执行程序) 回车,就可以看到【program terminated normally】. Y! J" s  ^  ~: ~

5 d* {+ x1 V8 Q6 d' j然后,再次
: e  Z4 X* H4 w# p. B8 x; [" B9 p8 O: ?7 \  e# p
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
) Y3 K; Y" K. ]$ z8 m" D
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
% s. S1 I6 T% y% H' W* X2 m-d  ds+10h:0
' w3 v# b$ J; U$ [看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-4-17 01:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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