鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg0 _% D( q- ?2 `+ @& g  z2 w, C6 a
datasg segment
2 ^- \( E7 K7 }5 p- l        db '1.ibm   '
/ v- F9 @9 k& W7 f" g        db '2.dec   '9 a( F4 V( A3 R9 B  o
        db '3.dos   '
0 {, e  [; J- |. Mdatasg ends
' h3 E" Q# S: M6 \
+ \$ t9 X$ u; `0 vcodesg segment
7 l2 T2 L8 s3 N! w8 Hstart:        mov ax,datasg; {' R2 Y- h! X- g. o$ G5 ]
                mov ds,ax
9 P- D" l$ s: c# [8 M% v                mov bx,0  r) N4 `% V- q, w0 ~
                0 V6 P% i( ?0 ~5 ]2 \9 d
                mov cx,39 j  S6 s, z) g$ P) ?0 i6 |8 `8 `0 z0 |
        s:        mov al,[bx+2]0 B2 J) ^0 }. i! X9 A3 c& v/ w' Z0 T
                and al,11011111b
5 n, Q! X: U! M: o; q- S  A* I                mov [bx+2],al
+ e5 t7 U! M6 D' F* i$ u                add bx,162 e: {' e% \7 a
                loop s
- ^6 g' E; V; J/ E                $ F3 _0 q* [4 E* O7 w0 b
                mov ax,4c00h  O; y5 t  _4 H+ o# B. |
                int 21h
+ S% v) I: X- e( z! x; }7 p& U0 Z9 Ccodesg ends5 T) b( @* f  i% J: p  L0 `* ^" m
end start
. q# j3 D0 @  b  O! B* g( }5 m& Z1 c               
小甲鱼最新课程 -> 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 b+ G2 I0 d( r% d/ p

# r1 j+ T# q0 |7 q
' k' \2 G* _) V% a/ C4 W5 t; l. F) t
debug xxx.exe (xxx是你的文件名) 回车
; `5 d! L( E% l% [; f* S5 z7 Q* H. m( L% u
-u  (查看程序的汇编指令) 回车3 O3 ]# X8 w; f3 h

# r/ X: l3 l: hmov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
* b9 A) m' @2 G# k5 C9 }% F9 }" ?mov ds, ax
7 j  o* T% X# h0 fmov bx, 0
8 j( @  v6 o) k4 l& |, C(下面的指令,略)
+ e- O4 P+ r( m) ]+ P' ^9 }  n+ r( h
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】* h: U% f" `8 T$ e; z3 a- k

5 ~4 w5 W4 `; T- ?-g (执行程序) 回车,就可以看到【program terminated normally】# p$ Z$ H+ n6 D2 Y
' `9 ?0 W' t8 z% b3 I) R
然后,再次
4 d8 I+ `3 u: Q4 T/ D" r7 `+ P8 O# g! X! N
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
$ p! ~& K' _' h9 O: J, g( g% Z
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后
+ B# ]2 a& G! [, s$ ~+ M% D# E4 Q-d  ds+10h:0
$ ]& W/ I' n5 E; J看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-12-5 11:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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