鱼C论坛

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

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

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

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

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

x
assume cs:codesg,ds:datasg
) [9 h/ _  P0 F0 I' e. idatasg segment8 k+ h. `$ Y9 h8 ^& o
        db '1.ibm   '
& `' q! b4 |1 B0 Q( a        db '2.dec   '
  o' T3 y6 b9 [% y9 `% W        db '3.dos   '+ q2 r3 Z5 d0 M3 `
datasg ends
6 U% p# S6 T$ L- [* x
/ ]9 ^. _2 @" M6 ~: N+ d; Ecodesg segment
$ X* w7 A9 ^# V' b0 R9 L: Q' istart:        mov ax,datasg) Z' d2 }& Y" I4 g8 \: D6 Z
                mov ds,ax
2 X( U9 `- h. ?  {' M8 E+ `) Z                mov bx,02 }) ~: D! @8 W
               
7 G  G; H6 _$ H5 l- A: r/ O2 E, C                mov cx,3! s( K5 _, M  F3 l' T; R
        s:        mov al,[bx+2]4 f8 Z3 s, E( i7 c# w+ y
                and al,11011111b" j. D$ l4 ~" r- a2 H
                mov [bx+2],al8 o- y9 A6 H( g: S3 j" @
                add bx,16  b7 {' A  Z1 q9 h
                loop s" U! s. J# ?0 V: m: H- Z' w  l1 P3 _
                4 G* x' n; f- s4 z: A2 J
                mov ax,4c00h
, H, t; o7 \( g( b  B                int 21h6 p! E3 S1 u* X+ J" r. [
codesg ends
7 k* [' ~. a, C' J9 \' [end start
0 Y( D6 Y8 V( v4 \- `               
小甲鱼最新课程 -> 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 | 显示全部楼层
都过去这么多天了,不知道您解决了没有....1 |% z! Q6 m/ I2 y

: d0 u$ t2 k* M/ ?/ {' I. l4 c
% m/ D3 l& d6 A& w' l# q
. h+ X+ @- k1 s- ]debug xxx.exe (xxx是你的文件名) 回车+ Z: s( q1 }; [! k! _. b$ X

; O& {% F2 G5 l8 @0 ~0 F-u  (查看程序的汇编指令) 回车1 I( b  `3 d( j( W# u$ [% j

, q' b* Z3 x# V9 p# [. B+ [) ^mov ax, xxxx (这里的XXXX原本是datasg, 现在变成了实际的datasg段的 段地址, 如: 1234)
5 a  o; N+ p0 r- q0 \mov ds, ax
+ u, U! ^& P% E! Dmov bx, 0: b: O- K0 X9 c* ^& Y% J
(下面的指令,略)
! q9 P9 `7 g1 h* g
, Y6 Z+ _& ?, [. i6 S  \-d 1234:0  回车, 就可以看到【程序执行前的数据段的内容】/ x% f6 P  X. k: G6 k  N

1 E$ ~% I+ G' r3 Y5 @8 j-g (执行程序) 回车,就可以看到【program terminated normally】6 l# N8 U2 F7 r, A
" m4 |  o* w# o. d
然后,再次  Q. l& r( u& q3 j
8 ~8 ?# I' [8 G
-d 1234:0  回车, 就可以看到【程序执行后的数据段的内容】
! ~9 R# U3 S0 r  i/ ~( {
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-28 22:18:22 | 显示全部楼层
我觉得可以在执行程序后2 p3 e; N, }. n4 R8 V. @4 b
-d  ds+10h:0
3 r* `2 n0 d- D- A& a/ N" M看要看的字母的数字 如果大于40小于61就是大写字母。
小甲鱼最新课程 -> https://ilovefishc.com

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

GMT+8, 2026-7-4 17:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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