鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg/ [/ h& {0 U, M$ A' Y% G) X
datasg segment
& h$ I! L# k. e4 d1 z5 s        db '1.ibm   '2 Y8 f! |4 a3 n
        db '2.dec   '
* Z3 ~7 B, }8 w+ n1 i8 ~% d, ^0 y        db '3.dos   '5 c- [7 K/ c- H% [
datasg ends6 u. i/ B7 ^; _1 F! `) \: L" y( i) ]# C
! i* W" a2 P/ ~1 T- o) I
codesg segment
( ?# X9 U6 a5 g0 qstart:        mov ax,datasg2 M3 `- |4 g3 n2 ]
                mov ds,ax
5 u( I1 K9 `) h9 ?; F5 v                mov bx,0
7 }3 B2 d$ I" t( _                . d# ~+ k) n, `) P8 ^8 K3 A' d" C
                mov cx,34 L5 X$ o7 `) O  }' O/ r
        s:        mov al,[bx+2]) ]  Q! b6 |8 {  {1 B4 ], X
                and al,11011111b
- d+ d  N7 s; N( t8 F7 s                mov [bx+2],al
: t9 |; {9 _0 c( \+ P1 [" G/ m                add bx,16) a) E8 L2 s) ]( w' a' V
                loop s
+ ~: q' p1 t  Y9 I                4 |* M0 s$ C# v8 e1 t. c1 j1 @
                mov ax,4c00h
  J) w% P* _( R- `# U                int 21h! V! F. L, T* P% B
codesg ends
, F! C1 T6 G6 @6 ^end start7 I: ?, i/ Y% |8 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
* \' p/ O0 L' j% W; g  S7 b% S, ~3 y  ?4 v# j9 v

, ?# A7 x# O' G- b/ \! d! I9 _; m7 D' {) Y$ U$ {; h* A0 r& v
debug xxx.exe (xxx是你的文件名) 回车0 }5 n, |9 ]( N2 L& i
0 r" [( u' E" C; d7 i
-u  (查看程序的汇编指令) 回车/ i# G5 t7 v; m# N( \) ~4 Q
- ?) C$ _* J  I6 \7 p/ l4 y+ B
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
, i" l/ m- [) j6 U& R* _' I( _4 K* kmov ds, ax
  b2 q% m0 f6 \! |  C: hmov bx, 0& R# S( G, L0 Z2 z- U7 l! G4 \
(下面的指令,略)
0 O3 _. {; v% s5 }$ d7 ?8 b+ e7 R& Q0 ?
-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】/ R9 a. \2 M$ r5 g4 X: M
( L1 w  H  ?. h5 U/ [; `: ~2 m
-g (执行程序) 回车,就可以看到【program terminated normally】9 n& u( L, \! U( ]
- _2 _4 O1 D- Q  u7 I6 ^
然后,再次8 E6 g$ n  n+ n3 _# n5 M

3 {9 C; a* `. `! _: J; F8 p) E-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】2 O. t# E! z4 a& @# w8 w
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后/ X$ r# n, V% Z& _/ C
-d  ds+10h:0
6 @9 Z1 r3 Z# h2 p2 `/ V* U& j看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-10-20 07:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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