鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
# X* w7 y! t: w8 \. x) Zdatasg segment
, z, b0 e& f4 M) x# n/ @3 z. X        db '1.ibm   '5 F( h8 R0 x/ m8 ^9 ^
        db '2.dec   '- r* {) x9 ]8 [; ?+ c* H
        db '3.dos   '; D% U! ?4 B) O5 c$ G" m0 P# [4 i: V5 A
datasg ends
' g0 O9 v+ D' b6 n) }. e
1 S/ _% P+ ~4 q' T8 scodesg segment; c4 k/ M2 j* X) }$ B
start:        mov ax,datasg4 Y4 e. [/ o, r& G- h- @  i! q9 }
                mov ds,ax1 i' E8 v3 }4 `" x4 O$ L0 m
                mov bx,0
. w% z2 s+ S8 R# N: |               
4 Z$ c1 r' ?- [9 r                mov cx,3
& K5 Z/ z. P1 p, m) B        s:        mov al,[bx+2]
- D1 G/ c6 i5 |8 ^8 S8 a                and al,11011111b' X! [* Z) `% |+ _$ D8 [
                mov [bx+2],al3 k" r' I' l! W( ?  F
                add bx,169 l  d2 I2 }% S/ h4 U/ @
                loop s- l0 G( V4 h! ]( a8 d( n# A$ Z# A
                ) L6 `  P9 @% O' R0 I
                mov ax,4c00h
: J0 o/ O1 \- Y1 G' X, c0 k                int 21h
. P- f! E5 c4 j9 n; y" u  ?codesg ends( d, G& ?5 a: l; o- O- |5 N
end start9 y& T, J+ K' n- d/ r# N
               
小甲鱼最新课程 -> 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 Z& g4 \2 i( o& w# I
8 }: t+ l! W! p8 k9 M% u. W$ J2 ]
/ q% e" K% L2 ^0 H# ~6 X& s% E
3 O) u- F- c5 q9 g/ J  m4 Y  Cdebug xxx.exe (xxx是你的文件名) 回车
7 @4 _( e5 h' d% ]  s: X4 k  c7 Y: n: }" c9 B4 U
-u  (查看程序的汇编指令) 回车
# P8 {! t+ T' [+ @$ v% G& u& e7 x1 b" w+ H9 [
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
6 _7 I" l9 I; J0 B0 Z! H8 x6 s3 |mov ds, ax
8 w- r  o7 l( V' B6 S2 P& ]2 ymov bx, 0- O* T+ t$ E3 ^! u$ x% V
(下面的指令,略)
7 M* o6 ?& L/ v  z' u( N
/ M$ A4 M" I5 o. F, l; M1 \; Q4 u5 P-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
: l9 x$ s0 e* T4 F  ?9 v# X# N9 b9 y$ d( E! C
-g (执行程序) 回车,就可以看到【program terminated normally】5 A# P# x4 A; ]0 [2 l% |& \% Z
. H  H" y# }  j. Z- r
然后,再次4 e. r, n7 j! L: B$ Q5 Z* y
( _6 K6 a8 \5 _3 |6 V
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】' j2 V! A- l+ Y
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后6 t. B- q6 k3 b: X6 }; n
-d  ds+10h:09 X, q6 L, ?# X# F1 D
看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-10-11 01:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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