鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
7 ?, U! p4 f% ^- k- q/ Adatasg segment
) |! T- m' t/ a        db '1.ibm   '
% P+ F5 }3 c% r0 V$ M, L7 z        db '2.dec   ', b2 W# ~' D9 C7 C
        db '3.dos   '
1 _* X1 {+ f% m4 C0 K( ?datasg ends
) R0 [) i. Z) r# O' p- \. n" m  o$ o
codesg segment
, h; b  T8 r1 Y7 ]start:        mov ax,datasg
5 F. j  X6 N8 g3 F, S! O                mov ds,ax$ X- H, X- T/ {+ C& O
                mov bx,0
1 d( Q- H) a8 R. M: R                : H. z# F% e# U" x5 v& V* P
                mov cx,3. H7 [: K) ^/ u# h$ e" o: S" |
        s:        mov al,[bx+2]
- F; `8 \7 c# }% l1 j7 X                and al,11011111b
/ F2 n( t& ]8 {                mov [bx+2],al
7 C  _+ \, m( T9 L' _                add bx,16
1 G0 R8 R: c' `/ l                loop s4 k( M1 x: F' N. A$ \5 l, x; K
               
/ l: |4 U  ^* c0 V                mov ax,4c00h2 K! R$ V$ Y/ w2 O1 d
                int 21h
" m, q9 ~3 E9 R! |+ I' _% {5 M- b% ecodesg ends
7 f$ v4 r# F4 n0 Q( dend start
) M. X: h. M5 ]% z5 U9 s) R               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....
4 ], Z0 I. L. H/ z/ g+ P4 o" K
! A! f# J5 w& C; f6 Y" t4 x, c! a' V! L+ M+ n' J
/ Z% q. y$ M5 J; i5 B0 _8 E
debug xxx.exe (xxx是你的文件名) 回车
2 T, b# N$ o$ }! G+ @! E
% u* n) b1 U0 H0 {9 H-u  (查看程序的汇编指令) 回车
& m0 S2 {, A6 u& _; H% B4 ~% T) h( G- v3 u3 \
mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234). x0 m0 ~+ F0 X# W  g
mov ds, ax
% X% N- H& I5 d! Bmov bx, 07 N  L7 h& ?' S8 G& @6 |
(下面的指令,略)
2 M0 [3 |; H$ ]; F
3 \7 {# T$ Y9 o, _6 n. f  U-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】
  |& J% N7 v5 ?* i1 W) m6 _3 B' y2 p" p! G% u0 T) F
-g (执行程序) 回车,就可以看到【program terminated normally】
7 L* \/ X& B9 j6 L* p! [' x+ v! H/ k, n+ d& V
然后,再次
/ H. P4 U8 A7 b$ H' ?9 r5 d
& S- s% {1 {0 C5 Q3 m) G8 U-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】: K1 y0 E  w* H2 W& V& r7 b# D4 k
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后  p# G0 U/ T( g
-d  ds+10h:0
+ M5 {0 q3 M! e" j$ \7 c$ U, M4 [, \看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2025-12-5 12:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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